diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-05-09 01:27:11 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-05-09 01:27:11 +0300 |
commit | e2d04229c38b16e340f66c9e106e49277b2186e3 (patch) | |
tree | ba3abc90334b229bc2406d2f4bae1b18e1c78694 /source | |
parent | 1a99b6fc7e8e2d670bc5ceed23ecc84020a10555 (diff) |
DRW: Remove support for NormalMatrix
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/draw/intern/draw_manager.h | 3 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_manager_data.c | 7 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_manager_exec.c | 12 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_codegen.c | 1 |
4 files changed, 4 insertions, 19 deletions
diff --git a/source/blender/draw/intern/draw_manager.h b/source/blender/draw/intern/draw_manager.h index 496e5b785bf..93a23643c36 100644 --- a/source/blender/draw/intern/draw_manager.h +++ b/source/blender/draw/intern/draw_manager.h @@ -103,7 +103,6 @@ enum { DRW_CALL_MODELVIEW = (1 << 1), DRW_CALL_MODELVIEWINVERSE = (1 << 2), DRW_CALL_MODELVIEWPROJECTION = (1 << 3), - DRW_CALL_NORMALVIEW = (1 << 4), DRW_CALL_ORCOTEXFAC = (1 << 7), DRW_CALL_OBJECTINFO = (1 << 8), }; @@ -124,7 +123,6 @@ typedef struct DRWCallState { float modelview[4][4]; float modelviewinverse[4][4]; float modelviewprojection[4][4]; - float normalview[3][3]; float orcotexfac[2][3]; /* Not view dependent */ float objectinfo[2]; } DRWCallState; @@ -255,7 +253,6 @@ struct DRWShadingGroup { int modelview; int modelviewinverse; int modelviewprojection; - int normalview; int orcotexfac; int callid; int objectinfo; diff --git a/source/blender/draw/intern/draw_manager_data.c b/source/blender/draw/intern/draw_manager_data.c index deabffdaa0d..13ab4749319 100644 --- a/source/blender/draw/intern/draw_manager_data.c +++ b/source/blender/draw/intern/draw_manager_data.c @@ -837,11 +837,13 @@ static void drw_shgroup_init(DRWShadingGroup *shgroup, GPUShader *shader) shgroup->modelview = GPU_shader_get_builtin_uniform(shader, GPU_UNIFORM_MODELVIEW); shgroup->modelviewinverse = GPU_shader_get_builtin_uniform(shader, GPU_UNIFORM_MODELVIEW_INV); shgroup->modelviewprojection = GPU_shader_get_builtin_uniform(shader, GPU_UNIFORM_MVP); - shgroup->normalview = GPU_shader_get_builtin_uniform(shader, GPU_UNIFORM_NORMAL); shgroup->orcotexfac = GPU_shader_get_builtin_uniform(shader, GPU_UNIFORM_ORCO); shgroup->objectinfo = GPU_shader_get_builtin_uniform(shader, GPU_UNIFORM_OBJECT_INFO); shgroup->callid = GPU_shader_get_builtin_uniform(shader, GPU_UNIFORM_CALLID); + /* We do not support normal matrix anymore. */ + BLI_assert(GPU_shader_get_builtin_uniform(shader, GPU_UNIFORM_NORMAL) == -1); + shgroup->matflag = 0; if (shgroup->modelinverse > -1) { shgroup->matflag |= DRW_CALL_MODELINVERSE; @@ -855,9 +857,6 @@ static void drw_shgroup_init(DRWShadingGroup *shgroup, GPUShader *shader) if (shgroup->modelviewprojection > -1) { shgroup->matflag |= DRW_CALL_MODELVIEWPROJECTION; } - if (shgroup->normalview > -1) { - shgroup->matflag |= DRW_CALL_NORMALVIEW; - } if (shgroup->orcotexfac > -1) { shgroup->matflag |= DRW_CALL_ORCOTEXFAC; } diff --git a/source/blender/draw/intern/draw_manager_exec.c b/source/blender/draw/intern/draw_manager_exec.c index 51ec38088c3..d0faed8e261 100644 --- a/source/blender/draw/intern/draw_manager_exec.c +++ b/source/blender/draw/intern/draw_manager_exec.c @@ -792,7 +792,7 @@ static void draw_matrices_model_prepare(DRWCallState *st) return; } /* Order matters */ - if (st->matflag & (DRW_CALL_MODELVIEW | DRW_CALL_MODELVIEWINVERSE | DRW_CALL_NORMALVIEW)) { + if (st->matflag & (DRW_CALL_MODELVIEW | DRW_CALL_MODELVIEWINVERSE)) { mul_m4_m4m4(st->modelview, DST.view_data.matstate.mat[DRW_MAT_VIEW], st->model); } if (st->matflag & DRW_CALL_MODELVIEWINVERSE) { @@ -801,11 +801,6 @@ static void draw_matrices_model_prepare(DRWCallState *st) if (st->matflag & DRW_CALL_MODELVIEWPROJECTION) { mul_m4_m4m4(st->modelviewprojection, DST.view_data.matstate.mat[DRW_MAT_PERS], st->model); } - if (st->matflag & (DRW_CALL_NORMALVIEW)) { - copy_m3_m4(st->normalview, st->modelview); - invert_m3(st->normalview); - transpose_m3(st->normalview); - } } static void draw_geometry_prepare(DRWShadingGroup *shgroup, DRWCall *call) @@ -836,10 +831,6 @@ static void draw_geometry_prepare(DRWShadingGroup *shgroup, DRWCall *call) 1, (float *)state->modelviewprojection); } - if (shgroup->normalview != -1) { - GPU_shader_uniform_vector( - shgroup->shader, shgroup->normalview, 9, 1, (float *)state->normalview); - } if (shgroup->objectinfo != -1) { float objectinfo[4]; objectinfo[0] = state->objectinfo[0]; @@ -854,7 +845,6 @@ static void draw_geometry_prepare(DRWShadingGroup *shgroup, DRWCall *call) } } else { - BLI_assert((shgroup->normalview == -1)); /* For instancing and batching. */ float unitmat[4][4]; unit_m4(unitmat); diff --git a/source/blender/gpu/intern/gpu_codegen.c b/source/blender/gpu/intern/gpu_codegen.c index 2c42cc654e2..a2c1a01a82c 100644 --- a/source/blender/gpu/intern/gpu_codegen.c +++ b/source/blender/gpu/intern/gpu_codegen.c @@ -1038,7 +1038,6 @@ static char *code_generate_vertex(ListBase *nodes, const char *vert_code, bool u BLI_dynstr_append(ds, "#define USE_ATTR\n" - "uniform mat3 NormalMatrix;\n" "uniform mat4 ModelMatrixInverse;\n" "uniform mat4 ModelMatrix;\n" "vec3 srgb_to_linear_attr(vec3 c) {\n" |