59 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 330 core
 | |
| 
 | |
| 
 | |
| layout (triangles) in;
 | |
| layout (triangle_strip, max_vertices = 150) out;
 | |
| 
 | |
| uniform mat4 model;
 | |
| uniform mat4 view;
 | |
| uniform mat4 projection;
 | |
| 
 | |
| out vec3 origCoord;
 | |
| 
 | |
| void main() {
 | |
| 
 | |
|     vec4 triangle1Pos = gl_in[0].gl_Position;
 | |
| 
 | |
|     for(float x = 0; x < 5; x++){
 | |
|         for(float y = 0; y < 5; y++){
 | |
|             float xPos = x / 10.0;
 | |
|             float yPos = y / 10.0;
 | |
|             origCoord = (triangle1Pos + vec4( 0.0 + xPos, 0.5, 0.0 + yPos, 0.0)).xyz;
 | |
|             gl_Position = projection * view * model * (triangle1Pos + vec4( 0.0 + xPos, 0.0, 0.0 + yPos, 0.0)); 
 | |
|             EmitVertex();
 | |
|             origCoord = (triangle1Pos + vec4( 0.1 + xPos, 0.5, 0.0 + yPos, 0.0)).xyz;
 | |
|             gl_Position = projection * view * model * (triangle1Pos + vec4( 0.1 + xPos, 0.5, 0.0 + yPos, 0.0));
 | |
|             EmitVertex();
 | |
|             origCoord = (triangle1Pos + vec4( 0.05 + xPos, 1.0, 0.0 + yPos, 0.0)).xyz;
 | |
|             gl_Position = projection * view * model * (triangle1Pos + vec4( 0.0 + xPos, 1.0, 0.0 + yPos, 0.0));
 | |
|             EmitVertex();
 | |
|             EndPrimitive();
 | |
|         }
 | |
|         // EndPrimitive();
 | |
|     }
 | |
| 
 | |
| 
 | |
|     // gl_Position = projection * view * model * (gl_in[0].gl_Position + vec4( 1.0, 1.0, 0.0, 1.0)); 
 | |
|     // EmitVertex();
 | |
|     // gl_Position = projection * view * model * (gl_in[0].gl_Position + vec4( 0.0, 1.0, 0.0, 1.0));
 | |
|     // EmitVertex();
 | |
|     // gl_Position = projection * view * model * (gl_in[0].gl_Position + vec4( 0.0, 0.0, 0.0, 1.0));
 | |
|     // EmitVertex();
 | |
|     // EndPrimitive();
 | |
| 
 | |
|     // gl_Position = projection * view * model * (gl_in[1].gl_Position + vec4( 1.0, 0.0, 0.0, 1.0)); 
 | |
|     // EmitVertex();
 | |
|     // gl_Position = projection * view * model * (gl_in[1].gl_Position + vec4( 0.0, 1.0, 0.0, 1.0));
 | |
|     // EmitVertex();
 | |
|     // gl_Position = projection * view * model * (gl_in[1].gl_Position + vec4( 0.0, 0.0, 0.0, 1.0));
 | |
|     // EmitVertex();
 | |
|     // EndPrimitive();
 | |
| 
 | |
|     // gl_Position = projection * view * model * (gl_in[2].gl_Position + vec4( 1.0, 0.0, 0.0, 1.0)); 
 | |
|     // EmitVertex();
 | |
|     // gl_Position = projection * view * model * (gl_in[2].gl_Position + vec4( 0.0, 1.0, 0.0, 1.0));
 | |
|     // EmitVertex();
 | |
|     // gl_Position = projection * view * model * (gl_in[2].gl_Position + vec4( 0.0, 0.0, 0.0, 1.0));
 | |
|     // EmitVertex();
 | |
|     // EndPrimitive();
 | |
| }   |