CmOverlay.h 727 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmComponent.h"
  4. namespace CamelotEngine
  5. {
  6. /**
  7. * @brief Overlay components are a special type of components that can be attached directly
  8. * to a Camera and used for rendering 2D graphics. Camera will render any of its overlay
  9. * components after it has rendered the rest of the scene, so these components are usually
  10. * used for GUI elements and full screen effects.
  11. */
  12. class CM_EXPORT Overlay : public Component
  13. {
  14. public:
  15. virtual ~Overlay();
  16. virtual void render(const Camera* camera, DeferredRenderContextPtr& renderContext) const = 0;
  17. protected:
  18. friend class SceneObject;
  19. Overlay(const HSceneObject& parent);
  20. };
  21. }