Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/eevee/shaders/volumetric_vert.glsl
| #pragma BLENDER_REQUIRE(common_view_lib.glsl) | #pragma BLENDER_REQUIRE(common_view_lib.glsl) | ||||
| out vec4 vPos; | |||||
| RESOURCE_ID_VARYING | |||||
| void main() | void main() | ||||
| { | { | ||||
| /* Generate Triangle : less memory fetches from a VBO */ | /* Generate Triangle : less memory fetches from a VBO */ | ||||
| int v_id = gl_VertexID % 3; /* Vertex Id */ | int v_id = gl_VertexID % 3; /* Vertex Id */ | ||||
| int t_id = gl_VertexID / 3; /* Triangle Id */ | int t_id = gl_VertexID / 3; /* Triangle Id */ | ||||
| /* Crappy diagram | /* Crappy diagram | ||||
| * ex 1 | * ex 1 | ||||
| * | \ | * | \ | ||||
| * | \ | * | \ | ||||
| * 1 | \ | * 1 | \ | ||||
| * | \ | * | \ | ||||
| * | \ | * | \ | ||||
| * 0 | \ | * 0 | \ | ||||
| * | \ | * | \ | ||||
| * | \ | * | \ | ||||
| * -1 0 --------------- 2 | * -1 0 --------------- 2 | ||||
| * -1 0 1 ex | * -1 0 1 ex | ||||
| */ | */ | ||||
| vPos.x = float(v_id / 2) * 4.0 - 1.0; /* int divisor round down */ | volumetric_vert_iface.vPos.x = float(v_id / 2) * 4.0 - 1.0; /* int divisor round down */ | ||||
| vPos.y = float(v_id % 2) * 4.0 - 1.0; | volumetric_vert_iface.vPos.y = float(v_id % 2) * 4.0 - 1.0; | ||||
| vPos.z = float(t_id); | volumetric_vert_iface.vPos.z = float(t_id); | ||||
| vPos.w = 1.0; | volumetric_vert_iface.vPos.w = 1.0; | ||||
| PASS_RESOURCE_ID | PASS_RESOURCE_ID | ||||
| #ifdef GPU_METAL | |||||
| volumetric_geom_iface.slice = int(volumetric_vert_iface.vPos.z); | |||||
| MTLRenderTargetArrayIndex = int(volumetric_vert_iface.vPos.z); | |||||
| gl_Position = volumetric_vert_iface.vPos.xyww; | |||||
| #endif | |||||
| } | } | ||||
| /* Stubs */ | /* Stubs */ | ||||
| vec2 btdf_lut(float a, float b, float c) | vec2 btdf_lut(float a, float b, float c) | ||||
| { | { | ||||
| return vec2(0.0); | return vec2(0.0); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 54 Lines • Show Last 20 Lines | |||||