Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/shaders/gpu_shader_vertex.glsl
| Context not available. | |||||
| } outpt; | } outpt; | ||||
| #endif | #endif | ||||
| #ifdef USE_INSTANCING | |||||
| in mat3 ininstmatrix; | |||||
| in vec3 ininstposition; | |||||
| in vec4 ininstcolor; | |||||
| varying vec4 varinstcolor; | |||||
| varying mat4 varinstmat; | |||||
| varying mat4 varinstinvmat; | |||||
| varying mat4 varinstlocaltoviewmat; | |||||
| varying mat4 varinstinvlocaltoviewmat; | |||||
| uniform mat4 unfviewmat; | |||||
| #endif | |||||
| varying vec3 varposition; | varying vec3 varposition; | ||||
| varying vec3 varnormal; | varying vec3 varnormal; | ||||
| Context not available. | |||||
| vec3 normal = gl_Normal; | vec3 normal = gl_Normal; | ||||
| #endif | #endif | ||||
| #ifdef USE_INSTANCING | |||||
| mat4 instmat = mat4(vec4(ininstmatrix[0], ininstposition.x), | |||||
| vec4(ininstmatrix[1], ininstposition.y), | |||||
| vec4(ininstmatrix[2], ininstposition.z), | |||||
| vec4(0.0, 0.0, 0.0, 1.0)); | |||||
| varinstmat = transpose(instmat); | |||||
| varinstlocaltoviewmat = unfviewmat * varinstmat; | |||||
| varinstinvmat = inverse(varinstmat); | |||||
| varinstinvlocaltoviewmat = inverse(varinstlocaltoviewmat); | |||||
| varinstcolor = ininstcolor; | |||||
| position *= instmat; | |||||
| normal *= ininstmatrix; | |||||
| #endif | |||||
| vec4 co = gl_ModelViewMatrix * position; | vec4 co = gl_ModelViewMatrix * position; | ||||
| varposition = co.xyz; | varposition = co.xyz; | ||||
| Context not available. | |||||