diff options
-rw-r--r-- | examples/exampleresources/exampleresources.pro | 3 | ||||
-rw-r--r-- | examples/skybox/Skybox.qml | 16 | ||||
-rw-r--r-- | src/quick3d/imports/render/qt3dquick3drenderplugin.cpp | 2 |
3 files changed, 15 insertions, 6 deletions
diff --git a/examples/exampleresources/exampleresources.pro b/examples/exampleresources/exampleresources.pro index 9f3d394ef..90c733046 100644 --- a/examples/exampleresources/exampleresources.pro +++ b/examples/exampleresources/exampleresources.pro @@ -32,4 +32,5 @@ OTHER_FILES += \ assets/chest/* \ assets/houseplants/* \ assets/metalbarrel/* \ - assets/cubemaps/* + assets/cubemaps/miramar/* \ + assets/cubemaps/night/* diff --git a/examples/skybox/Skybox.qml b/examples/skybox/Skybox.qml index 504d3c347..8dc7ba7a2 100644 --- a/examples/skybox/Skybox.qml +++ b/examples/skybox/Skybox.qml @@ -45,6 +45,8 @@ import Qt3D.Render 2.0 Entity { property alias cameraPosition: cameraTranslate.translation; + property string sourceDirectory: "qrc:/assets/cubemaps/miramar/miramar"; + property string extension: ".webp" property TextureCubeMap skyboxTexture: TextureCubeMap { generateMipMaps: false @@ -55,7 +57,12 @@ Entity { y: WrapMode.ClampToEdge z: WrapMode.ClampToEdge } - source: "qrc:/assets/cubemaps/miramar/miramar" + TextureImage { cubeMapFace: Texture.CubeMapPositiveX; source: sourceDirectory + "_posx" + extension } + TextureImage { cubeMapFace: Texture.CubeMapPositiveY; source: sourceDirectory + "_posy" + extension } + TextureImage { cubeMapFace: Texture.CubeMapPositiveZ; source: sourceDirectory + "_posz" + extension } + TextureImage { cubeMapFace: Texture.CubeMapNegativeX; source: sourceDirectory + "_negx" + extension } + TextureImage { cubeMapFace: Texture.CubeMapNegativeY; source: sourceDirectory + "_negy" + extension } + TextureImage { cubeMapFace: Texture.CubeMapNegativeZ; source: sourceDirectory + "_negz" + extension } } ShaderProgram { @@ -68,11 +75,13 @@ Entity { out vec3 texCoord0; uniform mat4 mvp; + uniform mat4 inverseProjectionMatrix; + uniform mat4 inverseModelView; void main() { - texCoord0 = vertexPosition; - gl_Position = mvp * vec4(vertexPosition, 1.0); + texCoord0 = vertexPosition.xyz; + gl_Position = vec4(mvp * vec4(vertexPosition, 1.0)).xyww; } " fragmentShaderCode: " @@ -98,7 +107,6 @@ Entity { Transform { id: transform - Scale { id: scaleTransform; scale: 1000.0 } Translate { id: cameraTranslate; } } diff --git a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp index 33a64311c..563d82d11 100644 --- a/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp +++ b/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp @@ -186,7 +186,7 @@ void Qt3DQuick3DRenderPlugin::registerTypes(const char *uri) qmlRegisterExtendedType<Qt3D::QTexture2D, Qt3D::Render::Quick::Quick3DTextureExtension>(uri, 2, 0, "Texture2D"); qmlRegisterExtendedType<Qt3D::QTexture2DArray, Qt3D::Render::Quick::Quick3DTextureExtension>(uri, 2, 0, "Texture2DArray"); qmlRegisterExtendedType<Qt3D::QTexture3D, Qt3D::Render::Quick::Quick3DTextureExtension>(uri, 2, 0, "Texture3D"); - qmlRegisterExtendedType<Qt3D::QTextureCubeMap, Qt3D::Render::Quick::Quick3DTextureCubeMapExtension>(uri, 2, 0, "TextureCubeMap"); + qmlRegisterExtendedType<Qt3D::QTextureCubeMap, Qt3D::Render::Quick::Quick3DTextureExtension>(uri, 2, 0, "TextureCubeMap"); qmlRegisterExtendedType<Qt3D::QTextureCubeMapArray, Qt3D::Render::Quick::Quick3DTextureExtension>(uri, 2, 0, "TextureCubeMapArray"); qmlRegisterExtendedType<Qt3D::QTexture2DMultisample, Qt3D::Render::Quick::Quick3DTextureExtension>(uri, 2, 0, "Texture2DMultisample"); qmlRegisterExtendedType<Qt3D::QTexture2DMultisampleArray, Qt3D::Render::Quick::Quick3DTextureExtension>(uri, 2, 0, "Texture2DMultisampleArray"); |