7 #ifndef NAZARA_ABSTRACTRENDERQUEUE_HPP 8 #define NAZARA_ABSTRACTRENDERQUEUE_HPP 10 #include <Nazara/Prerequesites.hpp> 11 #include <Nazara/Core/Color.hpp> 12 #include <Nazara/Core/SparsePtr.hpp> 13 #include <Nazara/Graphics/Config.hpp> 14 #include <Nazara/Math/Box.hpp> 15 #include <Nazara/Math/Matrix4.hpp> 24 struct VertexStruct_XYZ_Color_UV;
29 struct DirectionalLight;
48 virtual void AddDrawable(
int renderOrder,
const Drawable* drawable) = 0;
49 virtual void AddDirectionalLight(
const DirectionalLight& light);
50 virtual void AddMesh(
int renderOrder,
const Material* material,
const MeshData& meshData,
const Boxf& meshAABB,
const Matrix4f& transformMatrix) = 0;
51 virtual void AddPointLight(
const PointLight& light);
52 virtual void AddSpotLight(
const SpotLight& light);
53 virtual void AddSprites(
int renderOrder,
const Material* material,
const VertexStruct_XYZ_Color_UV* vertices, std::size_t spriteCount,
const Texture* overlay =
nullptr) = 0;
55 virtual void Clear(
bool fully =
false);
60 struct DirectionalLight
92 float innerAngleCosine;
94 float outerAngleCosine;
95 float outerAngleTangent;
99 std::vector<DirectionalLight> directionalLights;
100 std::vector<PointLight> pointLights;
101 std::vector<SpotLight> spotLights;
105 #endif // NAZARA_ABSTRACTRENDERQUEUE_HPP Core class that represents a color.
Definition: Color.hpp:18
TODO: Inherit SoundEmitter from Node.
Definition: Algorithm.hpp:12
Graphics class that represents the rendering queue for our scene.
Definition: AbstractRenderQueue.hpp:26
Core class that represents a pointer and the step between two elements.
Definition: SparsePtr.hpp:19
Graphics class that represents a material.
Definition: Material.hpp:51
Graphics class that represents something drawable for our scene.
Definition: Drawable.hpp:15