Я хочу настроить цвета в зависимости от того, какое положение xyz они находятся в мире.
Я пробовал это в своем шейдере фрагмента:
varying vec4 verpos;
void main(){
vec4 c;
c.x = verpos.x;
c.y = verpos.y;
c.z = verpos.z;
c.w = 1.0;
gl_FragColor = c;
}
но кажется, что цвета меняются в зависимости от угла/положения камеры, как я могу сделать коорды независимыми от положения/угла камеры?
Вот мой шейдер вершин:
varying vec4 verpos;
void main(){
gl_Position = ftransform();
verpos = gl_ModelViewMatrix*gl_Vertex;
}
Edit2: изменено название, поэтому я хочу, чтобы мировые коорды, а не экранные координаты!
Edit3: добавлен мой полный код