Commit ba6f393434a64215d9879f982ebfac0ac0ab2025

Authored by seungho
1 parent af599038

Change Scene3dView to ModelView

Change-Id: I0245be90e350f74bac1f2e0a3461077aa00bfa82
Signed-off-by: seungho <sbsh.baek@samsung.com>
com.samsung.dali-demo.xml
... ... @@ -274,8 +274,8 @@
274 274 <ui-application appid="rendering-triangle.example" exec="/usr/apps/com.samsung.dali-demo/bin/rendering-triangle.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
275 275 <label>Rendering Triangle</label>
276 276 </ui-application>
277   - <ui-application appid="scene3d-view.example" exec="/usr/apps/com.samsung.dali-demo/bin/scene3d-view.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
278   - <label>Scene3d View</label>
  277 + <ui-application appid="scene3d-model-view.example" exec="/usr/apps/com.samsung.dali-demo/bin/scene3d-model-view.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
  278 + <label>Model View</label>
279 279 </ui-application>
280 280 <ui-application appid="scene3d.example" exec="/usr/apps/com.samsung.dali-demo/bin/scene3d.example" nodisplay="true" multiple="false" type="c++app" taskmanage="true">
281 281 <label>Scene3D</label>
... ...
demo/dali-demo.cpp
... ... @@ -58,8 +58,8 @@ int DALI_EXPORT_API main(int argc, char** argv)
58 58 demo.AddExample(Example("renderer-stencil.example", DALI_DEMO_STR_TITLE_RENDERER_STENCIL));
59 59 demo.AddExample(Example("rendering-skybox.example", DALI_DEMO_STR_TITLE_SKYBOX));
60 60 demo.AddExample(Example("rendering-basic-pbr.example", DALI_DEMO_STR_TITLE_PBR));
61   - demo.AddExample(Example("scene3d-view.example", DALI_DEMO_STR_TITLE_SCENE3D_VIEW));
62 61 #ifdef DALI_SCENE3D_AVAILABLE
  62 + demo.AddExample(Example("scene3d-model-view.example", DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW));
63 63 demo.AddExample(Example("scene3d.example", DALI_DEMO_STR_TITLE_SCENE3D));
64 64 #endif //DALI_SCENE3D_AVAILABLE
65 65 demo.AddExample(Example("shadows-and-lights.example", DALI_DEMO_STR_TITLE_LIGHTS_AND_SHADOWS));
... ...
examples/scene3d-view/scene3d-view-example.cpp renamed to examples/scene3d-model-view/scene3d-model-view-example.cpp
... ... @@ -16,7 +16,6 @@
16 16 */
17 17  
18 18 #include <dali-toolkit/dali-toolkit.h>
19   -#include <dali-toolkit/devel-api/controls/scene3d-view/scene3d-view.h>
20 19 #include <dali/dali.h>
21 20 #include <dali/devel-api/adaptor-framework/file-loader.h>
22 21 #include <dali/devel-api/adaptor-framework/file-stream.h>
... ... @@ -25,12 +24,14 @@
25 24 #include <dali/public-api/actors/camera-actor.h>
26 25 #include <cstring>
27 26  
  27 +#include <dali-scene3d/public-api/controls/model-view/model-view.h>
  28 +
28 29 using namespace Dali;
29 30 using namespace Dali::Toolkit;
30 31  
31 32 /*
32   - * This example shows how to create and display a Scene3dView control.
33   - * The application can load 5 different glTF model to Scene3dView control.
  33 + * This example shows how to create and display a ModelView control.
  34 + * The application can load 5 different glTF model to ModelView control.
34 35 * Each model has diffirent material. BoomBox shows glossy or matt plastic material.
35 36 * DamagedHelmet shows a kind of reflective glass and metallic object.
36 37 * Microphone shows a roughness of metallic objects.
... ... @@ -41,17 +42,10 @@ using namespace Dali::Toolkit;
41 42  
42 43 namespace
43 44 {
44   -enum GLTF_MODEL_LIST
45   -{
46   - GLTF_ANIMATED_BOX = 0,
47   - GLTF_LANTERN,
48   - GLTF_BOOMBOX,
49   - GLTF_DAMAGED_HELMET,
50   - GLTF_MICROPHONE,
51   - NUM_OF_GLTF_MODELS
52   -};
53 45  
54   -const char* gltf_list[6] =
  46 +static constexpr int32_t NUM_OF_GLTF_MODELS = 7;
  47 +
  48 +const char* gltf_list[7] =
55 49 {
56 50 /**
57 51 * For the BoxAnimated.gltf and its Assets
... ... @@ -86,15 +80,17 @@ const char* gltf_list[6] =
86 80 * Creative Commons Attribution-NonCommercial license
87 81 * https://sketchfab.com/models/5172dbe9281a45f48cee8c15bdfa1831
88 82 */
89   - "microphone.gltf"};
90   -
91   -Vector3 camera_position_list[6] =
92   - {
93   - Vector3(-6.00, -8.00, 12.00),
94   - Vector3(-30.0, -40.0, 60.0),
95   - Vector3(-0.03, -0.04, 0.06),
96   - Vector3(-3.00, -4.00, 6.00),
97   - Vector3(-0.00, -3.00, 4.00)};
  83 + "microphone.gltf",
  84 + /**
  85 + * For the beer_modelView.dli and its Assets
  86 + * This model includes a bottle of beer and cube box.
  87 + */
  88 + "beer_modelView.dli",
  89 + /**
  90 + * For the exercise_modelView.dli and its Assets
  91 + * This model includes a sportsman
  92 + */
  93 + "exercise_modelView.dli"};
98 94  
99 95 /**
100 96 * For the diffuse and specular cube map texture.
... ... @@ -124,8 +120,9 @@ Vector3 camera_position_list[6] =
124 120  
125 121 const std::string modeldir = DEMO_MODEL_DIR;
126 122 const std::string imagedir = DEMO_IMAGE_DIR;
127   -const std::string uri_diffuse_texture(imagedir + "forest_diffuse_cubemap.png");
128   -const std::string uri_specular_texture(imagedir + "forest_specular_cubemap.png");
  123 +const std::string uri_cube_diffuse_texture(imagedir + "forest_diffuse_cubemap.png");
  124 +const std::string uri_diffuse_texture(imagedir + "Studio/Irradiance.ktx");
  125 +const std::string uri_specular_texture(imagedir + "Studio/Radiance.ktx");
129 126  
130 127 const int32_t cubeMap_index_x[6] = {2, 0, 1, 1, 1, 3};
131 128 const int32_t cubeMap_index_y[6] = {1, 1, 0, 2, 1, 1};
... ... @@ -191,25 +188,25 @@ Shader LoadShaders(const std::string&amp; shaderVertexFileName, const std::string&amp; s
191 188 } // namespace
192 189  
193 190 /**
194   - * This example shows how to render glTF model with Scene3dView
  191 + * This example shows how to render glTF model with ModelView
195 192 * How to test
196 193 * - Input UP or DOWN key to make the model rotate or stop.
197 194 * - Input LEFT or RIGHT key to change glTF model
198 195 * - Double Touch also changes glTF model.
199 196 */
200   -class Scene3dViewController : public ConnectionTracker
  197 +class Scene3DModelViewExample : public ConnectionTracker
201 198 {
202 199 public:
203   - Scene3dViewController(Application& application)
  200 + Scene3DModelViewExample(Application& application)
204 201 : mApplication(application),
205 202 mModelOrientation(),
206 203 mAnimationStop(false)
207 204 {
208 205 // Connect to the Application's Init signal
209   - mApplication.InitSignal().Connect(this, &Scene3dViewController::Create);
  206 + mApplication.InitSignal().Connect(this, &Scene3DModelViewExample::Create);
210 207 }
211 208  
212   - ~Scene3dViewController()
  209 + ~Scene3DModelViewExample()
213 210 {
214 211 mAnimation.Stop();
215 212 }
... ... @@ -225,20 +222,20 @@ public:
225 222 RenderTask renderTask = mWindow.GetRenderTaskList().GetTask(0);
226 223 renderTask.SetCullMode(false);
227 224  
228   - mCurrentGlTF = GLTF_ANIMATED_BOX;
229   - CreateSceneFromGLTF(gltf_list[mCurrentGlTF]);
  225 + mCurrentGlTF = 0u;
  226 + CreateSceneFromGLTF(mCurrentGlTF);
230 227 SetCameraActor();
231 228 CreateSkybox();
232 229 SetAnimation();
233 230  
234 231 // Respond to a click anywhere on the mWindow
235   - mWindow.GetRootLayer().TouchedSignal().Connect(this, &Scene3dViewController::OnTouch);
236   - mWindow.KeyEventSignal().Connect(this, &Scene3dViewController::OnKeyEvent);
237   - mWindow.GetRootLayer().WheelEventSignal().Connect(this, &Scene3dViewController::OnWheel);
  232 + mWindow.GetRootLayer().TouchedSignal().Connect(this, &Scene3DModelViewExample::OnTouch);
  233 + mWindow.KeyEventSignal().Connect(this, &Scene3DModelViewExample::OnKeyEvent);
  234 + mWindow.GetRootLayer().WheelEventSignal().Connect(this, &Scene3DModelViewExample::OnWheel);
238 235  
239 236 mDoubleTap = false;
240 237 mDoubleTapTime = Timer::New(150);
241   - mDoubleTapTime.TickSignal().Connect(this, &Scene3dViewController::OnDoubleTapTime);
  238 + mDoubleTapTime.TickSignal().Connect(this, &Scene3DModelViewExample::OnDoubleTapTime);
242 239 }
243 240  
244 241 bool OnWheel(Actor actor, const WheelEvent& wheelEvent)
... ... @@ -247,9 +244,9 @@ public:
247 244 mWheelDelta = std::max(0.5f, mWheelDelta);
248 245 mWheelDelta = std::min(2.0f, mWheelDelta);
249 246  
250   - if(mScene3dView)
  247 + if(mModelView)
251 248 {
252   - mScene3dView.SetProperty(Actor::Property::SCALE, mWheelDelta);
  249 + mModelView.SetProperty(Actor::Property::SCALE, mWheelDelta);
253 250 }
254 251  
255 252 return true;
... ... @@ -261,32 +258,46 @@ public:
261 258 return true;
262 259 }
263 260  
264   - void CreateSceneFromGLTF(std::string modelName)
  261 + void CreateSceneFromGLTF(uint32_t index)
265 262 {
266   - if(mScene3dView)
  263 + if(mModelView)
267 264 {
268   - mWindow.GetRootLayer().Remove(mScene3dView);
  265 + mWindow.GetRootLayer().Remove(mModelView);
269 266 }
270 267  
271 268 std::string gltfUrl = modeldir;
272   - gltfUrl += modelName;
273   - mScene3dView = Scene3dView::New(gltfUrl, uri_diffuse_texture, uri_specular_texture, Vector4::ONE);
274   -
275   - mScene3dView.SetLight(Scene3dView::LightType::POINT_LIGHT, Vector3(-5, -5, 5), Vector3(1, 1, 1));
  269 + gltfUrl += gltf_list[index];
276 270  
277   - mWindow.Add(mScene3dView);
278   - mScene3dView.PlayAnimations();
  271 + mModelView = Dali::Scene3D::ModelView::New(gltfUrl);
  272 + if(index == 0u)
  273 + {
  274 + mModelView.SetProperty(Dali::Actor::Property::SIZE, Vector2(300, 300));
  275 + mModelView.SetProperty(Dali::Actor::Property::POSITION_Y, 100);
  276 + }
  277 + else
  278 + {
  279 + mModelView.SetProperty(Dali::Actor::Property::SIZE, Vector2(600, 600));
  280 + }
  281 + mModelView.SetProperty(Dali::Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER);
  282 + mModelView.SetProperty(Dali::Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER);
  283 + mModelView.SetImageBasedLightSource(uri_diffuse_texture, uri_specular_texture, 0.6f);
  284 + mModelView.FitSize(true);
  285 + mModelView.FitCenter(true);
  286 +
  287 + mWindow.Add(mModelView);
  288 + if(mModelView.GetAnimationCount()>0)
  289 + {
  290 + Animation animation = (index == 0u) ? mModelView.GetAnimation(0u) : mModelView.GetAnimation("idleToSquatClip_0");
  291 + animation.Play();
  292 + animation.SetLoopCount(0);
  293 + }
279 294 }
280 295  
281 296 void SetCameraActor()
282 297 {
283   - mCameraPosition = camera_position_list[mCurrentGlTF];
284 298 mCameraActor = mWindow.GetRenderTaskList().GetTask(0).GetCameraActor();
285   - mCameraActor.SetProperty(Dali::Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER);
286   - mCameraActor.SetProperty(Dali::Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER);
287   - mCameraActor.SetProperty(Dali::Actor::Property::POSITION, mCameraPosition);
  299 + mCameraPosition = mCameraActor.GetProperty<Vector3>(Dali::Actor::Property::POSITION);
288 300 mCameraActor.SetType(Dali::Camera::LOOK_AT_TARGET);
289   - mCameraActor.SetNearClippingPlane(0.01);
290 301 }
291 302  
292 303 void CreateSkybox()
... ... @@ -359,7 +370,7 @@ public:
359 370 mSkyboxGeometry.SetType(Geometry::TRIANGLES);
360 371  
361 372 // Diffuse Cube Map
362   - Devel::PixelBuffer diffusePixelBuffer = LoadImageFromFile(uri_diffuse_texture);
  373 + Devel::PixelBuffer diffusePixelBuffer = LoadImageFromFile(uri_cube_diffuse_texture);
363 374 int32_t diffuseFaceSize = diffusePixelBuffer.GetWidth() / 4;
364 375 Texture texture = Texture::New(TextureType::TEXTURE_CUBE, diffusePixelBuffer.GetPixelFormat(), diffuseFaceSize, diffuseFaceSize);
365 376 for(int32_t i = 0; i < 6; ++i)
... ... @@ -405,7 +416,7 @@ public:
405 416 {
406 417 keyframes.Add(i * lengthAnimation, Quaternion(Degree(i * 90.0), Vector3::YAXIS));
407 418 }
408   - mAnimation.AnimateBetween(Property(mScene3dView, Dali::Actor::Property::ORIENTATION), keyframes, Animation::Interpolation::LINEAR);
  419 + mAnimation.AnimateBetween(Property(mModelView, Dali::Actor::Property::ORIENTATION), keyframes, Animation::Interpolation::LINEAR);
409 420 mAnimation.SetLooping(true);
410 421 mAnimation.Play();
411 422 }
... ... @@ -465,18 +476,7 @@ public:
465 476 {
466 477 mCurrentGlTF = NUM_OF_GLTF_MODELS - 1;
467 478 }
468   - CreateSceneFromGLTF(gltf_list[mCurrentGlTF]);
469   - mCameraPosition = camera_position_list[mCurrentGlTF];
470   - mCameraActor.SetProperty(Dali::Actor::Property::POSITION, mCameraPosition);
471   - if(mCurrentGlTF == GLTF_LANTERN)
472   - {
473   - mCameraActor.SetTargetPosition(Vector3(0.0, -15.0, 0.0));
474   - }
475   - else
476   - {
477   - mCameraActor.SetTargetPosition(Vector3::ZERO);
478   - }
479   - mSkyboxActor.SetProperty(Dali::Actor::Property::POSITION, mCameraPosition);
  479 + CreateSceneFromGLTF(mCurrentGlTF);
480 480 SetAnimation();
481 481 mAnimationStop = false;
482 482 mWheelDelta = 1.0f;
... ... @@ -604,8 +604,8 @@ private:
604 604 CameraActor mCameraActor;
605 605 Dali::Timer mTimer;
606 606  
607   - Vector3 mCameraPosition;
608   - Scene3dView mScene3dView;
  607 + Vector3 mCameraPosition;
  608 + Dali::Scene3D::ModelView mModelView;
609 609  
610 610 Vector2 mPointZ;
611 611 Quaternion mModelOrientation;
... ... @@ -630,8 +630,8 @@ private:
630 630  
631 631 int32_t DALI_EXPORT_API main(int32_t argc, char** argv)
632 632 {
633   - Application application = Application::New(&argc, &argv);
634   - Scene3dViewController test(application);
  633 + Application application = Application::New(&argc, &argv);
  634 + Scene3DModelViewExample test(application);
635 635 application.MainLoop();
636 636 return 0;
637 637 }
... ...
resources/models/beer_modelView.dli 0 → 100644
  1 +{
  2 + "asset": { "version": "1.0" },
  3 + "scene": 0,
  4 + "scenes": [ { "nodes": [ 0 ] } ],
  5 + "nodes": [
  6 + {
  7 + "name": "Scene",
  8 + "matrix": [ 1, 0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1 ],
  9 + "children": [ 1, 2 ]
  10 + },
  11 + {
  12 + "name": "Cube",
  13 + "matrix": [ 2.5, 0, 0, 0, 0, 2.5, 0, 0, 0, 0, 2.5, 0, 0, 0, 0, 1 ],
  14 + "model": {
  15 + "mesh": 0,
  16 + "material": 0,
  17 + "shader": 0
  18 + }
  19 + },
  20 + {
  21 + "name": "bottle",
  22 + "matrix": [ 0.125, 0, 0, 0, 0, -0, 0.125, 0, 0, -0.125, -0, 0, -0, 0, -1.5, 1 ],
  23 + "children": [ 3, 4, 5, 6 ]
  24 + },
  25 + {
  26 + "name": "bottle-cap",
  27 + "model": {
  28 + "mesh": 3,
  29 + "material": 3,
  30 + "shader": 1
  31 + }
  32 + },
  33 + {
  34 + "name": "bottle-alpha-front",
  35 + "model": {
  36 + "mesh": 1,
  37 + "material": 1,
  38 + "shader": 2
  39 + }
  40 + },
  41 + {
  42 + "name": "bottle-alpha-back",
  43 + "model": {
  44 + "mesh": 1,
  45 + "material": 1,
  46 + "shader": 3
  47 + }
  48 + },
  49 + {
  50 + "name": "bottle-label",
  51 + "model": {
  52 + "mesh": 2,
  53 + "material": 2,
  54 + "shader": 4
  55 + }
  56 + }
  57 + ],
  58 + "meshes": [
  59 + {
  60 + "uri": "beer/cube.bin",
  61 + "attributes": 31,
  62 + "primitive": "TRIANGLES",
  63 + "indices": { "byteOffset": 0, "byteLength": 72 },
  64 + "positions": { "byteOffset": 72, "byteLength": 288 },
  65 + "normals": { "byteOffset": 360, "byteLength": 288 },
  66 + "textures": { "byteOffset": 648, "byteLength": 192 },
  67 + "tangents": { "byteOffset": 840, "byteLength": 288 }
  68 + },
  69 + {
  70 + "uri": "beer/beer.bin",
  71 + "attributes": 31,
  72 + "primitive": "TRIANGLES",
  73 + "indices": { "byteOffset": 0, "byteLength": 19920 },
  74 + "positions": { "byteOffset": 19920, "byteLength": 54792 },
  75 + "normals": { "byteOffset": 74712, "byteLength": 54792 },
  76 + "textures": { "byteOffset": 129504, "byteLength": 36528 },
  77 + "tangents": { "byteOffset": 166032, "byteLength": 54792 }
  78 + },
  79 + {
  80 + "uri": "beer/beer.bin",
  81 + "attributes": 31,
  82 + "primitive": "TRIANGLES",
  83 + "indices": { "byteOffset": 220824, "byteLength": 13200 },
  84 + "positions": { "byteOffset": 234024, "byteLength": 14628 },
  85 + "normals": { "byteOffset": 248652, "byteLength": 14628 },
  86 + "textures": { "byteOffset": 263280, "byteLength": 9752 },
  87 + "tangents": { "byteOffset": 273032, "byteLength": 14628 }
  88 + },
  89 + {
  90 + "uri": "beer/beer.bin",
  91 + "attributes": 31,
  92 + "primitive": "TRIANGLES",
  93 + "indices": { "byteOffset": 287660, "byteLength": 31440 },
  94 + "positions": { "byteOffset": 319100, "byteLength": 121032 },
  95 + "normals": { "byteOffset": 440132, "byteLength": 121032 },
  96 + "textures": { "byteOffset": 561164, "byteLength": 80688 },
  97 + "tangents": { "byteOffset": 641852, "byteLength": 121032 }
  98 + }
  99 + ],
  100 + "skeletons": [
  101 + ],
  102 + "cameras": [
  103 + {
  104 + "fov": 60,
  105 + "near": 0.1,
  106 + "far": 100,
  107 + "matrix": [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 3.5, 1 ]
  108 + }
  109 + ],
  110 + "lights": [
  111 + ],
  112 + "materials": [
  113 + {
  114 + "color": [ 1.0, 0.95, 0.5 ],
  115 + "metallic": 0.25,
  116 + "roughness": 1.0,
  117 + "environment": 1
  118 + },
  119 + {
  120 + "color": [ 0.1, 0.4, 0.0, 0.6 ],
  121 + "metallic": 0.4,
  122 + "roughness": 0.0,
  123 + "environment": 1
  124 + },
  125 + {
  126 + "albedoMap": "../images/beer/etiqueta.jpg",
  127 + "roughness": 0.5,
  128 + "environment": 1
  129 + },
  130 + {
  131 + "color": [ 0.5, 0.5, 0.5 ],
  132 + "metallic": 1.0,
  133 + "roughness": 0.0,
  134 + "environment": 1
  135 + }
  136 + ],
  137 + "environment": [
  138 + {
  139 + },
  140 + {
  141 + "cubeSpecular": "../images/Studio/Radiance.ktx",
  142 + "cubeDiffuse": "../images/Studio/Irradiance.ktx",
  143 + "iblIntensity": 0.75
  144 + }
  145 + ],
  146 + "shaders": [
  147 + {
  148 + "vertex": "../shaders/dli_pbr.vsh",
  149 + "fragment": "../shaders/dli_pbr.fsh",
  150 + "rendererState": "DEPTH_TEST|CULL_FRONT",
  151 + "uCubeMatrix": [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ],
  152 + "uMaxLOD": 6
  153 + },
  154 + {
  155 + "vertex": "../shaders/dli_pbr.vsh",
  156 + "fragment": "../shaders/dli_pbr.fsh",
  157 + "rendererState": "DEPTH_TEST|DEPTH_WRITE",
  158 + "uCubeMatrix": [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ],
  159 + "uMaxLOD": 6
  160 + },
  161 + {
  162 + "vertex": "../shaders/dli_pbr.vsh",
  163 + "fragment": "../shaders/dli_pbr.fsh",
  164 + "defines": [ "THREE_TEX" ],
  165 + "rendererState": "ALPHA_BLEND|DEPTH_TEST|CULL_FRONT",
  166 + "uCubeMatrix": [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ],
  167 + "uMaxLOD": 6
  168 + },
  169 + {
  170 + "vertex": "../shaders/dli_pbr.vsh",
  171 + "fragment": "../shaders/dli_pbr.fsh",
  172 + "defines": [ "THREE_TEX" ],
  173 + "rendererState": "ALPHA_BLEND|DEPTH_TEST|CULL_BACK",
  174 + "uCubeMatrix": [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ],
  175 + "uMaxLOD": 6
  176 + },
  177 + {
  178 + "vertex": "../shaders/dli_pbr.vsh",
  179 + "fragment": "../shaders/dli_pbr.fsh",
  180 + "defines": [ "FLIP_V" ],
  181 + "rendererState": "DEPTH_TEST|DEPTH_WRITE|CULL_BACK",
  182 + "uCubeMatrix": [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ],
  183 + "uMaxLOD": 6
  184 + }
  185 + ]
  186 +}
... ...
resources/po/as.po
... ... @@ -178,5 +178,5 @@ msgstr &quot;Skybox&quot;
178 178 msgid "DALI_DEMO_STR_TITLE_PBR"
179 179 msgstr "PBR"
180 180  
181   -msgid "DALI_DEMO_STR_TITLE_SCENE3D_VIEW"
182   -msgstr "Scene3D View glTF"
  181 +msgid "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW"
  182 +msgstr "Scene3D Model View"
... ...
resources/po/de.po
... ... @@ -178,5 +178,5 @@ msgstr &quot;Skybox&quot;
178 178 msgid "DALI_DEMO_STR_TITLE_PBR"
179 179 msgstr "PBR"
180 180  
181   -msgid "DALI_DEMO_STR_TITLE_SCENE3D_VIEW"
182   -msgstr "Scene3D View glTF"
  181 +msgid "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW"
  182 +msgstr "Scene3D Model View"
... ...
resources/po/en_GB.po
... ... @@ -309,5 +309,5 @@ msgstr &quot;Web View&quot;
309 309  
310 310 msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES"
311 311 msgstr "Animated Vector Images"
312   -msgid "DALI_DEMO_STR_TITLE_SCENE3D_VIEW"
313   -msgstr "Scene3D View glTF"
  312 +msgid "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW"
  313 +msgstr "Scene3D Model View"
... ...
resources/po/en_US.po
... ... @@ -324,5 +324,5 @@ msgstr &quot;Text Bitmap Font&quot;
324 324  
325 325 msgid "DALI_DEMO_STR_TITLE_WAVES"
326 326 msgstr "Waves"
327   -msgid "DALI_DEMO_STR_TITLE_SCENE3D_VIEW"
328   -msgstr "Scene3D View glTF"
  327 +msgid "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW"
  328 +msgstr "Scene3D Model View"
... ...
resources/po/es.po
... ... @@ -178,5 +178,5 @@ msgstr &quot;Skybox&quot;
178 178 msgid "DALI_DEMO_STR_TITLE_PBR"
179 179 msgstr "PBR"
180 180  
181   -msgid "DALI_DEMO_STR_TITLE_SCENE3D_VIEW"
182   -msgstr "Scene3D View glTF"
  181 +msgid "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW"
  182 +msgstr "Scene3D Model View"
... ...
resources/po/fi.po
... ... @@ -178,5 +178,5 @@ msgstr &quot;Skybox&quot;
178 178 msgid "DALI_DEMO_STR_TITLE_PBR"
179 179 msgstr "PBR"
180 180  
181   -msgid "DALI_DEMO_STR_TITLE_SCENE3D_VIEW"
182   -msgstr "Scene3D View glTF"
  181 +msgid "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW"
  182 +msgstr "Scene3D Model View"
... ...
resources/po/ko.po
... ... @@ -198,5 +198,5 @@ msgstr &quot;PBR&quot;
198 198  
199 199 msgid "DALI_DEMO_STR_TITLE_ANIMATED_VECTOR_IMAGES"
200 200 msgstr "애니메이션 벡터 이미지"
201   -msgid "DALI_DEMO_STR_TITLE_SCENE3D_VIEW"
202   -msgstr "Scene3D View glTF"
  201 +msgid "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW"
  202 +msgstr "Scene3D Model View"
... ...
resources/po/ml.po
... ... @@ -178,5 +178,5 @@ msgstr &quot;Skybox&quot;
178 178 msgid "DALI_DEMO_STR_TITLE_PBR"
179 179 msgstr "PBR"
180 180  
181   -msgid "DALI_DEMO_STR_TITLE_SCENE3D_VIEW"
182   -msgstr "Scene3D View glTF"
  181 +msgid "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW"
  182 +msgstr "Scene3D Model View"
... ...
resources/po/ur.po
... ... @@ -178,5 +178,5 @@ msgstr &quot;Skybox&quot;
178 178 msgid "DALI_DEMO_STR_TITLE_PBR"
179 179 msgstr "PBR"
180 180  
181   -msgid "DALI_DEMO_STR_TITLE_SCENE3D_VIEW"
182   -msgstr "Scene3D View glTF"
  181 +msgid "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW"
  182 +msgstr "Scene3D Model View"
... ...
resources/po/zn_CH.po
... ... @@ -181,5 +181,5 @@ msgstr &quot;Skybox&quot;
181 181 msgid "DALI_DEMO_STR_TITLE_PBR"
182 182 msgstr "PBR"
183 183  
184   -msgid "DALI_DEMO_STR_TITLE_SCENE3D_VIEW"
185   -msgstr "Scene3D View glTF"
  184 +msgid "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW"
  185 +msgstr "Scene3D Model View"
... ...
shared/dali-demo-strings.h
... ... @@ -115,7 +115,7 @@ extern &quot;C&quot;
115 115 #define DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS")
116 116 #define DALI_DEMO_STR_TITLE_RENDERING_RAY_MARCHING dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_RENDERING_RAY_MARCHING")
117 117 #define DALI_DEMO_STR_TITLE_RENDERER_STENCIL dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_RENDERER_STENCIL")
118   -#define DALI_DEMO_STR_TITLE_SCENE3D_VIEW dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_SCENE3D_VIEW")
  118 +#define DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW")
119 119 #define DALI_DEMO_STR_TITLE_SCENE3D dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_SCENE3D")
120 120 #define DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI")
121 121 #define DALI_DEMO_STR_TITLE_SCROLL_VIEW dgettext(DALI_DEMO_DOMAIN_LOCAL, "DALI_DEMO_STR_TITLE_SCROLL_VIEW")
... ... @@ -227,7 +227,7 @@ extern &quot;C&quot;
227 227 #define DALI_DEMO_STR_TITLE_RENDERING_RAY_MARCHING "Ray Marching"
228 228 #define DALI_DEMO_STR_TITLE_RENDERING_RADIAL_PROGRESS "Radial Progress"
229 229 #define DALI_DEMO_STR_TITLE_RENDERER_STENCIL "Renderer Stencils"
230   -#define DALI_DEMO_STR_TITLE_SCENE3D_VIEW "Scene3D View glTF"
  230 +#define DALI_DEMO_STR_TITLE_SCENE3D_MODEL_VIEW "Scene3D Model View"
231 231 #define DALI_DEMO_STR_TITLE_SCENE3D "Scene3D"
232 232 #define DALI_DEMO_STR_TITLE_SCRIPT_BASED_UI "Script Based UI"
233 233 #define DALI_DEMO_STR_TITLE_SCROLL_VIEW "Scroll View"
... ...