diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/skybox/Skybox.qml | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/examples/skybox/Skybox.qml b/examples/skybox/Skybox.qml index d0b26feb3..54d917177 100644 --- a/examples/skybox/Skybox.qml +++ b/examples/skybox/Skybox.qml @@ -97,6 +97,34 @@ Entity { " } + ShaderProgram { + id: gl2es2SkyboxShader + + vertexShaderCode: " + attribute vec3 vertexPosition; + varying vec3 texCoord0; + + uniform mat4 mvp; + uniform mat4 inverseProjectionMatrix; + uniform mat4 inverseModelView; + + void main() + { + texCoord0 = vertexPosition.xyz; + gl_Position = vec4(mvp * vec4(vertexPosition, 1.0)).xyww; + } + " + fragmentShaderCode: " + varying highp vec3 texCoord0; + uniform samplerCube skyboxTexture; + + void main() + { + gl_FragColor = textureCube(skyboxTexture, texCoord0); + } + " + } + CuboidMesh { id: cuboidMesh yzMeshResolution: Qt.size(2, 2) @@ -134,6 +162,36 @@ Entity { DepthTest { func: DepthTest.LessOrEqual } ] } + }, + Technique { + openGLFilter { + api: OpenGLFilter.Desktop + profile: OpenGLFilter.None + majorVersion: 2 + minorVersion: 0 + } + renderPasses: RenderPass { + shaderProgram: gl2es2SkyboxShader + renderStates: [ + CullFace { mode: CullFace.Front }, + DepthTest { func: DepthTest.LessOrEqual } + ] + } + }, + Technique { + openGLFilter { + api: OpenGLFilter.ES + profile: OpenGLFilter.None + majorVersion: 2 + minorVersion: 0 + } + renderPasses: RenderPass { + shaderProgram: gl2es2SkyboxShader + renderStates: [ + CullFace { mode: CullFace.Front }, + DepthTest { func: DepthTest.LessOrEqual } + ] + } } ] } |