diff --git a/libs/math/Vector3.h b/libs/math/Vector3.h index db47b41b5b..cb78680ac1 100644 --- a/libs/math/Vector3.h +++ b/libs/math/Vector3.h @@ -70,7 +70,7 @@ class BasicVector3 /// Construct from another BasicVector3 with a compatible element type template BasicVector3(const BasicVector3& other) - : BasicVector3(other.x(), other.y(), other.z()) + : BasicVector3(static_cast(other.x()), static_cast(other.y()), static_cast(other.z())) { } diff --git a/libs/math/Vector4.h b/libs/math/Vector4.h index 1b642afeb8..ab582333e0 100644 --- a/libs/math/Vector4.h +++ b/libs/math/Vector4.h @@ -51,17 +51,17 @@ class BasicVector4 /// Construct from another BasicVector4 with a compatible element type template BasicVector4(const BasicVector4& other) - : BasicVector4(other.x(), other.y(), other.z(), other.w()) + : BasicVector4(static_cast(other.x()), static_cast(other.y()), static_cast(other.z()), static_cast(other.w())) {} /// Construct from a BasicVector3 of compatible element type, plus an optional W value template BasicVector4(const BasicVector3& other, W w_ = 1.0f) { - _v[0] = other.x(); - _v[1] = other.y(); - _v[2] = other.z(); - _v[3] = w_; + _v[0] = static_cast(other.x()); + _v[1] = static_cast(other.y()); + _v[2] = static_cast(other.z()); + _v[3] = static_cast(w_); } /// Construct directly from Eigen type diff --git a/libs/render/RenderableBox.h b/libs/render/RenderableBox.h index 3e3d88e031..bba96d6c21 100644 --- a/libs/render/RenderableBox.h +++ b/libs/render/RenderableBox.h @@ -16,40 +16,40 @@ inline std::vector getFillBoxVertices(const Vector3& min, const Ve return { // Bottom quad - RenderVertex({ min[0], max[1], min[2] }, {0,0,-1}, {0,1}, colour), - RenderVertex({ max[0], max[1], min[2] }, {0,0,-1}, {1,1}, colour), - RenderVertex({ max[0], min[1], min[2] }, {0,0,-1}, {1,0}, colour), - RenderVertex({ min[0], min[1], min[2] }, {0,0,-1}, {0,0}, colour), + RenderVertex(Vector3{ min[0], max[1], min[2] }, {0,0,-1}, {0,1}, colour), + RenderVertex(Vector3{ max[0], max[1], min[2] }, {0,0,-1}, {1,1}, colour), + RenderVertex(Vector3{ max[0], min[1], min[2] }, {0,0,-1}, {1,0}, colour), + RenderVertex(Vector3{ min[0], min[1], min[2] }, {0,0,-1}, {0,0}, colour), // Top quad - RenderVertex({ min[0], min[1], max[2] }, {0,0,+1}, {0,1}, colour), - RenderVertex({ max[0], min[1], max[2] }, {0,0,+1}, {1,1}, colour), - RenderVertex({ max[0], max[1], max[2] }, {0,0,+1}, {1,0}, colour), - RenderVertex({ min[0], max[1], max[2] }, {0,0,+1}, {0,0}, colour), + RenderVertex(Vector3{ min[0], min[1], max[2] }, {0,0,+1}, {0,1}, colour), + RenderVertex(Vector3{ max[0], min[1], max[2] }, {0,0,+1}, {1,1}, colour), + RenderVertex(Vector3{ max[0], max[1], max[2] }, {0,0,+1}, {1,0}, colour), + RenderVertex(Vector3{ min[0], max[1], max[2] }, {0,0,+1}, {0,0}, colour), // Front quad - RenderVertex({ min[0], min[1], min[2] }, {0,-1,0}, {0,1}, colour), - RenderVertex({ max[0], min[1], min[2] }, {0,-1,0}, {1,1}, colour), - RenderVertex({ max[0], min[1], max[2] }, {0,-1,0}, {1,0}, colour), - RenderVertex({ min[0], min[1], max[2] }, {0,-1,0}, {0,0}, colour), + RenderVertex(Vector3{ min[0], min[1], min[2] }, {0,-1,0}, {0,1}, colour), + RenderVertex(Vector3{ max[0], min[1], min[2] }, {0,-1,0}, {1,1}, colour), + RenderVertex(Vector3{ max[0], min[1], max[2] }, {0,-1,0}, {1,0}, colour), + RenderVertex(Vector3{ min[0], min[1], max[2] }, {0,-1,0}, {0,0}, colour), // Back quad - RenderVertex({ min[0], max[1], min[2] }, {0,+1,0}, {1,1}, colour), - RenderVertex({ min[0], max[1], max[2] }, {0,+1,0}, {1,0}, colour), - RenderVertex({ max[0], max[1], max[2] }, {0,+1,0}, {0,0}, colour), - RenderVertex({ max[0], max[1], min[2] }, {0,+1,0}, {0,1}, colour), + RenderVertex(Vector3{ min[0], max[1], min[2] }, {0,+1,0}, {1,1}, colour), + RenderVertex(Vector3{ min[0], max[1], max[2] }, {0,+1,0}, {1,0}, colour), + RenderVertex(Vector3{ max[0], max[1], max[2] }, {0,+1,0}, {0,0}, colour), + RenderVertex(Vector3{ max[0], max[1], min[2] }, {0,+1,0}, {0,1}, colour), // Right quad - RenderVertex({ max[0], max[1], min[2] }, {+1,0,0}, {1,1}, colour), - RenderVertex({ max[0], max[1], max[2] }, {+1,0,0}, {1,0}, colour), - RenderVertex({ max[0], min[1], max[2] }, {+1,0,0}, {0,0}, colour), - RenderVertex({ max[0], min[1], min[2] }, {+1,0,0}, {0,1}, colour), + RenderVertex(Vector3{ max[0], max[1], min[2] }, {+1,0,0}, {1,1}, colour), + RenderVertex(Vector3{ max[0], max[1], max[2] }, {+1,0,0}, {1,0}, colour), + RenderVertex(Vector3{ max[0], min[1], max[2] }, {+1,0,0}, {0,0}, colour), + RenderVertex(Vector3{ max[0], min[1], min[2] }, {+1,0,0}, {0,1}, colour), // Left quad - RenderVertex({ min[0], max[1], min[2] }, {-1,0,0}, {0,1}, colour), - RenderVertex({ min[0], min[1], min[2] }, {-1,0,0}, {1,1}, colour), - RenderVertex({ min[0], min[1], max[2] }, {-1,0,0}, {1,0}, colour), - RenderVertex({ min[0], max[1], max[2] }, {-1,0,0}, {0,0}, colour), + RenderVertex(Vector3{ min[0], max[1], min[2] }, {-1,0,0}, {0,1}, colour), + RenderVertex(Vector3{ min[0], min[1], min[2] }, {-1,0,0}, {1,1}, colour), + RenderVertex(Vector3{ min[0], min[1], max[2] }, {-1,0,0}, {1,0}, colour), + RenderVertex(Vector3{ min[0], max[1], max[2] }, {-1,0,0}, {0,0}, colour), }; } @@ -59,16 +59,16 @@ inline std::vector getWireframeBoxVertices(const Vector3& min, con return { // Bottom quad - RenderVertex({ min[0], min[1], min[2] }, {0,0,1}, {0,0}, colour), - RenderVertex({ max[0], min[1], min[2] }, {0,0,1}, {0,0}, colour), - RenderVertex({ max[0], max[1], min[2] }, {0,0,1}, {0,0}, colour), - RenderVertex({ min[0], max[1], min[2] }, {0,0,1}, {0,0}, colour), + RenderVertex(Vector3{ min[0], min[1], min[2] }, {0,0,1}, {0,0}, colour), + RenderVertex(Vector3{ max[0], min[1], min[2] }, {0,0,1}, {0,0}, colour), + RenderVertex(Vector3{ max[0], max[1], min[2] }, {0,0,1}, {0,0}, colour), + RenderVertex(Vector3{ min[0], max[1], min[2] }, {0,0,1}, {0,0}, colour), // Top quad - RenderVertex({ min[0], min[1], max[2] }, {0,0,1}, {0,0}, colour), - RenderVertex({ max[0], min[1], max[2] }, {0,0,1}, {0,0}, colour), - RenderVertex({ max[0], max[1], max[2] }, {0,0,1}, {0,0}, colour), - RenderVertex({ min[0], max[1], max[2] }, {0,0,1}, {0,0}, colour), + RenderVertex(Vector3{ min[0], min[1], max[2] }, {0,0,1}, {0,0}, colour), + RenderVertex(Vector3{ max[0], min[1], max[2] }, {0,0,1}, {0,0}, colour), + RenderVertex(Vector3{ max[0], max[1], max[2] }, {0,0,1}, {0,0}, colour), + RenderVertex(Vector3{ min[0], max[1], max[2] }, {0,0,1}, {0,0}, colour), }; } diff --git a/radiantcore/entity/light/Renderables.cpp b/radiantcore/entity/light/Renderables.cpp index 9a89fdf80d..dd1def3e72 100644 --- a/radiantcore/entity/light/Renderables.cpp +++ b/radiantcore/entity/light/Renderables.cpp @@ -41,12 +41,12 @@ void RenderableLightOctagon::updateGeometry() // top, bottom, tleft, tright, bright, bleft std::vector vertices { - render::RenderVertex({ mid[0], mid[1], max[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ mid[0], mid[1], min[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ min[0], max[1], mid[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ max[0], max[1], mid[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ max[0], min[1], mid[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ min[0], min[1], mid[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ mid[0], mid[1], max[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ mid[0], mid[1], min[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ min[0], max[1], mid[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ max[0], max[1], mid[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ max[0], min[1], mid[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ min[0], min[1], mid[2] }, {0,0,0}, {0,0}, colour), }; // Orient the points using the transform @@ -99,15 +99,15 @@ void RenderableLightVolume::updatePointLightVolume() // Load the 8 corner points std::vector vertices { - render::RenderVertex({ min[0], min[1], min[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ max[0], min[1], min[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ max[0], max[1], min[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ min[0], max[1], min[2] }, {0,0,0}, {0,0}, colour), - - render::RenderVertex({ min[0], min[1], max[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ max[0], min[1], max[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ max[0], max[1], max[2] }, {0,0,0}, {0,0}, colour), - render::RenderVertex({ min[0], max[1], max[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ min[0], min[1], min[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ max[0], min[1], min[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ max[0], max[1], min[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ min[0], max[1], min[2] }, {0,0,0}, {0,0}, colour), + + render::RenderVertex(Vector3{ min[0], min[1], max[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ max[0], min[1], max[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ max[0], max[1], max[2] }, {0,0,0}, {0,0}, colour), + render::RenderVertex(Vector3{ min[0], max[1], max[2] }, {0,0,0}, {0,0}, colour), }; // Orient the points using the transform