GPU: Remove ModelViewMatrix and ModelViewMatrixInverse usage
This commit is contained in:
parent
49a7031caa
commit
b13e0568d3
|
@ -883,10 +883,11 @@ static char *code_generate_fragment(GPUMaterial *material,
|
|||
BLI_dynstr_append(ds, "\t#define viewinv ViewMatrixInverse\n");
|
||||
}
|
||||
if (builtins & GPU_LOC_TO_VIEW_MATRIX) {
|
||||
BLI_dynstr_append(ds, "\t#define localtoviewmat ModelViewMatrix\n");
|
||||
BLI_dynstr_append(ds, "\t#define localtoviewmat (ViewMatrix * ModelMatrix)\n");
|
||||
}
|
||||
if (builtins & GPU_INVERSE_LOC_TO_VIEW_MATRIX) {
|
||||
BLI_dynstr_append(ds, "\t#define invlocaltoviewmat ModelViewMatrixInverse\n");
|
||||
BLI_dynstr_append(ds,
|
||||
"\t#define invlocaltoviewmat (ModelMatrixInverse * ViewMatrixInverse)\n");
|
||||
}
|
||||
if (builtins & GPU_VIEW_NORMAL) {
|
||||
BLI_dynstr_append(ds, "#ifdef HAIR_SHADER\n");
|
||||
|
|
|
@ -35,12 +35,12 @@ void main()
|
|||
{
|
||||
vec3 eye;
|
||||
|
||||
mat4 ModelViewMatrix = ViewMatrix * InstanceModelMatrix;
|
||||
mat4 model_view_matrix = ViewMatrix * InstanceModelMatrix;
|
||||
|
||||
vec4 pos_4d = vec4(pos, 1.0);
|
||||
MV_pos = ModelViewMatrix * pos_4d;
|
||||
MV_pos = model_view_matrix * pos_4d;
|
||||
|
||||
mat3 normal_matrix = transpose(inverse(mat3(ModelViewMatrix)));
|
||||
mat3 normal_matrix = transpose(inverse(mat3(model_view_matrix)));
|
||||
|
||||
/* if persp */
|
||||
if (ProjectionMatrix[3][3] == 0.0) {
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
|
||||
uniform mat4 ModelViewMatrix;
|
||||
uniform mat4 ModelViewMatrixInverse;
|
||||
|
||||
#ifndef USE_ATTR
|
||||
uniform mat4 ModelMatrix;
|
||||
uniform mat4 ModelMatrixInverse;
|
||||
|
@ -1734,11 +1731,11 @@ void node_tex_environment_texco(vec3 viewvec, out vec3 worldvec)
|
|||
vec4 v = (ProjectionMatrix[3][3] == 0.0) ? vec4(viewvec, 1.0) : vec4(0.0, 0.0, 1.0, 1.0);
|
||||
vec4 co_homogenous = (ProjectionMatrixInverse * v);
|
||||
|
||||
vec4 co = vec4(co_homogenous.xyz / co_homogenous.w, 0.0);
|
||||
vec3 co = co_homogenous.xyz / co_homogenous.w;
|
||||
# if defined(WORLD_BACKGROUND) || defined(PROBE_CAPTURE)
|
||||
worldvec = (ViewMatrixInverse * co).xyz;
|
||||
worldvec = mat3(ViewMatrixInverse) * co;
|
||||
# else
|
||||
worldvec = (ModelViewMatrixInverse * co).xyz;
|
||||
worldvec = mat3(ModelMatrixInverse) * (mat3(ViewMatrixInverse) * co);
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue