Workbench: Use common_view_lib and remove NormalMatrix usage
This is in order to lower the number of matrices to compute.
This commit is contained in:
parent
a8a11d3537
commit
733811330c
Notes:
blender-bot
2023-10-13 01:54:23 +02:00
Referenced by issue #64284, Mirroed Collection Intances have flipped normals/face orientation.
|
@ -1,8 +1,5 @@
|
|||
out vec4 fragColor;
|
||||
|
||||
uniform mat4 ProjectionMatrix;
|
||||
uniform mat4 ViewMatrixInverse;
|
||||
|
||||
uniform usampler2D objectId;
|
||||
uniform sampler2D materialBuffer;
|
||||
uniform sampler2D normalBuffer;
|
||||
|
|
|
@ -4,8 +4,6 @@ uniform sampler2D image;
|
|||
uniform bool imageSrgb;
|
||||
uniform bool imageNearest;
|
||||
|
||||
uniform mat4 ProjectionMatrix;
|
||||
uniform mat4 ViewMatrixInverse;
|
||||
uniform float alpha = 0.5;
|
||||
uniform vec2 invertedViewportSize;
|
||||
uniform vec4 viewvecs[3];
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
uniform mat4 ModelViewProjectionMatrix;
|
||||
uniform mat4 ModelMatrix;
|
||||
uniform mat4 ModelMatrixInverse;
|
||||
uniform mat4 ProjectionMatrix;
|
||||
uniform mat4 ViewProjectionMatrix;
|
||||
uniform mat4 ViewMatrixInverse;
|
||||
uniform mat3 NormalMatrix;
|
||||
|
||||
uniform mat4 ModelViewProjectionMatrix;
|
||||
|
||||
#ifndef HAIR_SHADER
|
||||
in vec3 pos;
|
||||
|
@ -91,7 +88,7 @@ void main()
|
|||
#endif
|
||||
|
||||
#ifdef NORMAL_VIEWPORT_PASS_ENABLED
|
||||
normal_viewport = NormalMatrix * nor;
|
||||
normal_viewport = transform_normal_object_to_view(nor);
|
||||
# ifndef HAIR_SHADER
|
||||
normal_viewport = normalize(normal_viewport);
|
||||
# endif
|
||||
|
|
|
@ -91,6 +91,7 @@ static struct {
|
|||
|
||||
/* Shaders */
|
||||
extern char datatoc_common_hair_lib_glsl[];
|
||||
extern char datatoc_common_view_lib_glsl[];
|
||||
|
||||
extern char datatoc_workbench_prepass_vert_glsl[];
|
||||
extern char datatoc_workbench_prepass_frag_glsl[];
|
||||
|
@ -119,6 +120,7 @@ static char *workbench_build_composite_frag(WORKBENCH_PrivateData *wpd)
|
|||
{
|
||||
DynStr *ds = BLI_dynstr_new();
|
||||
|
||||
BLI_dynstr_append(ds, datatoc_common_view_lib_glsl);
|
||||
BLI_dynstr_append(ds, datatoc_workbench_data_lib_glsl);
|
||||
BLI_dynstr_append(ds, datatoc_workbench_common_lib_glsl);
|
||||
BLI_dynstr_append(ds, datatoc_workbench_background_lib_glsl);
|
||||
|
@ -159,6 +161,7 @@ static char *workbench_build_prepass_vert(bool is_hair)
|
|||
if (is_hair) {
|
||||
BLI_dynstr_append(ds, datatoc_common_hair_lib_glsl);
|
||||
}
|
||||
BLI_dynstr_append(ds, datatoc_common_view_lib_glsl);
|
||||
BLI_dynstr_append(ds, datatoc_workbench_prepass_vert_glsl);
|
||||
char *str = BLI_dynstr_get_cstring(ds);
|
||||
BLI_dynstr_free(ds);
|
||||
|
|
|
@ -68,6 +68,7 @@ static struct {
|
|||
|
||||
/* Shaders */
|
||||
extern char datatoc_common_hair_lib_glsl[];
|
||||
extern char datatoc_common_view_lib_glsl[];
|
||||
|
||||
extern char datatoc_workbench_forward_composite_frag_glsl[];
|
||||
extern char datatoc_workbench_forward_depth_frag_glsl[];
|
||||
|
@ -88,6 +89,7 @@ static char *workbench_build_forward_vert(bool is_hair)
|
|||
if (is_hair) {
|
||||
BLI_dynstr_append(ds, datatoc_common_hair_lib_glsl);
|
||||
}
|
||||
BLI_dynstr_append(ds, datatoc_common_view_lib_glsl);
|
||||
BLI_dynstr_append(ds, datatoc_workbench_prepass_vert_glsl);
|
||||
|
||||
char *str = BLI_dynstr_get_cstring(ds);
|
||||
|
@ -99,6 +101,7 @@ static char *workbench_build_forward_transparent_accum_frag(void)
|
|||
{
|
||||
DynStr *ds = BLI_dynstr_new();
|
||||
|
||||
BLI_dynstr_append(ds, datatoc_common_view_lib_glsl);
|
||||
BLI_dynstr_append(ds, datatoc_workbench_data_lib_glsl);
|
||||
BLI_dynstr_append(ds, datatoc_workbench_common_lib_glsl);
|
||||
BLI_dynstr_append(ds, datatoc_workbench_world_light_lib_glsl);
|
||||
|
|
Loading…
Reference in New Issue