diff options
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl')
-rw-r--r-- | source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl b/source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl index 1a32a202290..7327a92e04f 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_volume_vert.glsl @@ -5,6 +5,8 @@ uniform float slicePosition; uniform int sliceAxis; /* -1 is no slice, 0 is X, 1 is Y, 2 is Z. */ +uniform mat4 volumeTextureToObject; + in vec3 pos; RESOURCE_ID_VARYING @@ -31,7 +33,12 @@ void main() #else vec3 final_pos = pos; #endif + +#ifdef VOLUME_SMOKE final_pos = ((final_pos * 0.5 + 0.5) - OrcoTexCoFactors[0].xyz) / OrcoTexCoFactors[1].xyz; +#else + final_pos = (volumeTextureToObject * vec4(final_pos * 0.5 + 0.5, 1.0)).xyz; +#endif gl_Position = point_object_to_ndc(final_pos); PASS_RESOURCE_ID |