본문 바로가기

Computer/JOGL15

JOGL - Applet based Omnidirectional Panorama 얼마 전 부터 Omnidirectional Panorama를 Web 상에서 Rendering하기 위한 방법을 찾고 있었다. Omnidirectional Panorama를 표현함에 있어, 두 가지 정도를 생각해 볼 수 있었는데, 첫째 전방위를 6장(상하좌우앞뒤)의 이미지로 나누어 표현하는 방법, 둘째 전방위 이미지를 Equirectangular Projection 형태로 1장의 이미지로 표현하는 방법이다. (보다 자세한 내용은 푸른하늘님의 블로그 http://www.internetmap.kr/을 참조) 간단히 각각의 주요한 장단점을 비교하면, Cubical Projection은 단지 각 6장의 이미지를 여러 크기별로 저장함으로서 간단한 LOD(Level Of Detail)이 가능하다. 예를들어 Level1.. 2010. 10. 16.
About gluUnProject Projection은 3D World Space상에 있는 Objects를 2D 화면상에 "투영" 하는 것. 3D Vertex -> [Projection Matrix -> ModelView Matrix] -> 2D Vertex 로 변환되는 과정이다. 3차원이 2차원으로 변환되면서, x, y, z 성분 중 z 성분이 사라지게 되는데, (여기서 말하는 z 성분이란, Viewer의 Front Vector를 기저로 하는 벡터) "엄밀히 말하면 사라지는 것"이 아니라, Depth 라는 값으로 변환되는 것. OpenGL에서는 어느 픽셀의 Depth값을 읽어 낼 수 있는 함수가 있다. float depth; glReadPixels( 픽셀위치X, 픽셀위치Y, 1, 1, GL_DEPTH_CONPONENT, GL_FLOAT.. 2008. 2. 2.
Geometry Plane Geometry 생성. 현재 파일은 *.raw 까지만 지원. 생성자의 매개변수(1.파일명, 2.가로버텍스수, 3.세로버텍스수, 4.가로버텍스간격, 5.세로버텍스간격) 중요한 것은 geo.buildPlane(256, 256, dX, dZ); 부분이다. Geometry 클래스에서 정해진 만큼 평면 매쉬를 생성한 후, HeightMapLoader 클래스 에서는 높이정보를 넣는다. *.raw 파일의 바이트 오더와 Geometry의 메쉬 인덱스 오더가 일치해야하는 것이 중요하다. 아직 미완성이며, 당연히 최적화는 없다. 생각컨데, 1. 프러스텀 컬링을 위해서는 glVertexPointer & glDrawElements 방식은 안될것 같다. -확인요. 2. 파일의 내용을 순서대로 읽을 것이라면, 굳이 b.. 2007. 8. 15.
11. Java Web Start Java Web Start와 같은 자동 다운로드 환경에서 .jar 을 사용하려면, 보안 및 공유 환경 때문에 고려할 몇가지 사항이 있다. - 일반적인 .jar 파일은 SandBox 보안 모델은 사용함으로, 다음과 같은 Local 시스템을 지원하지 못한다. . local disk 및 native library 사용 못함. . Network 자원은 자신이 download된 서버외에는 사용하지 못함. . Security Manager 설치 불가, System Property의 제한적 사용. - 상기한 보안상 제약을 해결하기 위해, signed JAR 파일을 사용해야 한다. 단계. 1. 자신의 .jar 파일 생성. 2. 인증서 생성. 3. 인증서를 jar에 등록. 방법 1. 키 생성. prompt> keytoo.. 2007. 8. 6.