ReflectionProbeNode.h 805 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright (C) 2009-2021, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #pragma once
  6. #include <AnKi/Scene/SceneNode.h>
  7. #include <AnKi/Math.h>
  8. namespace anki
  9. {
  10. /// @addtogroup scene
  11. /// @{
  12. /// Probe used in realtime reflections.
  13. class ReflectionProbeNode : public SceneNode
  14. {
  15. public:
  16. ReflectionProbeNode(SceneGraph* scene, CString name);
  17. ~ReflectionProbeNode();
  18. ANKI_USE_RESULT Error frameUpdate(Second prevUpdateTime, Second crntTime) override;
  19. private:
  20. class MoveFeedbackComponent;
  21. class ShapeFeedbackComponent;
  22. Array<Transform, 6> m_frustumTransforms;
  23. void onMoveUpdate(MoveComponent& move);
  24. void onShapeUpdate(ReflectionProbeComponent& reflc);
  25. };
  26. /// @}
  27. } // end namespace anki