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:
authorClément Foucault <foucault.clem@gmail.com>2017-06-15 01:10:34 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-06-15 01:57:16 +0300
commitcac851a00e0b654e9cc3ab9c4226e5cfab5f5f3d (patch)
tree519972b4c811d4efe6993bf2c41d43a97b7c5a0f /source/blender/draw/engines/eevee/shaders/lightprobe_cube_display_frag.glsl
parent810464e5f721a14bc3b6e3071f63a93f2ff68043 (diff)
Eevee: Probes: Add data display for cubemaps.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/lightprobe_cube_display_frag.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/lightprobe_cube_display_frag.glsl24
1 files changed, 24 insertions, 0 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/lightprobe_cube_display_frag.glsl b/source/blender/draw/engines/eevee/shaders/lightprobe_cube_display_frag.glsl
new file mode 100644
index 00000000000..d651a866433
--- /dev/null
+++ b/source/blender/draw/engines/eevee/shaders/lightprobe_cube_display_frag.glsl
@@ -0,0 +1,24 @@
+
+uniform mat4 ProjectionMatrix;
+uniform mat4 ViewMatrixInverse;
+
+uniform sampler2DArray probeCubes;
+uniform float lodMax;
+
+flat in int pid;
+in vec3 worldNormal;
+in vec3 worldPosition;
+
+out vec4 FragColor;
+
+#define cameraForward normalize(ViewMatrixInverse[2].xyz)
+#define cameraPos ViewMatrixInverse[3].xyz
+
+void main()
+{
+ vec3 V = (ProjectionMatrix[3][3] == 0.0) /* if perspective */
+ ? normalize(cameraPos - worldPosition)
+ : cameraForward;
+ vec3 N = normalize(worldNormal);
+ FragColor = vec4(textureLod_octahedron(probeCubes, vec4(reflect(-V, N), pid), 0.0, lodMax).rgb, 1.0);
+}