You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Vertex shader:
// ================
#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec3 aNormal;
out vec3 FragPos;
out vec3 Normal;
out vec3 LightPos;
uniform vec3 lightPos; // we now define the uniform in the vertex shader and pass the 'view space' lightpos to the fragment shader. lightPos is currently in world space.
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
void main()
{
gl_Position = projection * view * model * vec4(aPos, 1.0);
FragPos = vec3(view * model * vec4(aPos, 1.0));
Normal = mat3(transpose(inverse(view * model))) * aNormal;
LightPos = vec3(view * vec4(lightPos, 1.0)); // Transform world-space light position to view-space light position
}
Here is the solution the tutitual supplied. LightPos = vec3(view * vec4(lightPos, 1.0)); // Transform world-space light position to view-space light position Here why didn't lightPos multiply model matrix? Is the lightPos already in world space, so lightPos didn't need multiply model matrix? Shouldn't it be LightPos = vec3(view * model * vec4(lightPos, 1.0))?
The text was updated successfully, but these errors were encountered:
Here is the solution the tutitual supplied.
LightPos = vec3(view * vec4(lightPos, 1.0)); // Transform world-space light position to view-space light position
Here why didn't lightPos multiply model matrix? Is the lightPos already in world space, so lightPos didn't need multiply model matrix? Shouldn't it beLightPos = vec3(view * model * vec4(lightPos, 1.0))
?The text was updated successfully, but these errors were encountered: