29 lines
		
	
	
		
			370 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			370 B
		
	
	
	
		
			GLSL
		
	
	
	
	
	
| #version 400
 | |
| 
 | |
| uniform bl {
 | |
|     uniform mat4 m4;
 | |
|     uniform mat3 m3;
 | |
| } bName;
 | |
| 
 | |
| in vec3 v3;
 | |
| 
 | |
| vec3 xf(mat3 m, vec3 v)
 | |
| {
 | |
|     return v * m;
 | |
| }
 | |
| 
 | |
| mat3 Mat3(mat4 m)
 | |
| {
 | |
| 	return mat3(m[0].xyz, m[1].xyz, m[2].xyz);
 | |
| }
 | |
| 
 | |
| vec3 mxv(mat4 m4, vec3 v)
 | |
| {
 | |
| 	return v * Mat3(m4);
 | |
| }
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     gl_Position = vec4(mxv(bName.m4, v3) + xf(bName.m3, v3), 1.0);
 | |
| }
 | 
