Differential D13910 Diff 47377 source/blender/draw/engines/workbench/shaders/workbench_shadow_geom.glsl
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/workbench/shaders/workbench_shadow_geom.glsl
| #extension GL_ARB_gpu_shader5 : enable | #ifdef GPU_ARB_gpu_shader5 | ||||
| #ifdef GL_ARB_gpu_shader5 | |||||
| # define USE_INVOC_EXT | # define USE_INVOC_EXT | ||||
| #endif | #endif | ||||
| #ifdef DOUBLE_MANIFOLD | |||||
| # ifdef USE_INVOC_EXT | |||||
| # define invoc_len 2 | |||||
| # else | |||||
| # define vert_len 8 | |||||
| # endif | |||||
| #else | |||||
| # ifdef USE_INVOC_EXT | |||||
| # define invoc_len 1 | |||||
| # else | |||||
| # define vert_len 4 | |||||
| # endif | |||||
| #endif | |||||
| #ifdef USE_INVOC_EXT | |||||
| layout(lines_adjacency, invocations = invoc_len) in; | |||||
| layout(triangle_strip, max_vertices = 4) out; | |||||
| #else | |||||
| layout(lines_adjacency) in; | |||||
| layout(triangle_strip, max_vertices = vert_len) out; | |||||
| #endif | |||||
| uniform vec3 lightDirection = vec3(0.57, 0.57, -0.57); | |||||
| in VertexData | |||||
| { | |||||
| vec3 pos; /* local position */ | |||||
| vec4 frontPosition; /* final ndc position */ | |||||
| vec4 backPosition; | |||||
| } | |||||
| vData[]; | |||||
| #define DEGENERATE_TRIS_WORKAROUND | #define DEGENERATE_TRIS_WORKAROUND | ||||
| #define DEGENERATE_TRIS_AREA_THRESHOLD 4e-17 | #define DEGENERATE_TRIS_AREA_THRESHOLD 4e-17 | ||||
| #define len_sqr(a) dot(a, a) | #define len_sqr(a) dot(a, a) | ||||
| void extrude_edge(bool invert) | void extrude_edge(bool invert) | ||||
| { | { | ||||
| /* Reverse order if backfacing the light. */ | /* Reverse order if backfacing the light. */ | ||||
| ▲ Show 20 Lines • Show All 79 Lines • Show Last 20 Lines | |||||