0
Я написал шейдер для рассеянного освещения.
Нормали вращаются с поворотом 3D-модели, и это выглядит, когда я поворачиваю модель, свет вращается.Нормальный ход с моделью
Vertex Shader
position = gl_ModelViewMatrix * gl_Vertex;
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
normal = vec4(gl_Normal, 1.0); <---
gl_TexCoord[0] = gl_MultiTexCoord0;
Фрагмент Shader
lightVector = normalize(vec4(lightPosition + cameraPosition, 1.0) - position);
resultNormal = normalize(normal.xyz); <---
В каком пространстве являются нормали в изображении? Мировое пространство, пространство просмотров? Как вы их вычисляете? – BDL
релевантно: http://stackoverflow.com/questions/13654401/what-is-the-logic-behind-transforming-normals-with-the-transpose-of-the-verse – PeterT