summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/skybox/Skybox.qml58
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 }
+ ]
+ }
}
]
}