From e7b9ca735ea27693059980b086ea5aec00f66d4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 21 Oct 2020 12:23:27 +0200 Subject: [PATCH] Shaders: make default indentity matrices more explicit in the code. --- src/Magnum/Shaders/DistanceFieldVector.cpp | 5 +++-- src/Magnum/Shaders/Flat.cpp | 5 +++-- src/Magnum/Shaders/MeshVisualizer.cpp | 8 ++++---- src/Magnum/Shaders/Phong.cpp | 9 +++++---- src/Magnum/Shaders/Vector.cpp | 5 +++-- src/Magnum/Shaders/VertexColor.cpp | 2 +- 6 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/Magnum/Shaders/DistanceFieldVector.cpp b/src/Magnum/Shaders/DistanceFieldVector.cpp index 4b7113f0a..969169309 100644 --- a/src/Magnum/Shaders/DistanceFieldVector.cpp +++ b/src/Magnum/Shaders/DistanceFieldVector.cpp @@ -104,8 +104,9 @@ template DistanceFieldVector::DistanceFieldV /* Set defaults in OpenGL ES (for desktop they are set in shader code itself) */ #ifdef MAGNUM_TARGET_GLES - setTransformationProjectionMatrix({}); - if(flags & Flag::TextureTransformation) setTextureMatrix({}); + setTransformationProjectionMatrix(MatrixTypeFor{Math::IdentityInit}); + if(flags & Flag::TextureTransformation) + setTextureMatrix(Matrix3{Math::IdentityInit}); setColor(Color4{1.0f}); /* Outline color is zero by default */ setOutlineRange(0.5f, 1.0f); setSmoothness(0.04f); diff --git a/src/Magnum/Shaders/Flat.cpp b/src/Magnum/Shaders/Flat.cpp index f52957af5..a2617dc66 100644 --- a/src/Magnum/Shaders/Flat.cpp +++ b/src/Magnum/Shaders/Flat.cpp @@ -142,8 +142,9 @@ template Flat::Flat(const Flags flags): _fla /* Set defaults in OpenGL ES (for desktop they are set in shader code itself) */ #ifdef MAGNUM_TARGET_GLES - setTransformationProjectionMatrix({}); - if(flags & Flag::TextureTransformation) setTextureMatrix({}); + setTransformationProjectionMatrix(MatrixTypeFor{Math::IdentityInit}); + if(flags & Flag::TextureTransformation) + setTextureMatrix(Matrix3{Math::IdentityInit}); setColor(Magnum::Color4{1.0f}); if(flags & Flag::AlphaMask) setAlphaMask(0.5f); /* Object ID is zero by default */ diff --git a/src/Magnum/Shaders/MeshVisualizer.cpp b/src/Magnum/Shaders/MeshVisualizer.cpp index f563f37e1..83bfad1f4 100644 --- a/src/Magnum/Shaders/MeshVisualizer.cpp +++ b/src/Magnum/Shaders/MeshVisualizer.cpp @@ -294,7 +294,7 @@ MeshVisualizer2D::MeshVisualizer2D(const Flags flags): Implementation::MeshVisua /* Set defaults in OpenGL ES (for desktop they are set in shader code itself) */ #ifdef MAGNUM_TARGET_GLES - setTransformationProjectionMatrix({}); + setTransformationProjectionMatrix(Matrix3{Math::IdentityInit}); if(flags & (Flag::Wireframe #ifndef MAGNUM_TARGET_GLES2 |Flag::InstancedObjectId|Flag::VertexId|Flag::PrimitiveIdFromVertexId @@ -513,8 +513,8 @@ MeshVisualizer3D::MeshVisualizer3D(const Flags flags): Implementation::MeshVisua /* Set defaults in OpenGL ES (for desktop they are set in shader code itself) */ #ifdef MAGNUM_TARGET_GLES - setTransformationMatrix({}); - setProjectionMatrix({}); + setTransformationMatrix(Matrix4{Math::IdentityInit}); + setProjectionMatrix(Matrix4{Math::IdentityInit}); if(flags & (Flag::Wireframe #ifndef MAGNUM_TARGET_GLES2 |Flag::InstancedObjectId|Flag::VertexId|Flag::PrimitiveIdFromVertexId @@ -539,7 +539,7 @@ MeshVisualizer3D::MeshVisualizer3D(const Flags flags): Implementation::MeshVisua #endif #if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL) if(flags & (Flag::TangentDirection|Flag::BitangentFromTangentDirection|Flag::BitangentDirection|Flag::NormalDirection)) { - setNormalMatrix({}); + setNormalMatrix(Matrix3x3{Math::IdentityInit}); setLineWidth(1.0f); setLineLength(1.0f); } diff --git a/src/Magnum/Shaders/Phong.cpp b/src/Magnum/Shaders/Phong.cpp index 42b52efc8..f320711ea 100644 --- a/src/Magnum/Shaders/Phong.cpp +++ b/src/Magnum/Shaders/Phong.cpp @@ -252,8 +252,8 @@ Phong::Phong(const Flags flags, const UnsignedInt lightCount): _flags{flags}, _l /* Default to fully opaque white so we can see the textures */ if(flags & Flag::AmbientTexture) setAmbientColor(Magnum::Color4{1.0f}); else setAmbientColor(Magnum::Color4{0.0f}); - setTransformationMatrix({}); - setProjectionMatrix({}); + setTransformationMatrix(Matrix4{Math::IdentityInit}); + setProjectionMatrix(Matrix4{Math::IdentityInit}); if(lightCount) { setDiffuseColor(Magnum::Color4{1.0f}); setSpecularColor(Magnum::Color4{1.0f, 0.0f}); @@ -266,9 +266,10 @@ Phong::Phong(const Flags flags, const UnsignedInt lightCount): _flags{flags}, _l setLightSpecularColors(colors); setLightRanges(Containers::Array{Containers::DirectInit, lightCount, Constants::inf()}); /* Light position is zero by default */ - setNormalMatrix({}); + setNormalMatrix(Matrix3x3{Math::IdentityInit}); } - if(flags & Flag::TextureTransformation) setTextureMatrix({}); + if(flags & Flag::TextureTransformation) + setTextureMatrix(Matrix3{Math::IdentityInit}); if(flags & Flag::AlphaMask) setAlphaMask(0.5f); /* Object ID is zero by default */ #endif diff --git a/src/Magnum/Shaders/Vector.cpp b/src/Magnum/Shaders/Vector.cpp index 3ceeee048..672489329 100644 --- a/src/Magnum/Shaders/Vector.cpp +++ b/src/Magnum/Shaders/Vector.cpp @@ -101,8 +101,9 @@ template Vector::Vector(const Flags flags): /* Set defaults in OpenGL ES (for desktop they are set in shader code itself) */ #ifdef MAGNUM_TARGET_GLES - setTransformationProjectionMatrix({}); - if(flags & Flag::TextureTransformation) setTextureMatrix({}); + setTransformationProjectionMatrix(MatrixTypeFor{Math::IdentityInit}); + if(flags & Flag::TextureTransformation) + setTextureMatrix(Matrix3{Math::IdentityInit}); setColor(Color4{1.0f}); /* Background color is zero by default */ #endif } diff --git a/src/Magnum/Shaders/VertexColor.cpp b/src/Magnum/Shaders/VertexColor.cpp index a4a3f20d6..86857c74b 100644 --- a/src/Magnum/Shaders/VertexColor.cpp +++ b/src/Magnum/Shaders/VertexColor.cpp @@ -88,7 +88,7 @@ template VertexColor::VertexColor() { /* Set defaults in OpenGL ES (for desktop they are set in shader code itself) */ #ifdef MAGNUM_TARGET_GLES - setTransformationProjectionMatrix(MatrixTypeFor{}); + setTransformationProjectionMatrix(MatrixTypeFor{Math::IdentityInit}); #endif }