fix wrong entity display position on slow movement

This commit is contained in:
MihailRis
2024-07-20 21:56:19 +03:00
parent 826579df2b
commit c63e19e87b
2 changed files with 7 additions and 2 deletions
+2
View File
@@ -32,6 +32,8 @@ void Transform::refresh() {
combined = glm::translate(combined, pos); combined = glm::translate(combined, pos);
combined = glm::scale(combined, size); combined = glm::scale(combined, size);
combined = combined * glm::mat4(rot); combined = combined * glm::mat4(rot);
displayPos = pos;
displaySize = size;
dirty = false; dirty = false;
} }
+5 -2
View File
@@ -44,6 +44,9 @@ struct Transform {
glm::mat4 combined; glm::mat4 combined;
bool dirty = true; bool dirty = true;
glm::vec3 displayPos;
glm::vec3 displaySize;
void refresh(); void refresh();
inline void setRot(glm::mat3 m) { inline void setRot(glm::mat3 m) {
@@ -52,14 +55,14 @@ struct Transform {
} }
inline void setSize(glm::vec3 v) { inline void setSize(glm::vec3 v) {
if (glm::distance2(size, v) >= 0.0000001f) { if (glm::distance2(displaySize, v) >= 0.00001f) {
dirty = true; dirty = true;
} }
size = v; size = v;
} }
inline void setPos(glm::vec3 v) { inline void setPos(glm::vec3 v) {
if (glm::distance2(pos, v) >= 0.00001f) { if (glm::distance2(displayPos, v) >= 0.0001f) {
dirty = true; dirty = true;
} }
pos = v; pos = v;