Хорошо, в моем шейдере фрагмента GLSL я хочу иметь возможность рассчитать расстояние фрагмента от конкретной строки в пространстве.
В результате я сначала пытаюсь использовать переменный набор vec2 в моем вершинном шейдере, чтобы отразить то, что заканчивается в gl_FragCoord
:
varying vec2 fake_frag_coord;
//in vertex shader:
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
fake_frag_coord=(gl_ModelViewProjectionMatrix * gl_Vertex).xy;
Теперь в шейдере фрагмента я ожидаю:
gl_FragCoord.xy==fake_frag_coord
Но это не так. Какую операцию выполняет трубопровод на gl_Position
, чтобы превратить его в gl_FragCoord
, на который я пренебрегаю делать на fake_frag_coord
?