| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- // Copyright (C) 2009-present, Panagiotis Christopoulos Charitos and contributors.
- // All rights reserved.
- // Code licensed under the BSD License.
- // http://www.anki3d.org/LICENSEJ
- #include <AnKi/Scene/Components/SkyboxComponent.h>
- #include <AnKi/Scene/SceneNode.h>
- #include <AnKi/Scene/SceneGraph.h>
- #include <AnKi/Resource/ImageResource.h>
- #include <AnKi/Resource/ResourceManager.h>
- namespace anki {
- SkyboxComponent::SkyboxComponent(SceneNode* node)
- : SceneComponent(node, kClassType)
- {
- }
- SkyboxComponent::~SkyboxComponent()
- {
- }
- void SkyboxComponent::loadImageResource(CString filename)
- {
- ImageResourcePtr img;
- const Error err = ResourceManager::getSingleton().loadResource(filename, img);
- if(err)
- {
- ANKI_SCENE_LOGE("Setting skybox image failed. Ignoring error");
- return;
- }
- m_image = std::move(img);
- m_type = SkyboxType::kImage2D;
- }
- void SkyboxComponent::update([[maybe_unused]] SceneComponentUpdateInfo& info, Bool& updated)
- {
- updated = false;
- }
- Error SkyboxComponent::serialize(SceneSerializer& serializer)
- {
- ANKI_SERIALIZE(m_type, 1);
- ANKI_SERIALIZE(m_color, 1);
- ANKI_SERIALIZE(m_image, 1);
- ANKI_SERIALIZE(m_imageScale, 1);
- ANKI_SERIALIZE(m_imageBias, 1);
- ANKI_SERIALIZE(m_fog.m_minDensity, 1);
- ANKI_SERIALIZE(m_fog.m_maxDensity, 1);
- ANKI_SERIALIZE(m_fog.m_heightOfMinDensity, 1);
- ANKI_SERIALIZE(m_fog.m_heightOfMaxDensity, 1);
- ANKI_SERIALIZE(m_fog.m_scatteringCoeff, 1);
- ANKI_SERIALIZE(m_fog.m_absorptionCoeff, 1);
- ANKI_SERIALIZE(m_fog.m_diffuseColor, 1);
- return Error::kNone;
- }
- } // end namespace anki
|