Graphics/Billboard: Fix bounding volume
This commit is contained in:
parent
1e88f5ddf8
commit
42a263ed6a
|
|
@ -83,6 +83,7 @@ Nazara Engine:
|
|||
- Add support for emissive and normal maps in .mtl loader using custom keywords ([map_]emissive and [map_]normal)
|
||||
- Music, Sound and SoundEmitter are now movable
|
||||
- Fixed Sound copy which was not copying looping state
|
||||
- Fixed Billboard bounding volume
|
||||
|
||||
Nazara Development Kit:
|
||||
- Added ImageWidget (#139)
|
||||
|
|
|
|||
|
|
@ -33,9 +33,12 @@ namespace Nz
|
|||
|
||||
void Billboard::MakeBoundingVolume() const
|
||||
{
|
||||
constexpr float sqrt2 = float(M_SQRT2);
|
||||
// As billboard always face the screen, we must take its maximum size in account on every axis
|
||||
float maxSize = float(M_SQRT2) * std::max(m_size.x, m_size.y);
|
||||
|
||||
m_boundingVolume.Set(Vector3f(0.f), sqrt2 * m_size.x * Vector3f::Right() + sqrt2 * m_size.y * Vector3f::Down());
|
||||
Nz::Vector3f halfSize = (maxSize * Vector3f::Right() + maxSize * Vector3f::Down() + maxSize * Vector3f::Forward()) / 2.f;
|
||||
|
||||
m_boundingVolume.Set(-halfSize, halfSize);
|
||||
}
|
||||
|
||||
BillboardLibrary::LibraryMap Billboard::s_library;
|
||||
|
|
|
|||
Loading…
Reference in New Issue