// Copyright (C) 2009-present, Panagiotis Christopoulos Charitos and contributors. // All rights reserved. // Code licensed under the BSD License. // http://www.anki3d.org/LICENSEJ #include #include #include #include #include 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