2011-03-14 5 views
3

OpenGL을 배우고 있으며 gluPerspective에 문제가 있습니다. 여기에 초기화에서 내가 사용하는 코드()OpenGL이 객체 그리기를 중단하는 거리 (zfar/gluPerspective)를 늘리려면 어떻게해야합니까?

// Calculate The Aspect Ratio Of The Window 
// The parameters are: 
// (view angle, aspect ration of the width to the height, 
// The closest distance to the camera before it clips, 
// FOV, Ratio, The farthest distance before it stops drawing) 
gluPerspective(45.0f,(GLfloat)width/(GLfloat)height, 0.5f, 3000.0f); 

내 장면 잘 작동합니다 ..하지만 최대한 빨리 내 개체에서 조금 멀리 가서 그들은 (이미지에서 빨간색 볼로) 퀘스 트 로그에서 사라질. : Frustrum example Web where I took graph from

빨간 공이 보이지 않고 보이지 않는다는 것을 알고 있습니다. 그래서 내가 원하는 것은 그리기를 멈추는 거리를 늘리는 것입니다. 내가 3000.0f 증가 시도했지만 작동하지 않습니다!.

gluPerspective(45.0f,(GLfloat)width/(GLfloat)height, 0.5f, 3000000.0f); 

그래서 내 질문은 : 가 어떻게 OpenGL을 그리기 개체를 정지 거리를 증가시킬 수있다? 이 문제에 대한

일부 사진 : Pic1 Pic2

+0

나는 http://webcache.googleusercontent.com/search?q=cache:-rnJ929O4dgJ:www.sjbaker.org/steve/omniv/love_your_z_buffer.html+로 (많이 인터넷 검색을 보냈다 정보를 많이 발견했다 http://www.sjbaker.org/steve/omniv/love_your_z_buffer.html&cd=1&hl=en&ct=clnk&gl=uk&source=www.google.co.uk)하지만 왜 제대로 작동하지 않고 어떻게해야하는지 완전히 이해하지 못합니다. 그것. OpenGL을 배우고 있다는 것을 명심하십시오. –

답변

4

내가 지금 무슨 일이 일어 났는지 알아 낸 나는 미래에 다른 사람들을 돕기 위해이 자신을 대답 :

는 zfar이 작품을 좋아 변경. 내가 가지고 있었던 문제 (단순화를위한 질문에 포함되지 않았다)는 나의 스카이 박스였다. Skybox는 작았고 하늘로 물체를 숨기고있었습니다. pic2에서 쉽게 볼 수 있습니다!

비슷한 문제가있는 경우 스카이 박스를 다시 확인하십시오. 그것이 zfar 문제라면, 하늘의 질감 대신에 은 반드시 검은 색이어야합니다!

+3

깊이 쓰기 기능을 사용하지 않고 skybox 그리기 : glDepthMask (GL_FALSE); draw_skybox(); glDepthMask (GL_TRUE); – datenwolf

+0

좋은 지적. 링크 된 사진을 보지 못했습니다 :) – Thomas

+0

답변에 댓글에 사진을 추가하고 나중에 원래 질문에 추가했습니다. –

3

근거리 및 원거리 값은 깊이 버퍼의 정밀도를 정의합니다. 근거리와 원거리의 비율이 높을수록 버퍼 정확도 오류가 심화됩니다. 따라서 깊이 버퍼가 실제로 객체를 그리는 것을 허용 할 수 있지만, 작고 서로 가깝다면 여전히 보이지 않을 수 있습니다 (거부되거나 초과 축소 될 수 있음).

3000.0f에서 10000.0f로 증가하면 여전히 작동 할 수 있습니다. 당신 물건은 얼마나 큽니까?

왜 처음부터 큰 시야가 필요합니까? 아마도 귀하의 필요에 더 잘 맞는 다른 접근법이있을 수 있습니다.

+0

** 물체의 크기 ** : 1.0f 크기의 큰 건물 (인력 륜)을 그린 후 70.0f 크기로 조정합니다. 여기에서 개체 크기를 볼 수 있습니다. http://i1188.photobucket.com/albums/z416/cad_vga/Attraction/Capt1.png 문제는 여기에 있습니다. http://i1188.photobucket.com/ 앨범/z416/cad_vga/매력/Capt2.png –

관련 문제