Add set cartesian position to screenspace renderable

This commit is contained in:
sylvass
2021-12-01 11:10:48 -05:00
parent 921f4ff31d
commit ef1af3b6be
2 changed files with 6 additions and 0 deletions

View File

@@ -81,6 +81,7 @@ public:
bool coordIsInsideCornersScreenSpace(glm::vec2 coord);
void translate(glm::vec2 translation, glm::vec2 position);
friend bool operator<(const ScreenSpaceRenderable& lhs, const ScreenSpaceRenderable& rhs);
void setCartesianPosition(const glm::vec3& position);
// End of addition by skybrowser team

View File

@@ -540,6 +540,11 @@ void ScreenSpaceRenderable::translate(glm::vec2 translation, glm::vec2 position)
_cartesianPosition = glm::translate(glm::mat4(1.f), glm::vec3(translation, 0.0f)) * glm::vec4(position, _cartesianPosition.value().z, 1.0f);
}
void ScreenSpaceRenderable::setCartesianPosition(const glm::vec3& position)
{
_cartesianPosition = position;
}
bool operator<(const ScreenSpaceRenderable& lhs, const ScreenSpaceRenderable& rhs) {
// Sort on depth coordinate, larger values are closer to camera
return lhs._cartesianPosition.value().z > rhs._cartesianPosition.value().z;