LightPointEmission.h 986 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "../quadtree/QuadtreeOccupant.h"
  3. namespace ltbl {
  4. class LightPointEmission : public QuadtreeOccupant {
  5. private:
  6. public:
  7. sf::Sprite _emissionSprite;
  8. sf::Vector2f _localCastCenter;
  9. float _sourceRadius;
  10. float _shadowOverExtendMultiplier;
  11. LightPointEmission()
  12. : _localCastCenter(0.0f, 0.0f), _sourceRadius(8.0f), _shadowOverExtendMultiplier(1.4f)
  13. {}
  14. sf::FloatRect getAABB() const {
  15. return _emissionSprite.getGlobalBounds();
  16. }
  17. void render(const sf::View& view,
  18. sf::RenderTexture& lightTempTexture, sf::RenderTexture& emissionTempTexture, sf::RenderTexture& antumbraTempTexture,
  19. const std::vector<QuadtreeOccupant*>& shapes,
  20. sf::Shader& unshadowShader, sf::Shader& lightOverShapeShader,
  21. bool normalsEnabled, sf::Shader& normalsShader);
  22. };
  23. }