SkyboxComponent.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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/LICENSEJ
  5. #include <AnKi/Scene/Components/SkyboxComponent.h>
  6. #include <AnKi/Scene/SceneNode.h>
  7. #include <AnKi/Scene/SceneGraph.h>
  8. #include <AnKi/Resource/ImageResource.h>
  9. #include <AnKi/Resource/ResourceManager.h>
  10. namespace anki {
  11. SkyboxComponent::SkyboxComponent(SceneNode* node)
  12. : SceneComponent(node, kClassType)
  13. {
  14. SceneGraph::getSingleton().addSkybox(this);
  15. }
  16. SkyboxComponent::~SkyboxComponent()
  17. {
  18. SceneGraph::getSingleton().removeSkybox(this);
  19. }
  20. void SkyboxComponent::loadImageResource(CString filename)
  21. {
  22. ImageResourcePtr img;
  23. const Error err = ResourceManager::getSingleton().loadResource(filename, img);
  24. if(err)
  25. {
  26. ANKI_SCENE_LOGE("Setting skybox image failed. Ignoring error");
  27. return;
  28. }
  29. m_image = std::move(img);
  30. m_type = SkyboxType::kImage2D;
  31. }
  32. void SkyboxComponent::update([[maybe_unused]] SceneComponentUpdateInfo& info, Bool& updated)
  33. {
  34. updated = false;
  35. }
  36. } // end namespace anki