Graphics/InstancedRenderable: Replace constructor AABB with UpdateAABB method

This commit is contained in:
Jérôme Leclercq
2021-11-21 17:14:39 +01:00
parent 57d39f7eeb
commit 2a8568f2ac
6 changed files with 31 additions and 13 deletions

View File

@@ -39,25 +39,36 @@ namespace Nz
VertexStruct_XYZ_Color_UV* vertices = m_vertices.data();
Vector3f origin = Vector3f::Zero();
Boxf aabb;
vertices->color = m_color * m_cornerColor[UnderlyingCast(RectCorner::LeftTop)];
vertices->position = Vector3f(-origin);
vertices->uv = m_textureCoords.GetCorner(RectCorner::LeftTop);
vertices++;
aabb.Set(vertices->position);
vertices++;
vertices->color = m_color * m_cornerColor[UnderlyingCast(RectCorner::RightTop)];
vertices->position = m_size.x * Vector3f::Right() - origin;
vertices->uv = m_textureCoords.GetCorner(RectCorner::RightTop);
vertices++;
aabb.ExtendTo(vertices->position);
vertices++;
vertices->color = m_color * m_cornerColor[UnderlyingCast(RectCorner::LeftBottom)];
vertices->position = m_size.y * Vector3f::Down() - origin;
vertices->uv = m_textureCoords.GetCorner(RectCorner::LeftBottom);
vertices++;
aabb.ExtendTo(vertices->position);
vertices++;
vertices->color = m_color * m_cornerColor[UnderlyingCast(RectCorner::RightBottom)];
vertices->position = m_size.x * Vector3f::Right() + m_size.y * Vector3f::Down() - origin;
vertices->uv = m_textureCoords.GetCorner(RectCorner::RightBottom);
aabb.ExtendTo(vertices->position);
UpdateAABB(aabb);
}
}