*
*/
+#include <dali-scene3d/dali-scene3d.h>
+#include <dali-scene3d/public-api/light/light.h>
#include <dali-toolkit/dali-toolkit.h>
-#include <dali-scene3d/public-api/controls/scene-view/scene-view.h>
-#include <dali-scene3d/public-api/controls/model/model.h>
#include <dali/devel-api/actors/actor-devel.h>
-#include <dali-scene3d/public-api/light/light.h>
#include <dali/integration-api/debug.h>
sceneView.SetImageBasedLightSource("", "", 1.0f);
light1.Enable(true);
light2.Enable(true);
- light6.Enable(false); // to reset state of lights
+ light6.Enable(false); // to reset state of lights
light6.Enable(true);
light3.Enable(true);
}
}
private:
- Application& mApplication;
- Scene3D::Light light1;
- Scene3D::Light light2;
- Scene3D::Light light3;
- Scene3D::Light light4;
- Scene3D::Light light5;
- Scene3D::Light light6;
+ Application& mApplication;
+ Scene3D::Light light1;
+ Scene3D::Light light2;
+ Scene3D::Light light3;
+ Scene3D::Light light4;
+ Scene3D::Light light5;
+ Scene3D::Light light6;
Scene3D::SceneView sceneView;
};
int DALI_EXPORT_API main(int argc, char** argv)
{
- Application application = Application::New(&argc, &argv);
+ Application application = Application::New(&argc, &argv);
Scene3dLightController test(application);
application.MainLoop();
return 0;
*\r
*/\r
#include "scene3d-example.h"\r
-#include <dali-toolkit/dali-toolkit.h>\r
#include <dirent.h>\r
#include <cstring>\r
+#include <filesystem>\r
#include <string_view>\r
-#include "dali-scene3d/public-api/loader/model-loader.h"\r
-#include "dali-scene3d/public-api/loader/light-parameters.h"\r
-#include "dali-scene3d/public-api/loader/load-result.h"\r
-#include "dali-scene3d/public-api/loader/shader-definition-factory.h"\r
-#include "dali-toolkit/public-api/controls/scrollable/item-view/default-item-layout.h"\r
-#include "dali-toolkit/public-api/controls/scrollable/item-view/item-factory.h"\r
-#include "dali-toolkit/public-api/controls/text-controls/text-label.h"\r
-#include "dali-toolkit/public-api/visuals/gradient-visual-properties.h"\r
-#include "dali/public-api/actors/layer.h"\r
-#include "dali/public-api/adaptor-framework/key.h"\r
-#include "dali/public-api/events/key-event.h"\r
-#include "dali/public-api/object/property-array.h"\r
-#include "dali/public-api/render-tasks/render-task-list.h"\r
#include "scene3d-extension.h"\r
\r
using namespace Dali;\r
using StringVector = std::vector<std::string>;\r
\r
StringVector ListFiles(\r
- const std::string& path, bool (*predicate)(const char*) = [](const char*) { return true; })\r
+ const std::string& path, bool (*predicate)(const char*) = [](const char*)\r
+ { return true; })\r
{\r
StringVector results;\r
\r
void ConfigureBlendShapeShaders(ResourceBundle& resources, const SceneDefinition& scene, Actor root, std::vector<BlendshapeShaderConfigurationRequest>&& requests)\r
{\r
std::vector<std::string> errors;\r
- auto onError = [&errors](const std::string& msg) {\r
+ auto onError = [&errors](const std::string& msg)\r
+ {\r
errors.push_back(msg);\r
};\r
if(!scene.ConfigureBlendshapeShaders(resources, root, std::move(requests), onError))\r
\r
Actor LoadScene(std::string sceneName, CameraActor camera, std::vector<Dali::Animation>& generatedAnimations, Animation& animation)\r
{\r
- ResourceBundle::PathProvider pathProvider = [](ResourceType::Value type) {\r
+ ResourceBundle::PathProvider pathProvider = [](ResourceType::Value type)\r
+ {\r
return Application::GetResourcePath() + RESOURCE_TYPE_DIRS[type];\r
};\r
\r
cameraParameters[0].ConfigureCamera(camera);\r
SetActorCentered(camera);\r
\r
- ViewProjection viewProjection = cameraParameters[0].GetViewProjection();\r
- Transforms xforms{\r
+ std::filesystem::path modelPath(path);\r
+ std::string extension = modelPath.extension();\r
+ std::transform(extension.begin(), extension.end(), extension.begin(), ::tolower);\r
+\r
+ Scene3D::Loader::ShaderManagerPtr shaderManager = (extension == GLTF_EXTENSION) ? new Scene3D::Loader::ShaderManager() : nullptr;\r
+ ViewProjection viewProjection = cameraParameters[0].GetViewProjection();\r
+ Transforms xforms{\r
MatrixStack{},\r
viewProjection};\r
NodeDefinition::CreateParams nodeParams{\r
resources,\r
xforms,\r
+ shaderManager,\r
{},\r
{},\r
{}};\r
// get scenes\r
auto resPath = Application::GetResourcePath();\r
auto scenePath = resPath + RESOURCE_TYPE_DIRS[ResourceType::Mesh];\r
- auto sceneNames = ListFiles(scenePath, [](const char* name) {\r
+ auto sceneNames = ListFiles(scenePath, [](const char* name)\r
+ {\r
auto len = strlen(name);\r
return (len > DLI_EXTENSION.size() && DLI_EXTENSION.compare(name + (len - DLI_EXTENSION.size())) == 0) ||\r
- (len > GLTF_EXTENSION.size() && GLTF_EXTENSION.compare(name + (len - GLTF_EXTENSION.size())) == 0);\r
- });\r
+ (len > GLTF_EXTENSION.size() && GLTF_EXTENSION.compare(name + (len - GLTF_EXTENSION.size())) == 0); });\r
mSceneNames = sceneNames;\r
\r
// create Dali objects\r
*\r
*/\r
\r
+#include <dali-scene3d/dali-scene3d.h>\r
+#include <dali-toolkit/dali-toolkit.h>\r
+#include <dali-toolkit/devel-api/controls/navigation-view/navigation-view.h>\r
+#include <dali/dali.h>\r
#include <memory>\r
-#include "dali-scene3d/public-api/loader/animation-definition.h"\r
-#include "dali-scene3d/public-api/loader/camera-parameters.h"\r
-#include "dali-scene3d/public-api/loader/node-definition.h"\r
-#include "dali-scene3d/public-api/loader/scene-definition.h"\r
-#include "dali-toolkit/devel-api/controls/navigation-view/navigation-view.h"\r
-#include "dali-toolkit/public-api/controls/scrollable/item-view/item-factory.h"\r
-#include "dali-toolkit/public-api/controls/scrollable/item-view/item-layout.h"\r
-#include "dali-toolkit/public-api/controls/scrollable/item-view/item-view.h"\r
-#include "dali/public-api/actors/camera-actor.h"\r
-#include "dali/public-api/adaptor-framework/application.h"\r
-#include "dali/public-api/common/vector-wrapper.h"\r
-#include "dali/public-api/events/pan-gesture-detector.h"\r
-#include "dali/public-api/render-tasks/render-task.h"\r
-#include "dali/public-api/signals/connection-tracker.h"\r
\r
class Scene3DExtension;\r
\r
void OnKeyboardFocusChanged(Dali::Actor originalFocusedActor, Dali::Actor currentFocusedActor);\r
};\r
\r
-#endif //SCENE_LAUNCHER_H_\r
+#endif // SCENE_LAUNCHER_H_\r