#ifndef DALI_SCENE3D_LOADER_ENVIRONMENT_DEFINITION_H
#define DALI_SCENE3D_LOADER_ENVIRONMENT_DEFINITION_H
/*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
*/
-// INTERNAL INCLUDES
-#include "dali-scene3d/public-api/api.h"
-#include "dali-scene3d/public-api/loader/cube-data.h"
-
// EXTERNAL INCLUDES
-#include "dali/public-api/math/quaternion.h"
-#include "dali/public-api/rendering/texture.h"
+#include <dali/public-api/math/quaternion.h>
+#include <dali/public-api/rendering/texture.h>
+#include <memory>
-namespace Dali
-{
-namespace Scene3D
-{
-namespace Loader
+// INTERNAL INCLUDES
+#include <dali-scene3d/public-api/api.h>
+#include <dali-scene3d/public-api/loader/environment-map-data.h>
+
+namespace Dali::Scene3D::Loader
{
/**
* @brief Defines an environment map with either or both of radiance
struct RawData
{
- CubeData mDiffuse;
- CubeData mSpecular;
- PixelData mBrdf;
+ EnvironmentMapData mDiffuse;
+ EnvironmentMapData mSpecular;
+ PixelData mBrdf;
};
using EnvironmentData = std::pair<EnvironmentDefinition, Textures>;
static float GetDefaultIntensity();
public: // DATA
- std::string mDiffuseMapPath;
- std::string mSpecularMapPath;
- Quaternion mCubeOrientation = Quaternion::IDENTITY;
- Vector3 mYDirection = Vector3::ONE;
- float mIblIntensity = 1.0f;
- bool mUseBrdfTexture = false;
+ std::string mDiffuseMapPath;
+ std::string mSpecularMapPath;
+ std::shared_ptr<RawData> mRawData;
+ Quaternion mCubeOrientation = Quaternion::IDENTITY;
+ Vector3 mYDirection = Vector3::ONE;
+ float mIblIntensity = 1.0f;
+ bool mUseBrdfTexture = false;
};
-} // namespace Loader
-} // namespace Scene3D
-} // namespace Dali
+} // namespace Dali::Scene3D::Loader
-#endif //DALI_SCENE3D_LOADER_ENVIRONMENT_DEFINITION_H
+#endif // DALI_SCENE3D_LOADER_ENVIRONMENT_DEFINITION_H