24 lines
		
	
	
		
			565 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			565 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
#version 330 core
 | 
						|
layout (location = 0) in vec3 aPos;
 | 
						|
layout (location = 1) in vec3 aNormal;
 | 
						|
layout (location = 2) in float aDetail;
 | 
						|
 | 
						|
out vec3 FragPos;
 | 
						|
out vec3 Normal;
 | 
						|
out vec3 WorldPos;
 | 
						|
out float Detail;
 | 
						|
 | 
						|
uniform mat4 model;
 | 
						|
uniform mat4 view;
 | 
						|
uniform mat4 projection;
 | 
						|
 | 
						|
void main() {
 | 
						|
  /* Pass position and normal vectors to the fragment shader in world space. */
 | 
						|
  FragPos = vec3(model * vec4(aPos, 1.0));
 | 
						|
  WorldPos = FragPos;
 | 
						|
  Normal  = mat3(transpose(inverse(model))) * aNormal;
 | 
						|
  Detail = aDetail;
 | 
						|
 | 
						|
  gl_Position = projection * view * vec4(FragPos, 1.0);
 | 
						|
}
 |