LensFlareComponent.cpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Copyright (C) 2009-present, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #include <AnKi/Scene/Components/LensFlareComponent.h>
  6. #include <AnKi/Scene/SceneGraph.h>
  7. #include <AnKi/Resource/ImageResource.h>
  8. #include <AnKi/Resource/ResourceManager.h>
  9. namespace anki {
  10. LensFlareComponent::LensFlareComponent(SceneNode* node)
  11. : SceneComponent(node, kClassType)
  12. {
  13. }
  14. LensFlareComponent::~LensFlareComponent()
  15. {
  16. }
  17. void LensFlareComponent::loadImageResource(CString filename)
  18. {
  19. ImageResourcePtr image;
  20. const Error err = ResourceManager::getSingleton().loadResource(filename, image);
  21. if(err)
  22. {
  23. ANKI_SCENE_LOGE("Failed to load lens flare image");
  24. return;
  25. }
  26. m_image = std::move(image);
  27. }
  28. void LensFlareComponent::update(SceneComponentUpdateInfo& info, Bool& updated)
  29. {
  30. updated = m_dirty || info.m_node->movedThisFrame();
  31. if(updated)
  32. {
  33. m_dirty = false;
  34. m_worldPosition = info.m_node->getWorldTransform().getOrigin().xyz;
  35. }
  36. }
  37. } // end namespace anki