7 #ifndef NAZARA_BILLBOARD_HPP 8 #define NAZARA_BILLBOARD_HPP 10 #include <Nazara/Prerequesites.hpp> 11 #include <Nazara/Graphics/InstancedRenderable.hpp> 12 #include <Nazara/Graphics/Material.hpp> 18 using BillboardConstRef = ObjectRef<const Billboard>;
19 using BillboardLibrary = ObjectLibrary<Billboard>;
20 using BillboardRef = ObjectRef<Billboard>;
32 void AddToRenderQueue(
AbstractRenderQueue* renderQueue,
const InstanceData& instanceData)
const override;
34 inline const Color& GetColor()
const;
35 inline float GetRotation()
const;
36 inline const Vector2f& GetSize()
const;
38 inline void SetColor(
const Color& color);
39 inline void SetDefaultMaterial();
40 inline void SetMaterial(
MaterialRef material,
bool resizeBillboard =
true);
41 inline void SetMaterial(std::size_t skinIndex,
MaterialRef material,
bool resizeBillboard =
true);
42 inline void SetRotation(
float rotation);
43 inline void SetSize(
const Vector2f& size);
44 inline void SetSize(
float sizeX,
float sizeY);
45 inline void SetTexture(
TextureRef texture,
bool resizeBillboard =
true);
46 inline void SetTexture(std::size_t skinIndex,
TextureRef texture,
bool resizeBillboard =
true);
51 template<
typename... Args>
static BillboardRef New(Args&&... args);
54 void MakeBoundingVolume()
const override;
61 static BillboardLibrary::LibraryMap s_library;
65 #include <Nazara/Graphics/Billboard.inl> 67 #endif // NAZARA_BILLBOARD_HPP Core class that represents a color.
Definition: Color.hpp:18
TODO: Inherit SoundEmitter from Node.
Definition: Algorithm.hpp:12
Graphics class that represents a billboard, a 2D surface which simulates a 3D object.
Definition: Billboard.hpp:22
Graphics class that represents the rendering queue for our scene.
Definition: AbstractRenderQueue.hpp:26
Graphics class that represents an instancer renderable.
Definition: InstancedRenderable.hpp:30