8 #ifndef NDK_SYSTEMS_RENDERSYSTEM_HPP 9 #define NDK_SYSTEMS_RENDERSYSTEM_HPP 11 #include <Nazara/Graphics/AbstractBackground.hpp> 12 #include <Nazara/Graphics/CullingList.hpp> 13 #include <Nazara/Graphics/DepthRenderTechnique.hpp> 14 #include <Nazara/Renderer/RenderTexture.hpp> 15 #include <NDK/EntityList.hpp> 16 #include <NDK/System.hpp> 17 #include <NDK/Components/GraphicsComponent.hpp> 31 template<
typename T> T& ChangeRenderTechnique();
35 inline const Nz::Matrix4f& GetCoordinateSystemMatrix()
const;
42 inline void SetGlobalForward(
const Nz::Vector3f& direction);
43 inline void SetGlobalRight(
const Nz::Vector3f& direction);
46 static SystemIndex systemIndex;
49 inline void InvalidateCoordinateSystem();
51 void OnEntityRemoved(
Entity* entity)
override;
52 void OnEntityValidation(
Entity* entity,
bool justAdded)
override;
53 void OnUpdate(
float elapsedTime)
override;
55 void UpdateDynamicReflections();
57 void UpdatePointSpotShadowMaps();
59 std::unique_ptr<Nz::AbstractRenderTechnique> m_renderTechnique;
60 std::vector<GraphicsComponentCullingList::VolumeEntry> m_volumeEntries;
61 std::vector<EntityHandle> m_cameras;
68 GraphicsComponentCullingList m_drawableCulling;
72 Nz::RenderTexture m_shadowRT;
73 bool m_coordinateSystemInvalidated;
74 bool m_forceRenderQueueInvalidation;
78 #include <NDK/Systems/RenderSystem.inl> 80 #endif // NDK_SYSTEMS_RENDERSYSTEM_HPP TODO: For now is unable to display different color in the history, it needs a RichTextDrawer to do so...
Definition: Algorithm.hpp:12
NDK class that represents an entity in a world.
Definition: Entity.hpp:28
Graphics class that represents the viewer for our scene.
Definition: AbstractViewer.hpp:21
Graphics class that represents the technique used in depth rendering.
Definition: DepthRenderTechnique.hpp:20
Core class that represents a reference to an object.
Definition: ObjectRef.hpp:18
Graphics class that represents the rendering technique for our scene.
Definition: AbstractRenderTechnique.hpp:20
NDK class that represents the rendering system.
Definition: RenderSystem.hpp:24
NDK class that represents a set of entities to help performing batch operations.
Definition: EntityList.hpp:16