diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-08-10 09:00:27 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-08-10 19:45:10 +0000 |
commit | 5cb7c1b48d1d78a75d2a67649a635a08ae13afca (patch) | |
tree | da21da8313df1989c604c2610e79af2c81457a33 /tests | |
parent | 6780e9ebb8b880be015a5fca167d602f177a8962 (diff) |
deferred-renderer-qml: fix debug layer techniques
Change-Id: I3602e2c837d351966d7b4216ecde458f80ba53a2
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests')
6 files changed, 92 insertions, 40 deletions
diff --git a/tests/manual/deferred-renderer-qml/GBufferDebugger.qml b/tests/manual/deferred-renderer-qml/GBufferDebugger.qml index f7c730cb1..7f148099e 100644 --- a/tests/manual/deferred-renderer-qml/GBufferDebugger.qml +++ b/tests/manual/deferred-renderer-qml/GBufferDebugger.qml @@ -65,46 +65,18 @@ Entity { renderPasses: RenderPass { filterKeys: FilterKey { name: "pass"; value: "final" } shaderProgram: ShaderProgram { - vertexShaderCode: - "#version 110 - - attribute vec4 vertexPosition; - uniform mat4 modelMatrix; - - void main() - { - gl_Position = modelMatrix * vertexPosition; - }" - - fragmentShaderCode: - "#version 110 - - uniform sampler2D color; - uniform sampler2D position; - uniform sampler2D normal; - uniform sampler2D depth; - uniform vec2 winSize; - - void main() - { - vec2 texCoord = (gl_FragCoord.xy + vec2(-winSize.x, 0)) / winSize; - - // Draw 4 quadrants - if (texCoord.x > 0.5) { // Right - if (texCoord.y > 0.5) { // Top - gl_FragColor = vec4(texture2D(normal, vec2(texCoord.x - 0.5, texCoord.y - 0.5) * 2.0).xyz, 1.0); - } else { // Bottom - gl_FragColor = vec4(texture2D(color, vec2(texCoord.x - 0.5, texCoord.y) * 2.0).xyz, 1.0); - } - } else { // Left - if (texCoord.y > 0.5) { // Top - gl_FragColor = texture2D(position, vec2(texCoord.x, texCoord.y - 0.5) * 2.0); - } else { // Bottom - gl_FragColor = vec4(texture2D(depth, texCoord * 2.0).rrr, 1.0); - } - } - gl_FragColor.a = 0.5; - }" + vertexShaderCode: loadSource("qrc:/debug_es2.vert") + fragmentShaderCode: loadSource("qrc:/debug_es2.frag") + } + } + }, + Technique { + graphicsApiFilter {api : GraphicsApiFilter.OpenGL; profile : GraphicsApiFilter.CoreProfile; minorVersion : 2; majorVersion : 3 } + renderPasses: RenderPass { + filterKeys: FilterKey { name: "pass"; value: "final" } + shaderProgram: ShaderProgram { + vertexShaderCode: loadSource("qrc:/debug_gl3.vert") + fragmentShaderCode: loadSource("qrc:/debug_gl3.frag") } } } diff --git a/tests/manual/deferred-renderer-qml/debug_es2.frag b/tests/manual/deferred-renderer-qml/debug_es2.frag new file mode 100644 index 000000000..8438ca916 --- /dev/null +++ b/tests/manual/deferred-renderer-qml/debug_es2.frag @@ -0,0 +1,28 @@ +#version 110 + +uniform sampler2D color; +uniform sampler2D position; +uniform sampler2D normal; +uniform sampler2D depth; +uniform vec2 winSize; + +void main() +{ + vec2 texCoord = (gl_FragCoord.xy + vec2(-winSize.x, 0)) / winSize; + + // Draw 4 quadrants + if (texCoord.x > 0.5) { // Right + if (texCoord.y > 0.5) { // Top + gl_FragColor = vec4(texture2D(normal, vec2(texCoord.x - 0.5, texCoord.y - 0.5) * 2.0).xyz, 1.0); + } else { // Bottom + gl_FragColor = vec4(texture2D(color, vec2(texCoord.x - 0.5, texCoord.y) * 2.0).xyz, 1.0); + } + } else { // Left + if (texCoord.y > 0.5) { // Top + gl_FragColor = texture2D(position, vec2(texCoord.x, texCoord.y - 0.5) * 2.0); + } else { // Bottom + gl_FragColor = vec4(texture2D(depth, texCoord * 2.0).rrr, 1.0); + } + } + gl_FragColor.a = 0.5; +} diff --git a/tests/manual/deferred-renderer-qml/debug_es2.vert b/tests/manual/deferred-renderer-qml/debug_es2.vert new file mode 100644 index 000000000..a907e10ca --- /dev/null +++ b/tests/manual/deferred-renderer-qml/debug_es2.vert @@ -0,0 +1,9 @@ +#version 110 + +attribute vec4 vertexPosition; +uniform mat4 modelMatrix; + +void main() +{ + gl_Position = modelMatrix * vertexPosition; +} diff --git a/tests/manual/deferred-renderer-qml/debug_gl3.frag b/tests/manual/deferred-renderer-qml/debug_gl3.frag new file mode 100644 index 000000000..571174d3b --- /dev/null +++ b/tests/manual/deferred-renderer-qml/debug_gl3.frag @@ -0,0 +1,30 @@ +#version 150 + +uniform sampler2D color; +uniform sampler2D position; +uniform sampler2D normal; +uniform sampler2D depth; +uniform vec2 winSize; + +out vec4 fragColor; + +void main() +{ + vec2 texCoord = (gl_FragCoord.xy + vec2(-winSize.x, 0)) / winSize; + + // Draw 4 quadrants + if (texCoord.x > 0.5) { // Right + if (texCoord.y > 0.5) { // Top + fragColor = vec4(texture(normal, vec2(texCoord.x - 0.5, texCoord.y - 0.5) * 2.0).xyz, 1.0); + } else { // Bottom + fragColor = vec4(texture(color, vec2(texCoord.x - 0.5, texCoord.y) * 2.0).xyz, 1.0); + } + } else { // Left + if (texCoord.y > 0.5) { // Top + fragColor = texture(position, vec2(texCoord.x, texCoord.y - 0.5) * 2.0); + } else { // Bottom + fragColor = vec4(texture(depth, texCoord * 2.0).rrr, 1.0); + } + } + fragColor.a = 0.5; +} diff --git a/tests/manual/deferred-renderer-qml/debug_gl3.vert b/tests/manual/deferred-renderer-qml/debug_gl3.vert new file mode 100644 index 000000000..2ed46a471 --- /dev/null +++ b/tests/manual/deferred-renderer-qml/debug_gl3.vert @@ -0,0 +1,9 @@ +#version 150 + +in vec4 vertexPosition; +uniform mat4 modelMatrix; + +void main() +{ + gl_Position = modelMatrix * vertexPosition; +} diff --git a/tests/manual/deferred-renderer-qml/deferred-renderer-qml.qrc b/tests/manual/deferred-renderer-qml/deferred-renderer-qml.qrc index 6ee17f42d..a2ca88cf9 100644 --- a/tests/manual/deferred-renderer-qml/deferred-renderer-qml.qrc +++ b/tests/manual/deferred-renderer-qml/deferred-renderer-qml.qrc @@ -12,5 +12,9 @@ <file>final_gl3.vert</file> <file>final_es2.frag</file> <file>GBufferDebugger.qml</file> + <file>debug_gl3.vert</file> + <file>debug_gl3.frag</file> + <file>debug_es2.frag</file> + <file>debug_es2.vert</file> </qresource> </RCC> |