-1
我剛開始寫的Phong着色器GLSL海防光燈,拍照問題
vert:
varying vec3 normal, eyeVec;
#define MAX_LIGHTS 8
#define NUM_LIGHTS 3
varying vec3 lightDir[MAX_LIGHTS];
void main() {
gl_Position = ftransform();
normal = gl_NormalMatrix * gl_Normal;
vec4 vVertex = gl_ModelViewMatrix * gl_Vertex;
eyeVec = -vVertex.xyz;
int i;
for (i=0; i<NUM_LIGHTS; ++i){
lightDir[i] = vec3(gl_LightSource[i].position.xyz - vVertex.xyz);
}
}
我知道,我需要讓相機位置uniform
,而是如何,在哪裏把這個價值?
ps。我使用的是opengl 2.0
「OpenGL中沒有攝像頭」哈哈*心靈打擊*。但也有人說,相機總是在原點...... – Calvin1602 2011-05-27 23:35:34
@ Calvin1602:不,在OpenGL中沒有相機;或任何其他光柵化器說。這與實際模擬真實相機行爲的一些基於物理學的渲染器不同。你在OpenGL中有幾何變換。這可能聽起來像挑剔,但他們說,魔鬼在細節。 – datenwolf 2011-05-28 05:43:51
我知道 - 我只是想說當你第一次聽到這些時它很奇怪。非常直觀。 – Calvin1602 2011-05-28 09:04:17