Tamam, benim GLSL parça gölgelendirici ben uzayda belirli bir hattan parçanın mesafeyi hesaplamak mümkün istiyorum.GLSL içinde gl_FragCoord nasıl hesaplanır
varying vec2 fake_frag_coord;
//in vertex shader:
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
fake_frag_coord=(gl_ModelViewProjectionMatrix * gl_Vertex).xy;
Şimdi parça gölgelendirici beklediğim:
Bunun sonucu ilk gl_FragCoord
biter neyi yansıtmak benim köşe gölgelendiricisi değişen vec2 kümesi kullanmak çalışıyorum olmasıdır
gl_FragCoord.xy==fake_frag_coord
Ama öyle değil. gl_Position
'da boru hattı fake_frag_coord
10'da yapmamayı ihmal ettiğim gl_FragCoord
'a çevirmek için ne yapar?
Sana yanlış biri olmadığını, ancak potansiyel gl_ModelViewProjectionMatrix * gl_Vertex kullanarak hesaplama hataları tanıtan konusunda haklı. – karx11erx
Nitpick: Rasterizasyon işlemi sırasında (köşe gölgelendirici ve parça gölgelendirici arasında) perspektif bölümlemesini gerçekleştirmediğinizden, normalize edilmiş cihaz koordinatlarından ziyade size klipsli alan koordinatları vereceksiniz. http://www.glprogramming.com/red/chapter03.html#name1 – Pike65
@ Pike65 Bu sadece bir nitpick değil, bir perspektif izdüşümü için tamamen farklı değerler elde etmelidir. –