diff options
author | Antti Määttä <antti.maatta@qt.io> | 2020-02-10 09:23:06 +0200 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2020-02-10 14:02:18 +0200 |
commit | 90dd0bdcf1c9e3a1eddee8abcf4307c06e82e37b (patch) | |
tree | b1ce8503f64cad147a9f70086088345c5b0f6176 | |
parent | 1c68b3f7e000fbb3e04e5183781b96f8a6223370 (diff) |
Add projectionMatrix uniform
Also rename missnamed uniforms.
Task-number: QT3DS-4048
Change-Id: I5cfd6cfb3c1f6ef2794ffe5571806f4a7ff59605
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r-- | src/runtimerender/Qt3DSRenderCustomMaterialShaderGenerator.cpp | 22 | ||||
-rw-r--r-- | src/runtimerender/Qt3DSRenderCustomMaterialSystem.cpp | 8 |
2 files changed, 19 insertions, 11 deletions
diff --git a/src/runtimerender/Qt3DSRenderCustomMaterialShaderGenerator.cpp b/src/runtimerender/Qt3DSRenderCustomMaterialShaderGenerator.cpp index 82a4d73..7423c0e 100644 --- a/src/runtimerender/Qt3DSRenderCustomMaterialShaderGenerator.cpp +++ b/src/runtimerender/Qt3DSRenderCustomMaterialShaderGenerator.cpp @@ -155,10 +155,11 @@ struct SShaderGeneratorGeneratedShader NVRenderShaderProgram &m_Shader; // Specific properties we know the shader has to have. NVRenderCachedShaderProperty<QT3DSMat44> m_ModelMatrix; - NVRenderCachedShaderProperty<QT3DSMat44> m_ViewProjMatrix; + NVRenderCachedShaderProperty<QT3DSMat44> m_ModelViewProjMatrix; NVRenderCachedShaderProperty<QT3DSMat44> m_ViewMatrix; NVRenderCachedShaderProperty<QT3DSMat33> m_NormalMatrix; NVRenderCachedShaderProperty<QT3DSVec3> m_CameraPos; + NVRenderCachedShaderProperty<QT3DSMat44> m_ViewProjMatrix; NVRenderCachedShaderProperty<QT3DSMat44> m_ProjMatrix; NVRenderCachedShaderProperty<QT3DSMat44> m_ViewportMatrix; NVRenderCachedShaderProperty<QT3DSVec2> m_CamProperties; @@ -199,11 +200,12 @@ struct SShaderGeneratorGeneratedShader : m_Allocator(inContext.GetAllocator()) , m_Shader(inShader) , m_ModelMatrix("model_matrix", inShader) - , m_ViewProjMatrix("model_view_projection", inShader) + , m_ModelViewProjMatrix("model_view_projection", inShader) , m_ViewMatrix("view_matrix", inShader) , m_NormalMatrix("normal_matrix", inShader) , m_CameraPos("camera_position", inShader) - , m_ProjMatrix("view_projection_matrix", inShader) + , m_ViewProjMatrix("view_projection_matrix", inShader) + , m_ProjMatrix("projection_matrix", inShader) , m_ViewportMatrix("viewport_matrix", inShader) , m_CamProperties("camera_properties", inShader) , m_DepthTexture("depth_sampler", inShader) @@ -627,11 +629,13 @@ struct SShaderGenerator : public ICustomMaterialShaderGenerator if (theShader.m_ViewMatrix.IsValid()) theShader.m_ViewMatrix.Set(theCamera.m_GlobalTransform.getInverse()); + if (theShader.m_ProjMatrix.IsValid()) + theShader.m_ProjMatrix.Set(inCamera.m_Projection); - if (theShader.m_ProjMatrix.IsValid()) { + if (theShader.m_ViewProjMatrix.IsValid()) { QT3DSMat44 vProjMat; inCamera.CalculateViewProjectionMatrix(vProjMat); - theShader.m_ProjMatrix.Set(vProjMat); + theShader.m_ViewProjMatrix.Set(vProjMat); } // set lights separate for area lights @@ -761,7 +765,7 @@ struct SShaderGenerator : public ICustomMaterialShaderGenerator ICustomMaterialSystem &theMaterialSystem(m_RenderContext.GetCustomMaterialSystem()); SShaderGeneratorGeneratedShader &theShader(GetShaderForProgram(inProgram)); - theShader.m_ViewProjMatrix.Set(inModelViewProjection); + theShader.m_ModelViewProjMatrix.Set(inModelViewProjection); theShader.m_NormalMatrix.Set(inNormalMatrix); theShader.m_ModelMatrix.Set(inGlobalTransform); @@ -1239,12 +1243,14 @@ struct SShaderGenerator : public ICustomMaterialShaderGenerator SShaderGeneratorGeneratedShader &shader(GetShaderForProgram(*program)); shader.m_ModelMatrix = NVRenderCachedShaderProperty<QT3DSMat44>("modelMatrix", *program); - shader.m_ViewProjMatrix = NVRenderCachedShaderProperty<QT3DSMat44>( + shader.m_ModelViewProjMatrix = NVRenderCachedShaderProperty<QT3DSMat44>( "modelViewProjection", *program); shader.m_ViewMatrix = NVRenderCachedShaderProperty<QT3DSMat44>("viewMatrix", *program); shader.m_NormalMatrix = NVRenderCachedShaderProperty<QT3DSMat33>("modelNormalMatrix", *program); - shader.m_ProjMatrix = NVRenderCachedShaderProperty<QT3DSMat44>("viewProjectionMatrix", + shader.m_ProjMatrix = NVRenderCachedShaderProperty<QT3DSMat44>("projectionMatrix", + *program); + shader.m_ViewProjMatrix = NVRenderCachedShaderProperty<QT3DSMat44>("viewProjectionMatrix", *program); shader.m_ViewportMatrix = NVRenderCachedShaderProperty<QT3DSMat44>("viewportMatrix", *program); diff --git a/src/runtimerender/Qt3DSRenderCustomMaterialSystem.cpp b/src/runtimerender/Qt3DSRenderCustomMaterialSystem.cpp index 6c3f0c1..496d783 100644 --- a/src/runtimerender/Qt3DSRenderCustomMaterialSystem.cpp +++ b/src/runtimerender/Qt3DSRenderCustomMaterialSystem.cpp @@ -687,11 +687,12 @@ struct SCustomMaterialShader { NVScopedRefCounted<NVRenderShaderProgram> m_Shader; NVRenderCachedShaderProperty<QT3DSMat44> m_ModelMatrix; - NVRenderCachedShaderProperty<QT3DSMat44> m_ViewProjMatrix; + NVRenderCachedShaderProperty<QT3DSMat44> m_ModelViewProjMatrix; NVRenderCachedShaderProperty<QT3DSMat44> m_ViewMatrix; NVRenderCachedShaderProperty<QT3DSMat33> m_NormalMatrix; NVRenderCachedShaderProperty<QT3DSVec3> m_CameraPos; NVRenderCachedShaderProperty<QT3DSMat44> m_ProjMatrix; + NVRenderCachedShaderProperty<QT3DSMat44> m_ViewProjMatrix; NVRenderCachedShaderProperty<QT3DSMat44> m_ViewportMatrix; NVRenderCachedShaderProperty<QT3DSVec2> m_CamProperties; NVRenderCachedShaderProperty<NVRenderTexture2D *> m_DepthTexture; @@ -712,11 +713,12 @@ struct SCustomMaterialShader SCustomMaterialShader(NVRenderShaderProgram &inShader, SDynamicShaderProgramFlags inFlags) : m_Shader(inShader) , m_ModelMatrix("model_matrix", inShader) - , m_ViewProjMatrix("model_view_projection", inShader) + , m_ModelViewProjMatrix("model_view_projection", inShader) , m_ViewMatrix("view_matrix", inShader) , m_NormalMatrix("normal_matrix", inShader) , m_CameraPos("camera_position", inShader) - , m_ProjMatrix("view_projection_matrix", inShader) + , m_ProjMatrix("projection_matrix", inShader) + , m_ViewProjMatrix("view_projection_matrix", inShader) , m_ViewportMatrix("viewport_matrix", inShader) , m_CamProperties("camera_properties", inShader) , m_DepthTexture("depth_sampler", inShader) |