/*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 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.
#include <dali-scene3d/internal/common/environment-map-load-task.h>
// INTERNAL INCLUDES
-#include <dali-scene3d/public-api/loader/cube-map-loader.h>
-
+#include <dali-scene3d/internal/common/image-resource-loader.h>
+#include <dali-scene3d/public-api/loader/environment-map-loader.h>
namespace Dali
{
{
namespace Internal
{
-
-EnvironmentMapLoadTask::EnvironmentMapLoadTask(const std::string& environmentMapUrl, CallbackBase* callback)
+EnvironmentMapLoadTask::EnvironmentMapLoadTask(const std::string& environmentMapUrl, Dali::Scene3D::EnvironmentMapType environmentMapType, CallbackBase* callback)
: AsyncTask(callback),
mEnvironmentMapUrl(environmentMapUrl),
mIsReady(true),
mHasSucceeded(false)
{
+ mEnvironmentMapData.SetEnvironmentMapType(environmentMapType);
}
EnvironmentMapLoadTask::~EnvironmentMapLoadTask()
void EnvironmentMapLoadTask::Process()
{
- mHasSucceeded = Scene3D::Loader::LoadCubeMapData(mEnvironmentMapUrl, mEnvironmentMapPixelData);
+ mHasSucceeded = Scene3D::Loader::LoadEnvironmentMap(mEnvironmentMapUrl, mEnvironmentMapData);
}
bool EnvironmentMapLoadTask::IsReady()
return mHasSucceeded;
}
-Dali::Scene3D::Loader::CubeData EnvironmentMapLoadTask::GetEnvironmentMap() const
+Dali::Texture EnvironmentMapLoadTask::GetLoadedTexture()
+{
+ return (HasSucceeded()) ? mEnvironmentMapData.GetTexture() : Texture();
+}
+
+uint32_t EnvironmentMapLoadTask::GetMipmapLevels()
+{
+ return (HasSucceeded()) ? mEnvironmentMapData.GetMipmapLevels() : 1u;
+}
+
+Dali::Scene3D::EnvironmentMapType EnvironmentMapLoadTask::GetEnvironmentMapType()
{
- Dali::Scene3D::Loader::CubeData environmentMapPixelData;
- if(mIsReady && mHasSucceeded && !mEnvironmentMapPixelData.data.empty())
- {
- environmentMapPixelData = mEnvironmentMapPixelData;
- }
- return environmentMapPixelData;
+ return mEnvironmentMapData.GetEnvironmentMapType();
}
} // namespace Internal