Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/eevee_surface_lookdev_vert.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/eevee_surface_lookdev_vert.glsl34
1 files changed, 34 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/eevee_surface_lookdev_vert.glsl b/source/blender/draw/engines/eevee/shaders/eevee_surface_lookdev_vert.glsl
new file mode 100644
index 00000000000..1fc84f1f267
--- /dev/null
+++ b/source/blender/draw/engines/eevee/shaders/eevee_surface_lookdev_vert.glsl
@@ -0,0 +1,34 @@
+
+/**
+ * Custom vertex shader for rendering the lookdev overlay (reference material spheres).
+ * The input mesh is a sphere. The output is a flattened version that will render at depth 0.
+ **/
+
+#pragma BLENDER_REQUIRE(common_view_lib.glsl)
+#pragma BLENDER_REQUIRE(eevee_surface_lib.glsl)
+
+in vec3 pos;
+in vec3 nor;
+
+/* TODO(fclem) remove use of macro. use interface block instead. */
+RESOURCE_ID_VARYING
+
+void main(void)
+{
+ interp.P = pos;
+ interp.N = nor;
+ interp.barycentric_coords = vec2(0.0);
+ interp.barycentric_dists = vec3(0.0);
+
+ PASS_RESOURCE_ID
+
+ /* Camera transform is passed via the model matrix. */
+ gl_Position.xyz = transform_direction(ModelMatrix, interp.P);
+ /* Apply packed bias & scale. */
+ gl_Position.xy *= ModelMatrix[3].xy;
+ gl_Position.xy += ModelMatrix[3].zw;
+
+ /* Override depth. */
+ gl_Position.z = -1.0;
+ gl_Position.w = 1.0;
+}