2014-10-19 18 views
5

Bir dosyadan yükseklik haritası okuyorum ve bunu üçgen şeritler kullanarak yapıyorum.Opengl sahnesinde neden derinlik arabellek sorunları var?

heightmap: Çok iyi çalışıyor

enter image description here

, işte bu böyle görünecektir:

enter image description here

O ancak sadece bu yönden, tamam görünüyor. Ben Kameraya biraz açarsanız bu oluyor başlar: benim derinlik tampon bozuk sanki görünüyor

enter image description here

. Etkinleştirdim ve diğer geometrilerle iyi çalışıyor.

Daha önce böyle bir sorunu olan var mı? Ne arayacağımı bile bilmiyorum. Teşekkürler!

Düzenleme:

My izdüşüm matrisi kurulumu:

1,2062851 0,0 0,0 0,0

0,0 2,1445069 0,0 0,0

0,0 0,0 -1,0 -1,0

0,0 0,0 -0,2 0,0

_fieldOfView(50.0f), 
_nearPlane(0.1f), 
_farPlane(10000.0f), 
_viewportAspectRatio(16.0f/9.0f) 
+0

Projeksiyon matrisinizin kurulumunu ve ayrıca heightmap dosya içeriğini gösterebilir misiniz? :) – Iggy

+0

Ayrıca, yapay ortamları görsel olarak kontrol etmek için tel kafes modunu açmanıza da yardımcı olabilir. glPolygonMode (GL_FRONT_AND_BACK, GL_LINE); – Iggy

+0

Hey, cevapladığınız için teşekkürler. Soruyu güncelledim. tel kafes etkinleştirilmesi ilk yaptığım ve orada iyi görünüyor - http://i.snag.gy/fKpx1.jpg – qwertzguy

cevap

0

Yararlı yorumlarınız için hepinize teşekkür ederiz. Sorunu buldum ve bu soruna sahip olanların çözümü faydalı bulacağını umuyorum. Her bir çerçeveden önce derinlik ara belleğini (glEnable (GL_DEPTH_TEST)) yeniden oluşturmalıydım. Bunun küresel bir devlet olduğu izlenimindeydim ve bu yüzden her yaptığım zaman sıfırlanması gerekmeyecekti.

son ürün hiçbir derinlik tampon sorunları ile, şuna benzer: neyse

enter image description here

, bu birilerini yardımcı olur.

+6

Aslında 'glEnable (GL_DEPTH_TEST)' genel bir durumdur. – concept3d

+7

Programınızda bir yerde 'GL_DEPTH_TEST' durumunu güncelliyor olabilirsiniz, GL_DEPTH_TEST'in tüm örneklerini nasıl ele aldığınızı kontrol altına aldığınızdan emin olun. –

+0

Yanıtlarınız için teşekkürler, bunu kontrol edecektir. – qwertzguy