Browse Source

Rename tools and samples

Panagiotis Christopoulos Charitos 4 years ago
parent
commit
600372cbe0
100 changed files with 667 additions and 173 deletions
  1. 1 1
      AnKi/Importer/GltfImporter.cpp
  2. 4 9
      CMakeLists.txt
  3. 6 6
      README.md
  4. 4 0
      Samples/CMakeLists.txt
  5. 1 1
      Samples/Common/Framework.cpp
  6. 0 0
      Samples/Common/Framework.h
  7. 0 0
      Samples/PhysicsPlayground/Assets/Asphalt_004_COLOR.ankitex
  8. 0 0
      Samples/PhysicsPlayground/Assets/Asphalt_004_DISP.ankitex
  9. 0 0
      Samples/PhysicsPlayground/Assets/Asphalt_004_NRM.ankitex
  10. 0 0
      Samples/PhysicsPlayground/Assets/Asphalt_004_ROUGH.ankitex
  11. 1 1
      Samples/PhysicsPlayground/Assets/GpuSparks.ankimtl
  12. 1 1
      Samples/PhysicsPlayground/Assets/GpuSparks.ankipart
  13. 0 0
      Samples/PhysicsPlayground/Assets/Icosphere.ankicl
  14. BIN
      Samples/PhysicsPlayground/Assets/Icosphere.ankimesh
  15. 8 0
      Samples/PhysicsPlayground/Assets/Icosphere_walls.ankimdl
  16. 95 95
      Samples/PhysicsPlayground/Assets/Scene.lua
  17. 2 2
      Samples/PhysicsPlayground/Assets/Smoke.ankimtl
  18. 1 1
      Samples/PhysicsPlayground/Assets/Smoke.ankipart
  19. 0 0
      Samples/PhysicsPlayground/Assets/Smoke.ankitex
  20. 0 0
      Samples/PhysicsPlayground/Assets/Stone_Wall_007_COLOR.ankitex
  21. 0 0
      Samples/PhysicsPlayground/Assets/Stone_Wall_007_DISP.ankitex
  22. 0 0
      Samples/PhysicsPlayground/Assets/Stone_Wall_007_NORM.ankitex
  23. 0 0
      Samples/PhysicsPlayground/Assets/Stone_Wall_007_ROUGH.ankitex
  24. 0 0
      Samples/PhysicsPlayground/Assets/Suzanne.ankicl
  25. BIN
      Samples/PhysicsPlayground/Assets/Suzanne.ankimesh
  26. 8 0
      Samples/PhysicsPlayground/Assets/Suzanne_dynamic.ankimdl
  27. 0 0
      Samples/PhysicsPlayground/Assets/Unbacked/Asphalt_004_COLOR.png
  28. 0 0
      Samples/PhysicsPlayground/Assets/Unbacked/Asphalt_004_DISP.png
  29. 0 0
      Samples/PhysicsPlayground/Assets/Unbacked/Asphalt_004_NRM.png
  30. 0 0
      Samples/PhysicsPlayground/Assets/Unbacked/Asphalt_004_ROUGH.png
  31. BIN
      Samples/PhysicsPlayground/Assets/Unbacked/PhysicsPlayground.blend
  32. 0 0
      Samples/PhysicsPlayground/Assets/Unbacked/Stone_Wall_007_COLOR.png
  33. 0 0
      Samples/PhysicsPlayground/Assets/Unbacked/Stone_Wall_007_DISP.png
  34. 0 0
      Samples/PhysicsPlayground/Assets/Unbacked/Stone_Wall_007_NORM.png
  35. 0 0
      Samples/PhysicsPlayground/Assets/Unbacked/Stone_Wall_007_ROUGH.png
  36. 2 2
      Samples/PhysicsPlayground/Assets/dynamic.ankimtl
  37. 0 0
      Samples/PhysicsPlayground/Assets/floor.ankicl
  38. BIN
      Samples/PhysicsPlayground/Assets/floor.ankimesh
  39. 8 0
      Samples/PhysicsPlayground/Assets/floor_walls.ankimdl
  40. 1 1
      Samples/PhysicsPlayground/Assets/sky.ankimtl
  41. 0 0
      Samples/PhysicsPlayground/Assets/sphere_r2.ankicl
  42. 0 0
      Samples/PhysicsPlayground/Assets/wall.ankicl
  43. BIN
      Samples/PhysicsPlayground/Assets/wall.ankimesh
  44. 8 0
      Samples/PhysicsPlayground/Assets/wall_walls.001.ankimdl
  45. 5 5
      Samples/PhysicsPlayground/Assets/walls.001.ankimtl
  46. BIN
      Samples/PhysicsPlayground/Assets/walls.ankimesh
  47. 5 5
      Samples/PhysicsPlayground/Assets/walls.ankimtl
  48. 2 2
      Samples/PhysicsPlayground/Assets/walls_sky.ankimdl
  49. 4 0
      Samples/PhysicsPlayground/CMakeLists.txt
  50. 11 11
      Samples/PhysicsPlayground/Main.cpp
  51. BIN
      Samples/SimpleScene/Assets/CornellBox.blend
  52. BIN
      Samples/SimpleScene/Assets/Mesh_0.ankimesh
  53. 8 0
      Samples/SimpleScene/Assets/Mesh_0_backWall.ankimdl
  54. BIN
      Samples/SimpleScene/Assets/Mesh_1.ankimesh
  55. 8 0
      Samples/SimpleScene/Assets/Mesh_1_ceiling.ankimdl
  56. BIN
      Samples/SimpleScene/Assets/Mesh_2.ankimesh
  57. 8 0
      Samples/SimpleScene/Assets/Mesh_2_floor.ankimdl
  58. BIN
      Samples/SimpleScene/Assets/Mesh_3.ankimesh
  59. 8 0
      Samples/SimpleScene/Assets/Mesh_3_leftWall.ankimdl
  60. BIN
      Samples/SimpleScene/Assets/Mesh_4.ankimesh
  61. 8 0
      Samples/SimpleScene/Assets/Mesh_4_light.ankimdl
  62. BIN
      Samples/SimpleScene/Assets/Mesh_5.ankimesh
  63. 8 0
      Samples/SimpleScene/Assets/Mesh_5_rightWall.ankimdl
  64. BIN
      Samples/SimpleScene/Assets/Mesh_6.ankimesh
  65. 8 0
      Samples/SimpleScene/Assets/Mesh_6_shortBox.ankimdl
  66. BIN
      Samples/SimpleScene/Assets/Mesh_7.ankimesh
  67. 8 0
      Samples/SimpleScene/Assets/Mesh_7_tallBox.ankimdl
  68. 121 0
      Samples/SimpleScene/Assets/Scene.lua
  69. 4 4
      Samples/SimpleScene/Assets/backWall.ankimtl
  70. 34 0
      Samples/SimpleScene/Assets/ceiling.ankimtl
  71. 34 0
      Samples/SimpleScene/Assets/floor.ankimtl
  72. 34 0
      Samples/SimpleScene/Assets/leftWall.ankimtl
  73. 34 0
      Samples/SimpleScene/Assets/light.ankimtl
  74. 34 0
      Samples/SimpleScene/Assets/rightWall.ankimtl
  75. 34 0
      Samples/SimpleScene/Assets/shortBox.ankimtl
  76. 34 0
      Samples/SimpleScene/Assets/tallBox.ankimtl
  77. 4 0
      Samples/SimpleScene/CMakeLists.txt
  78. 4 4
      Samples/SimpleScene/Main.cpp
  79. 0 0
      Samples/SkeletalAnimation/Assets/Armature.002.ankiskel
  80. 0 0
      Samples/SkeletalAnimation/Assets/Drone_diff.ankitex
  81. 0 0
      Samples/SkeletalAnimation/Assets/Drone_normal.ankitex
  82. 0 0
      Samples/SkeletalAnimation/Assets/Drone_roughness.ankitex
  83. 0 0
      Samples/SkeletalAnimation/Assets/Mesh.ankimesh
  84. 8 0
      Samples/SkeletalAnimation/Assets/Mesh_Robot.001.ankimdl
  85. 5 5
      Samples/SkeletalAnimation/Assets/Robot.001.ankimtl
  86. 7 7
      Samples/SkeletalAnimation/Assets/Scene.lua
  87. 0 0
      Samples/SkeletalAnimation/Assets/float.001.ankianim
  88. 0 0
      Samples/SkeletalAnimation/Assets/room.001.ankimesh
  89. 8 0
      Samples/SkeletalAnimation/Assets/room.001_room.red.ankimdl
  90. 0 0
      Samples/SkeletalAnimation/Assets/room.002.ankimesh
  91. 8 0
      Samples/SkeletalAnimation/Assets/room.002_room.green.ankimdl
  92. 0 0
      Samples/SkeletalAnimation/Assets/room.003.ankimesh
  93. 8 0
      Samples/SkeletalAnimation/Assets/room.003_room.blue.ankimdl
  94. 0 0
      Samples/SkeletalAnimation/Assets/room.ankimesh
  95. 2 2
      Samples/SkeletalAnimation/Assets/room.ankimtl
  96. 2 2
      Samples/SkeletalAnimation/Assets/room.blue.ankimtl
  97. 2 2
      Samples/SkeletalAnimation/Assets/room.green.ankimtl
  98. 2 2
      Samples/SkeletalAnimation/Assets/room.red.ankimtl
  99. 2 2
      Samples/SkeletalAnimation/Assets/room_room.ankimdl
  100. 0 0
      Samples/SkeletalAnimation/Assets/wave.001.ankianim

+ 1 - 1
AnKi/Importer/GltfImporter.cpp

@@ -215,7 +215,7 @@ Error GltfImporter::writeAll()
 	}
 
 	StringAuto sceneFname(m_alloc);
-	sceneFname.sprintf("%sscene.lua", m_outDir.cstr());
+	sceneFname.sprintf("%sScene.lua", m_outDir.cstr());
 	ANKI_CHECK(m_sceneFile.open(sceneFname.toCString(), FileOpenFlag::WRITE));
 	ANKI_CHECK(m_sceneFile.writeText("-- Generated by: %s\n", m_comment.cstr()));
 	ANKI_CHECK(m_sceneFile.writeText("local scene = getSceneGraph()\nlocal events = getEventManager()\n"));

+ 4 - 9
CMakeLists.txt

@@ -10,8 +10,8 @@ PROJECT(AnKi)
 
 macro(installExecutable exe)
 	add_custom_command(TARGET ${exe} POST_BUILD
-		COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/bin
-		COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${exe}> ${CMAKE_BINARY_DIR}/bin)
+		COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/Bin
+		COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${exe}> ${CMAKE_BINARY_DIR}/Bin)
 endmacro()
 
 macro(addAnkiSourceFiles)
@@ -77,7 +77,6 @@ option(ANKI_LTO "LTO compilation" OFF)
 option(ANKI_BUILD_TOOLS "Build tools" ON)
 option(ANKI_BUILD_TESTS "Build unit tests" OFF)
 option(ANKI_BUILD_SANDBOX "Build sandbox application" ON)
-option(ANKI_BUILD_BENCH "Build benchmark application" OFF)
 option(ANKI_BUILD_SAMPLES "Build sample applications" ON)
 
 option(ANKI_STRIP "Srip the symbols from the executables" OFF)
@@ -406,7 +405,7 @@ if(ANKI_BUILD_TESTS)
 endif()
 
 if(ANKI_BUILD_TOOLS)
-	add_subdirectory(tools)
+	add_subdirectory(Tools)
 endif()
 
 if(ANKI_BUILD_SANDBOX)
@@ -414,10 +413,6 @@ if(ANKI_BUILD_SANDBOX)
 endif()
 
 if(ANKI_BUILD_SAMPLES)
-	add_subdirectory(samples)
-endif()
-
-if(ANKI_BUILD_BENCH)
-	add_subdirectory(bench)
+	add_subdirectory(Samples)
 endif()
 

+ 6 - 6
README.md

@@ -85,19 +85,19 @@ Alternatively, recent Visual Studio versions support building CMake projects fro
 
 This code repository contains **4 sample projects** that are built by default (`ANKI_BUILD_SAMPLES` CMake option):
 
-- `sponza`: The Crytek's Sponza scene
-- `simple_scene`: A simple scene
-- `physics_playground`: A scene with programmer's art and some physics interactions
-- `skeletal_animation`: A simple scene with an animated skin
+- `Sponza`: The Crytek's Sponza scene
+- `SimpleScene`: A simple scene
+- `PhysicsPlayground`: A scene with programmer's art and some physics interactions
+- `SkeletalAnimation`: A simple scene with an animated skin
 
 You can try running them and interacting with them. To run sponza, for example, execute the binary from any working
 directory.
 
 On Linux:
 
-	$./path/to/build/bin/sponza
+	$./path/to/build/Bin/Sponza
 
-On Windows just find the `sponza.exe` and execute it. It's preferable to run the samples from a terminal because that
+On Windows just find the `Sponza.exe` and execute it. It's preferable to run the samples from a terminal because that
 prints some information, including possible errors.
 
 4 Contributing

+ 4 - 0
Samples/CMakeLists.txt

@@ -0,0 +1,4 @@
+add_subdirectory(SimpleScene)
+add_subdirectory(Sponza)
+add_subdirectory(PhysicsPlayground)
+add_subdirectory(SkeletalAnimation)

+ 1 - 1
samples/common/Framework.cpp → Samples/Common/Framework.cpp

@@ -12,7 +12,7 @@ Error SampleApp::init(int argc, char** argv, CString sampleName)
 	HeapAllocator<U32> alloc(allocAligned, nullptr);
 	StringAuto mainDataPath(alloc, ANKI_SOURCE_DIRECTORY);
 	StringAuto assetsDataPath(alloc);
-	assetsDataPath.sprintf("%s/samples/%s", ANKI_SOURCE_DIRECTORY, sampleName.cstr());
+	assetsDataPath.sprintf("%s/Samples/%s", ANKI_SOURCE_DIRECTORY, sampleName.cstr());
 
 	if(!directoryExists(assetsDataPath))
 	{

+ 0 - 0
samples/common/Framework.h → Samples/Common/Framework.h


+ 0 - 0
samples/physics_playground/assets/Asphalt_004_COLOR.ankitex → Samples/PhysicsPlayground/Assets/Asphalt_004_COLOR.ankitex


+ 0 - 0
samples/physics_playground/assets/Asphalt_004_DISP.ankitex → Samples/PhysicsPlayground/Assets/Asphalt_004_DISP.ankitex


+ 0 - 0
samples/physics_playground/assets/Asphalt_004_NRM.ankitex → Samples/PhysicsPlayground/Assets/Asphalt_004_NRM.ankitex


+ 0 - 0
samples/physics_playground/assets/Asphalt_004_ROUGH.ankitex → Samples/PhysicsPlayground/Assets/Asphalt_004_ROUGH.ankitex


+ 1 - 1
samples/physics_playground/assets/gpu_sparks.ankimtl → Samples/PhysicsPlayground/Assets/GpuSparks.ankimtl

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<material shaderProgram="anki/shaders/GBufferGpuParticles.ankiprog" shadow="0">
+<material shaderProgram="Anki/Shaders/GBufferGpuParticles.ankiprog" shadow="0">
 	<inputs>
 		<input shaderVar="m_diffColor" value="1.0 0.1 0.1"/>
 		<input shaderVar="m_specColor" value="0.04 0.04 0.04"/>

+ 1 - 1
samples/physics_playground/assets/gpu_sparks.ankipart → Samples/PhysicsPlayground/Assets/GpuSparks.ankipart

@@ -13,7 +13,7 @@
 	<maxNumberOfParticles value="10"/>
 	<emissionPeriod value="0.05"/>
 	<particlesPerEmission value="1"/>
-	<material value="assets/gpu_sparks.ankimtl"/>
+	<material value="Assets/GpuSparks.ankimtl"/>
 
 	<emitterBoundingVolume min="-1.0 0.0 -1.0" max="1 2 1" />
 </particleEmitter>

+ 0 - 0
samples/physics_playground/assets/Icosphere.ankicl → Samples/PhysicsPlayground/Assets/Icosphere.ankicl


BIN
Samples/PhysicsPlayground/Assets/Icosphere.ankimesh


+ 8 - 0
Samples/PhysicsPlayground/Assets/Icosphere_walls.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Icosphere.ankimesh</mesh>
+			<material>Assets/walls.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

+ 95 - 95
samples/physics_playground/assets/scene.lua → Samples/PhysicsPlayground/Assets/Scene.lua

@@ -1,10 +1,10 @@
--- Generated by: /home/godlike/src/anki/buildd/bin/gltf_importer physics_playground.gltf ../../ -rpath assets -texrpath assets
+-- Generated by: /home/godlike/src/anki/buildd/Bin/GltfImporter PhysicsPlayground.gltf ../../ -rpath Assets -texrpath Assets
 local scene = getSceneGraph()
 local events = getEventManager()
 
 node = scene:newGpuParticleEmitterNode("Cube.020")
 comp = node:getSceneNodeBase():getGpuParticleEmitterComponent()
-comp:loadParticleEmitterResource("assets/gpu_sparks.ankipart")
+comp:loadParticleEmitterResource("Assets/GpuSparks.ankipart")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(25.411236, 0.543148, 22.679190, 0))
 rot = Mat3x4.new()
@@ -14,7 +14,7 @@ trf:setScale(0.500000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
 node = scene:newModelNode("Icosphere.001")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/Icosphere_walls.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Icosphere_walls.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(25.411236, 3.345554, 28.742823, 0))
 rot = Mat3x4.new()
@@ -24,11 +24,11 @@ trf:setScale(1.912920)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Icosphere.001_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/Icosphere.ankimesh")
+comp:loadMeshResource("Assets/Icosphere.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Icosphere")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/Icosphere_walls.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Icosphere_walls.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(25.411236, 3.316930, 22.637743, 0))
 rot = Mat3x4.new()
@@ -38,11 +38,11 @@ trf:setScale(1.264235)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Icosphere_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/Icosphere.ankimesh")
+comp:loadMeshResource("Assets/Icosphere.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.019")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(30.798492, 2.376611, -6.000000, 0))
 rot = Mat3x4.new()
@@ -52,11 +52,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.019_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.018")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(29.798492, 1.376611, -6.000000, 0))
 rot = Mat3x4.new()
@@ -66,11 +66,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.018_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.017")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(28.798492, 0.376611, -6.000000, 0))
 rot = Mat3x4.new()
@@ -80,11 +80,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.017_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.016")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(31.798492, 3.376611, -6.000000, 0))
 rot = Mat3x4.new()
@@ -94,11 +94,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.016_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.015")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(32.798492, 4.376611, -6.000000, 0))
 rot = Mat3x4.new()
@@ -108,11 +108,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.015_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.014")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(33.798492, 5.376611, -6.000000, 0))
 rot = Mat3x4.new()
@@ -122,11 +122,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.014_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.013")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(39.798492, 6.376611, 0.000000, 0))
 rot = Mat3x4.new()
@@ -136,11 +136,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.013_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.012")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(39.798492, 6.376611, -6.000000, 0))
 rot = Mat3x4.new()
@@ -150,11 +150,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.012_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.011")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(39.798492, 6.376611, 6.000000, 0))
 rot = Mat3x4.new()
@@ -164,11 +164,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.011_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.010")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(39.798492, 6.376611, 12.000000, 0))
 rot = Mat3x4.new()
@@ -178,11 +178,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.010_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.009")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(42.271385, 2.886189, 0.000000, 0))
 rot = Mat3x4.new()
@@ -192,11 +192,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.009_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.008")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(42.271385, 2.886189, -6.000000, 0))
 rot = Mat3x4.new()
@@ -206,11 +206,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.008_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.007")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(42.271385, 2.886189, 6.000000, 0))
 rot = Mat3x4.new()
@@ -220,11 +220,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.007_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.006")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(42.271385, 2.886189, 12.000000, 0))
 rot = Mat3x4.new()
@@ -234,11 +234,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.006_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.005")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(37.271385, 2.886189, 12.000000, 0))
 rot = Mat3x4.new()
@@ -248,11 +248,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.005_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.004")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(37.271385, 2.886189, 6.000000, 0))
 rot = Mat3x4.new()
@@ -262,11 +262,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.004_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.003")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(37.271385, 2.886189, -6.000000, 0))
 rot = Mat3x4.new()
@@ -276,11 +276,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.003_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.002")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(37.271385, 2.886189, 0.000000, 0))
 rot = Mat3x4.new()
@@ -290,11 +290,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.002_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Suzanne")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/Suzanne_dynamic.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Suzanne_dynamic.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(179.044937, 9.701135, 0.000000, 0))
 rot = Mat3x4.new()
@@ -304,11 +304,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Suzanne_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/Suzanne.ankimesh")
+comp:loadMeshResource("Assets/Suzanne.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.001")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/walls_sky.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/walls_sky.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(0.000000, 9.109353, 0.000000, 0))
 rot = Mat3x4.new()
@@ -318,7 +318,7 @@ trf:setScale(10.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
 node = scene:newModelNode("Cube")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/floor_walls.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/floor_walls.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(0.000000, -5.068616, 0.000000, 0))
 rot = Mat3x4.new()
@@ -328,7 +328,7 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/floor.ankimesh")
+comp:loadMeshResource("Assets/floor.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newDirectionalLightNode("Lamp_Orientation")
@@ -358,7 +358,7 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
 node = scene:newModelNode("Cube.021")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(39.798492, 6.376611, -12.000000, 0))
 rot = Mat3x4.new()
@@ -368,11 +368,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.021_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.022")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(42.271385, 2.886189, -12.000000, 0))
 rot = Mat3x4.new()
@@ -382,11 +382,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.022_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.023")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(37.271385, 2.886189, -12.000000, 0))
 rot = Mat3x4.new()
@@ -396,11 +396,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.023_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.024")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(39.798492, 6.376611, -18.000000, 0))
 rot = Mat3x4.new()
@@ -410,11 +410,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.024_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.025")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(42.271385, 2.886189, -18.000000, 0))
 rot = Mat3x4.new()
@@ -424,11 +424,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.025_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.026")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(37.271385, 2.886189, -18.000000, 0))
 rot = Mat3x4.new()
@@ -438,11 +438,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.026_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.027")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(34.761005, 2.886189, -21.498241, 0))
 rot = Mat3x4.new()
@@ -452,11 +452,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.027_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.028")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(44.761005, 2.886189, -21.498241, 0))
 rot = Mat3x4.new()
@@ -466,11 +466,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.028_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.029")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(47.271385, 2.886189, -25.000000, 0))
 rot = Mat3x4.new()
@@ -480,11 +480,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.029_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.030")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(32.271385, 2.886189, -25.000000, 0))
 rot = Mat3x4.new()
@@ -494,11 +494,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.030_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.031")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(32.271385, 2.886189, -31.000000, 0))
 rot = Mat3x4.new()
@@ -508,11 +508,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.031_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.032")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(47.271385, 2.886189, -31.000000, 0))
 rot = Mat3x4.new()
@@ -522,11 +522,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.032_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.033")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(44.761005, 2.886189, -34.498241, 0))
 rot = Mat3x4.new()
@@ -536,11 +536,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.033_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.034")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(38.761005, 2.886189, -34.498241, 0))
 rot = Mat3x4.new()
@@ -550,11 +550,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.034_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.035")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(34.761005, 2.886189, -34.498241, 0))
 rot = Mat3x4.new()
@@ -564,11 +564,11 @@ trf:setScale(0.995130)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.035_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.036")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(34.798492, 6.376611, -32.000000, 0))
 rot = Mat3x4.new()
@@ -578,11 +578,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.036_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.038")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(34.798492, 6.376611, -24.000000, 0))
 rot = Mat3x4.new()
@@ -592,11 +592,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.038_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.039")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(34.798492, 6.398044, -28.000000, 0))
 rot = Mat3x4.new()
@@ -606,11 +606,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.039_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.037")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(44.798492, 6.376611, -32.000000, 0))
 rot = Mat3x4.new()
@@ -620,11 +620,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.037_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.040")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(44.798492, 6.376611, -24.000000, 0))
 rot = Mat3x4.new()
@@ -634,11 +634,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.040_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.041")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(44.798492, 6.398044, -28.000000, 0))
 rot = Mat3x4.new()
@@ -648,11 +648,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.041_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.042")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(39.798492, 6.334259, -31.947594, 0))
 rot = Mat3x4.new()
@@ -662,11 +662,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.042_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.043")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(39.798492, 6.334259, -23.947592, 0))
 rot = Mat3x4.new()
@@ -676,11 +676,11 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.043_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newModelNode("Cube.044")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/wall_walls.001.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/wall_walls.001.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(39.798492, 6.355691, -27.947592, 0))
 rot = Mat3x4.new()
@@ -690,7 +690,7 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 node2 = scene:newStaticCollisionNode("Cube.044_cl")
 comp = node2:getSceneNodeBase():getBodyComponent()
-comp:loadMeshResource("assets/wall.ankimesh")
+comp:loadMeshResource("Assets/wall.ankimesh")
 comp:setWorldTransform(trf)
 
 node = scene:newGlobalIlluminationProbeNode("refl_probe.002")

+ 2 - 2
samples/sponza/assets/smoke.ankimtl → Samples/PhysicsPlayground/Assets/Smoke.ankimtl

@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<material shaderProgram="anki/shaders/ForwardShadingParticles.ankiprog" forwardShading="1" shadow="0">
+<material shaderProgram="Anki/Shaders/ForwardShadingParticles.ankiprog" forwardShading="1" shadow="0">
 	<mutation>
 		<mutator name="ANIMATED_TEXTURE" value="0"/>
 		<mutator name="LIGHT" value="1"/>
 	</mutation>
 
 	<inputs>
-		<input shaderVar="u_diffuseMap" value="assets/smoke.ankitex"/>
+		<input shaderVar="u_diffuseMap" value="Assets/Smoke.ankitex"/>
 		<input shaderVar="m_colorScale" value="1.0 1.0 1.0 1.0"/>
 		<input shaderVar="m_colorBias" value="0 0 0 0"/>
 	</inputs>

+ 1 - 1
samples/physics_playground/assets/smoke.ankipart → Samples/PhysicsPlayground/Assets/Smoke.ankipart

@@ -20,6 +20,6 @@
 	<maxNumberOfParticles value="8"/>
 	<emissionPeriod value="0.001"/>
 	<particlesPerEmission value="8"/>
-	<material value="assets/smoke.ankimtl"/>
+	<material value="Assets/Smoke.ankimtl"/>
 	<usePhysicsEngine value="1"/>
 </particleEmitter>

+ 0 - 0
samples/physics_playground/assets/smoke.ankitex → Samples/PhysicsPlayground/Assets/Smoke.ankitex


+ 0 - 0
samples/physics_playground/assets/Stone_Wall_007_COLOR.ankitex → Samples/PhysicsPlayground/Assets/Stone_Wall_007_COLOR.ankitex


+ 0 - 0
samples/physics_playground/assets/Stone_Wall_007_DISP.ankitex → Samples/PhysicsPlayground/Assets/Stone_Wall_007_DISP.ankitex


+ 0 - 0
samples/physics_playground/assets/Stone_Wall_007_NORM.ankitex → Samples/PhysicsPlayground/Assets/Stone_Wall_007_NORM.ankitex


+ 0 - 0
samples/physics_playground/assets/Stone_Wall_007_ROUGH.ankitex → Samples/PhysicsPlayground/Assets/Stone_Wall_007_ROUGH.ankitex


+ 0 - 0
samples/physics_playground/assets/Suzanne.ankicl → Samples/PhysicsPlayground/Assets/Suzanne.ankicl


BIN
Samples/PhysicsPlayground/Assets/Suzanne.ankimesh


+ 8 - 0
Samples/PhysicsPlayground/Assets/Suzanne_dynamic.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Suzanne.ankimesh</mesh>
+			<material>Assets/dynamic.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

+ 0 - 0
samples/physics_playground/assets/unbacked/Asphalt_004_COLOR.png → Samples/PhysicsPlayground/Assets/Unbacked/Asphalt_004_COLOR.png


+ 0 - 0
samples/physics_playground/assets/unbacked/Asphalt_004_DISP.png → Samples/PhysicsPlayground/Assets/Unbacked/Asphalt_004_DISP.png


+ 0 - 0
samples/physics_playground/assets/unbacked/Asphalt_004_NRM.png → Samples/PhysicsPlayground/Assets/Unbacked/Asphalt_004_NRM.png


+ 0 - 0
samples/physics_playground/assets/unbacked/Asphalt_004_ROUGH.png → Samples/PhysicsPlayground/Assets/Unbacked/Asphalt_004_ROUGH.png


BIN
Samples/PhysicsPlayground/Assets/Unbacked/PhysicsPlayground.blend


+ 0 - 0
samples/physics_playground/assets/unbacked/Stone_Wall_007_COLOR.png → Samples/PhysicsPlayground/Assets/Unbacked/Stone_Wall_007_COLOR.png


+ 0 - 0
samples/physics_playground/assets/unbacked/Stone_Wall_007_DISP.png → Samples/PhysicsPlayground/Assets/Unbacked/Stone_Wall_007_DISP.png


+ 0 - 0
samples/physics_playground/assets/unbacked/Stone_Wall_007_NORM.png → Samples/PhysicsPlayground/Assets/Unbacked/Stone_Wall_007_NORM.png


+ 0 - 0
samples/physics_playground/assets/unbacked/Stone_Wall_007_ROUGH.png → Samples/PhysicsPlayground/Assets/Unbacked/Stone_Wall_007_ROUGH.png


+ 2 - 2
samples/physics_playground/assets/dynamic.ankimtl → Samples/PhysicsPlayground/Assets/dynamic.ankimtl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ImporterMaterial.cpp -->
-<material shaderProgram="anki/shaders/GBufferGeneric.ankiprog">
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
 	<mutation>
 		<mutator name="DIFFUSE_TEX" value="0"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -26,7 +26,7 @@
 </material>
 
 <rtMaterial>
-	<rayType type="shadows" shaderProgram="anki/shaders/RtShadowsHit.ankiprog">
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
 		<mutation>
 			<mutator name="ALPHA_TEXTURE" value="0"/>
 		</mutation>

+ 0 - 0
samples/physics_playground/assets/floor.ankicl → Samples/PhysicsPlayground/Assets/floor.ankicl


BIN
Samples/PhysicsPlayground/Assets/floor.ankimesh


+ 8 - 0
Samples/PhysicsPlayground/Assets/floor_walls.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/floor.ankimesh</mesh>
+			<material>Assets/walls.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

+ 1 - 1
samples/physics_playground/assets/sky.ankimtl → Samples/PhysicsPlayground/Assets/sky.ankimtl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ImporterMaterial.cpp -->
-<material shaderProgram="anki/shaders/GBufferGeneric.ankiprog">
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
 	<mutation>
 		<mutator name="DIFFUSE_TEX" value="0"/>
 		<mutator name="SPECULAR_TEX" value="0"/>

+ 0 - 0
samples/physics_playground/assets/sphere_r2.ankicl → Samples/PhysicsPlayground/Assets/sphere_r2.ankicl


+ 0 - 0
samples/physics_playground/assets/wall.ankicl → Samples/PhysicsPlayground/Assets/wall.ankicl


BIN
Samples/PhysicsPlayground/Assets/wall.ankimesh


+ 8 - 0
Samples/PhysicsPlayground/Assets/wall_walls.001.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/wall.ankimesh</mesh>
+			<material>Assets/walls.001.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

+ 5 - 5
samples/physics_playground/assets/walls.001.ankimtl → Samples/PhysicsPlayground/Assets/walls.001.ankimtl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ImporterMaterial.cpp -->
-<material shaderProgram="anki/shaders/GBufferGeneric.ankiprog">
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
 	<mutation>
 		<mutator name="DIFFUSE_TEX" value="1"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -14,11 +14,11 @@
 	<inputs>
 		
 
-		<input shaderVar="u_diffTex" value="assets/Stone_Wall_007_COLOR.ankitex"/>
+		<input shaderVar="u_diffTex" value="Assets/Stone_Wall_007_COLOR.ankitex"/>
 		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
-		<input shaderVar="u_roughnessTex" value="assets/Stone_Wall_007_ROUGH.ankitex"/>
+		<input shaderVar="u_roughnessTex" value="Assets/Stone_Wall_007_ROUGH.ankitex"/>
 		<input shaderVar="m_metallic" value="0.000000"/>
-		<input shaderVar="u_normalTex" value="assets/Stone_Wall_007_NORM.ankitex"/>
+		<input shaderVar="u_normalTex" value="Assets/Stone_Wall_007_NORM.ankitex"/>
 		<input shaderVar="m_emission" value="0.000000 0.000000 0.000000"/>
 		<input shaderVar="m_subsurface" value="0.000000"/>
 		
@@ -26,7 +26,7 @@
 </material>
 
 <rtMaterial>
-	<rayType type="shadows" shaderProgram="anki/shaders/RtShadowsHit.ankiprog">
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
 		<mutation>
 			<mutator name="ALPHA_TEXTURE" value="0"/>
 		</mutation>

BIN
Samples/PhysicsPlayground/Assets/walls.ankimesh


+ 5 - 5
samples/physics_playground/assets/walls.ankimtl → Samples/PhysicsPlayground/Assets/walls.ankimtl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ImporterMaterial.cpp -->
-<material shaderProgram="anki/shaders/GBufferGeneric.ankiprog">
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
 	<mutation>
 		<mutator name="DIFFUSE_TEX" value="1"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -14,11 +14,11 @@
 	<inputs>
 		
 
-		<input shaderVar="u_diffTex" value="assets/Asphalt_004_COLOR.ankitex"/>
+		<input shaderVar="u_diffTex" value="Assets/Asphalt_004_COLOR.ankitex"/>
 		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
-		<input shaderVar="u_roughnessTex" value="assets/Asphalt_004_ROUGH.ankitex"/>
+		<input shaderVar="u_roughnessTex" value="Assets/Asphalt_004_ROUGH.ankitex"/>
 		<input shaderVar="m_metallic" value="0.000000"/>
-		<input shaderVar="u_normalTex" value="assets/Asphalt_004_NRM.ankitex"/>
+		<input shaderVar="u_normalTex" value="Assets/Asphalt_004_NRM.ankitex"/>
 		<input shaderVar="m_emission" value="0.000000 0.000000 0.000000"/>
 		<input shaderVar="m_subsurface" value="0.000000"/>
 		
@@ -26,7 +26,7 @@
 </material>
 
 <rtMaterial>
-	<rayType type="shadows" shaderProgram="anki/shaders/RtShadowsHit.ankiprog">
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
 		<mutation>
 			<mutator name="ALPHA_TEXTURE" value="0"/>
 		</mutation>

+ 2 - 2
samples/physics_playground/assets/walls_sky.ankimdl → Samples/PhysicsPlayground/Assets/walls_sky.ankimdl

@@ -1,8 +1,8 @@
 <model>
 	<modelPatches>
 		<modelPatch>
-			<mesh>assets/walls.ankimesh</mesh>
-			<material>assets/sky.ankimtl</material>
+			<mesh>Assets/walls.ankimesh</mesh>
+			<material>Assets/sky.ankimtl</material>
 		</modelPatch>
 	</modelPatches>
 </model>

+ 4 - 0
Samples/PhysicsPlayground/CMakeLists.txt

@@ -0,0 +1,4 @@
+add_executable(PhysicsPlayground Main.cpp ../Common/Framework.cpp)
+target_link_libraries(PhysicsPlayground anki)
+
+installExecutable(PhysicsPlayground)

+ 11 - 11
samples/physics_playground/Main.cpp → Samples/PhysicsPlayground/Main.cpp

@@ -4,7 +4,7 @@
 // http://www.anki3d.org/LICENSE
 
 #include <cstdio>
-#include "../common/Framework.h"
+#include <Samples/Common/Framework.h>
 
 using namespace anki;
 
@@ -109,7 +109,7 @@ public:
 Error MyApp::sampleExtraInit()
 {
 	ScriptResourcePtr script;
-	ANKI_CHECK(getResourceManager().loadResource("assets/scene.lua", script));
+	ANKI_CHECK(getResourceManager().loadResource("Assets/Scene.lua", script));
 	ANKI_CHECK(getScriptManager().evalString(script->getSource()));
 
 	// Create the player
@@ -133,11 +133,11 @@ Error MyApp::sampleExtraInit()
 		ModelNode* monkey;
 		ANKI_CHECK(getSceneGraph().newSceneNode<ModelNode>("monkey_p2p", monkey));
 		ANKI_CHECK(
-			monkey->getFirstComponentOfType<ModelComponent>().loadModelResource("assets/Suzanne_dynamic.ankimdl"));
+			monkey->getFirstComponentOfType<ModelComponent>().loadModelResource("Assets/Suzanne_dynamic.ankimdl"));
 
 		BodyNode* body;
 		ANKI_CHECK(getSceneGraph().newSceneNode<BodyNode>("bmonkey_p2p", body));
-		ANKI_CHECK(body->getFirstComponentOfType<BodyComponent>().loadMeshResource("assets/Suzanne.ankimesh"));
+		ANKI_CHECK(body->getFirstComponentOfType<BodyComponent>().loadMeshResource("Assets/Suzanne.ankimesh"));
 		body->getFirstComponentOfType<BodyComponent>().setWorldTransform(
 			Transform(Vec4(-0.0f, 4.0f, -3.0f, 0.0f), Mat3x4::getIdentity(), 1.0f));
 		body->getFirstComponentOfType<BodyComponent>().setMass(2.0f);
@@ -158,7 +158,7 @@ Error MyApp::sampleExtraInit()
 			ANKI_CHECK(getSceneGraph().newSceneNode<ModelNode>(
 				StringAuto(getAllocator()).sprintf("monkey_chain%u", i).toCString(), monkey));
 			ANKI_CHECK(
-				monkey->getFirstComponentOfType<ModelComponent>().loadModelResource("assets/Suzanne_dynamic.ankimdl"));
+				monkey->getFirstComponentOfType<ModelComponent>().loadModelResource("Assets/Suzanne_dynamic.ankimdl"));
 
 			Transform trf(Vec4(-4.3f, 12.0f, -3.0f, 0.0f), Mat3x4::getIdentity(), 1.0f);
 			trf.getOrigin().y() -= F32(i) * 1.25f;
@@ -169,7 +169,7 @@ Error MyApp::sampleExtraInit()
 			BodyNode* body;
 			ANKI_CHECK(getSceneGraph().newSceneNode<BodyNode>(
 				StringAuto(getAllocator()).sprintf("bmonkey_chain%u", i).toCString(), body));
-			ANKI_CHECK(body->getFirstComponentOfType<BodyComponent>().loadMeshResource("assets/Suzanne.ankimesh"));
+			ANKI_CHECK(body->getFirstComponentOfType<BodyComponent>().loadMeshResource("Assets/Suzanne.ankimesh"));
 			body->getFirstComponentOfType<BodyComponent>().setWorldTransform(trf);
 			body->getFirstComponentOfType<BodyComponent>().setMass(1.0f);
 
@@ -264,13 +264,13 @@ Error MyApp::userMainLoop(Bool& quit, Second elapsedTime)
 		ANKI_CHECK(getSceneGraph().newSceneNode<ModelNode>(
 			StringAuto(getAllocator()).sprintf("monkey%u", instance++).toCString(), monkey));
 		ANKI_CHECK(
-			monkey->getFirstComponentOfType<ModelComponent>().loadModelResource("assets/Suzanne_dynamic.ankimdl"));
+			monkey->getFirstComponentOfType<ModelComponent>().loadModelResource("Assets/Suzanne_dynamic.ankimdl"));
 		// monkey->getFirstComponentOfType<MoveComponent>().setLocalTransform(camTrf);
 
 		BodyNode* body;
 		ANKI_CHECK(getSceneGraph().newSceneNode<BodyNode>(
 			StringAuto(getAllocator()).sprintf("bmonkey%u", instance++).toCString(), body));
-		ANKI_CHECK(body->getFirstComponentOfType<BodyComponent>().loadMeshResource("assets/Suzanne.ankimesh"));
+		ANKI_CHECK(body->getFirstComponentOfType<BodyComponent>().loadMeshResource("Assets/Suzanne.ankimesh"));
 		body->getFirstComponentOfType<BodyComponent>().setWorldTransform(camTrf);
 		body->getFirstComponentOfType<BodyComponent>().setMass(1.0f);
 
@@ -316,7 +316,7 @@ Error MyApp::userMainLoop(Bool& quit, Second elapsedTime)
 			ANKI_CHECK(getSceneGraph().newSceneNode(
 				StringAuto(getSceneGraph().getFrameAllocator()).sprintf("decal%u", id++).toCString(), monkey));
 			ANKI_CHECK(
-				monkey->getFirstComponentOfType<ModelComponent>().loadModelResource("assets/Suzanne_dynamic.ankimdl"));
+				monkey->getFirstComponentOfType<ModelComponent>().loadModelResource("Assets/Suzanne_dynamic.ankimdl"));
 			monkey->getFirstComponentOfType<MoveComponent>().setLocalTransform(trf);
 
 			createDestructionEvent(monkey);
@@ -327,7 +327,7 @@ Error MyApp::userMainLoop(Bool& quit, Second elapsedTime)
 			ANKI_CHECK(getSceneGraph().newSceneNode(
 				StringAuto(getSceneGraph().getFrameAllocator()).sprintf("parts%u", id++).toCString(), particles));
 			ANKI_CHECK(particles->getFirstComponentOfType<ParticleEmitterComponent>().loadParticleEmitterResource(
-				"assets/smoke.ankipart"));
+				"Assets/Smoke.ankipart"));
 			particles->getFirstComponentOfType<MoveComponent>().setLocalTransform(trf);
 			createDestructionEvent(particles);
 #endif
@@ -372,7 +372,7 @@ int main(int argc, char* argv[])
 	Error err = Error::NONE;
 
 	MyApp* app = new MyApp;
-	err = app->init(argc, argv, "physics_playground");
+	err = app->init(argc, argv, "PhysicsPlayground");
 	if(!err)
 	{
 		err = app->mainLoop();

BIN
Samples/SimpleScene/Assets/CornellBox.blend


BIN
Samples/SimpleScene/Assets/Mesh_0.ankimesh


+ 8 - 0
Samples/SimpleScene/Assets/Mesh_0_backWall.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Mesh_0.ankimesh</mesh>
+			<material>Assets/backWall.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

BIN
Samples/SimpleScene/Assets/Mesh_1.ankimesh


+ 8 - 0
Samples/SimpleScene/Assets/Mesh_1_ceiling.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Mesh_1.ankimesh</mesh>
+			<material>Assets/ceiling.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

BIN
Samples/SimpleScene/Assets/Mesh_2.ankimesh


+ 8 - 0
Samples/SimpleScene/Assets/Mesh_2_floor.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Mesh_2.ankimesh</mesh>
+			<material>Assets/floor.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

BIN
Samples/SimpleScene/Assets/Mesh_3.ankimesh


+ 8 - 0
Samples/SimpleScene/Assets/Mesh_3_leftWall.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Mesh_3.ankimesh</mesh>
+			<material>Assets/leftWall.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

BIN
Samples/SimpleScene/Assets/Mesh_4.ankimesh


+ 8 - 0
Samples/SimpleScene/Assets/Mesh_4_light.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Mesh_4.ankimesh</mesh>
+			<material>Assets/light.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

BIN
Samples/SimpleScene/Assets/Mesh_5.ankimesh


+ 8 - 0
Samples/SimpleScene/Assets/Mesh_5_rightWall.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Mesh_5.ankimesh</mesh>
+			<material>Assets/rightWall.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

BIN
Samples/SimpleScene/Assets/Mesh_6.ankimesh


+ 8 - 0
Samples/SimpleScene/Assets/Mesh_6_shortBox.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Mesh_6.ankimesh</mesh>
+			<material>Assets/shortBox.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

BIN
Samples/SimpleScene/Assets/Mesh_7.ankimesh


+ 8 - 0
Samples/SimpleScene/Assets/Mesh_7_tallBox.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Mesh_7.ankimesh</mesh>
+			<material>Assets/tallBox.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

+ 121 - 0
Samples/SimpleScene/Assets/Scene.lua

@@ -0,0 +1,121 @@
+-- Generated by: ../../../buildd/Bin/GltfImporter CornellBox.gltf /home/godlike/src/anki/Samples/SimpleScene/Assets -rpath Assets -texrpath Assets -lod-count 1
+local scene = getSceneGraph()
+local events = getEventManager()
+
+node = scene:newModelNode("Mesh_0")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Mesh_0_backWall.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.000000, 0.000000, 0.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, -1.000000, -0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(5.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+
+node = scene:newModelNode("Mesh_1")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Mesh_1_ceiling.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.000000, 0.000000, 0.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, -1.000000, -0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(5.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+
+node = scene:newModelNode("Mesh_2")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Mesh_2_floor.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.000000, 0.000000, 0.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, -1.000000, -0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(5.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+
+node = scene:newModelNode("Mesh_3")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Mesh_3_leftWall.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.000000, 0.000000, 0.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, -1.000000, -0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(5.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+
+node = scene:newModelNode("Mesh_4")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Mesh_4_light.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.000000, 0.000000, 0.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, -1.000000, -0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(5.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+
+node = scene:newModelNode("Mesh_5")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Mesh_5_rightWall.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.000000, 0.000000, 0.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, -1.000000, -0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(5.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+
+node = scene:newModelNode("Mesh_6")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Mesh_6_shortBox.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.000000, 0.000000, 0.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, -1.000000, -0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(5.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+
+node = scene:newModelNode("Mesh_7")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Mesh_7_tallBox.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.000000, 0.000000, 0.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(1.000000, 0.000000, 0.000000, 0.000000, 0.000000, -0.000000, 1.000000, 0.000000, 0.000000, -1.000000, -0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(5.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+
+node = scene:newPerspectiveCameraNode("Camera_Orientation")
+scene:setActiveCameraNode(node:getSceneNodeBase())
+frustumc = node:getSceneNodeBase():getFrustumComponent()
+frustumc:setPerspective(0.100000, 500.000000, getMainRenderer():getAspectRatio() * 1.024779, 1.024779)
+frustumc:setShadowCascadesDistancePower(1.5)
+frustumc:setEffectiveShadowDistance(100.000000)
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.217066, 6.668793, 17.325689, 0))
+rot = Mat3x4.new()
+rot:setAll(0.999854, -0.000334, 0.017085, 0.000000, -0.001690, 0.992972, 0.118340, 0.000000, -0.017005, -0.118352, 0.992826, 0.000000)
+trf:setRotation(rot)
+trf:setScale(1.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+
+node = scene:newPointLightNode("Point_Orientation")
+lcomp = node:getSceneNodeBase():getLightComponent()
+lcomp:setDiffuseColor(Vec4.new(10.000000, 10.000000, 10.000000, 1))
+lcomp:setShadowEnabled(1)
+lcomp:setRadius(20.000000)
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.000000, 8.913514, 0.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(1.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+
+node = scene:newGlobalIlluminationProbeNode("Cube.011")
+comp = node:getSceneNodeBase():getGlobalIlluminationProbeComponent()
+comp:setBoxVolumeSize(Vec3.new(11.824861, 11.571836, 11.040863))
+trf = Transform.new()
+trf:setOrigin(Vec4.new(-0.064907, 4.847455, -0.144611, 0))
+rot = Mat3x4.new()
+rot:setAll(1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(1.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)

+ 4 - 4
samples/simple_scene/assets/walls.ankimtl → Samples/SimpleScene/Assets/backWall.ankimtl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ImporterMaterial.cpp -->
-<material shaderProgram="anki/shaders/GBufferGeneric.ankiprog">
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
 	<mutation>
 		<mutator name="DIFFUSE_TEX" value="0"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -14,9 +14,9 @@
 	<inputs>
 		
 
-		<input shaderVar="m_diffColor" value="0.510773 0.800000 0.000000"/>
+		<input shaderVar="m_diffColor" value="0.725000 0.710000 0.680000"/>
 		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
-		<input shaderVar="m_roughness" value="0.215909"/>
+		<input shaderVar="m_roughness" value="1.000000"/>
 		<input shaderVar="m_metallic" value="0.000000"/>
 		
 		<input shaderVar="m_emission" value="0.000000 0.000000 0.000000"/>
@@ -26,7 +26,7 @@
 </material>
 
 <rtMaterial>
-	<rayType type="shadows" shaderProgram="anki/shaders/RtShadowsHit.ankiprog">
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
 		<mutation>
 			<mutator name="ALPHA_TEXTURE" value="0"/>
 		</mutation>

+ 34 - 0
Samples/SimpleScene/Assets/ceiling.ankimtl

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- This file is auto generated by ImporterMaterial.cpp -->
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
+	<mutation>
+		<mutator name="DIFFUSE_TEX" value="0"/>
+		<mutator name="SPECULAR_TEX" value="0"/>
+		<mutator name="ROUGHNESS_TEX" value="0"/>
+		<mutator name="METAL_TEX" value="0"/>
+		<mutator name="NORMAL_TEX" value="0"/>
+		<mutator name="PARALLAX" value="0"/>
+		<mutator name="EMISSIVE_TEX" value="0"/>
+	</mutation>
+
+	<inputs>
+		
+
+		<input shaderVar="m_diffColor" value="0.725000 0.710000 0.680000"/>
+		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
+		<input shaderVar="m_roughness" value="1.000000"/>
+		<input shaderVar="m_metallic" value="0.000000"/>
+		
+		<input shaderVar="m_emission" value="0.000000 0.000000 0.000000"/>
+		<input shaderVar="m_subsurface" value="0.000000"/>
+		
+	</inputs>
+</material>
+
+<rtMaterial>
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
+		<mutation>
+			<mutator name="ALPHA_TEXTURE" value="0"/>
+		</mutation>
+	</rayType>
+</rtMaterial>

+ 34 - 0
Samples/SimpleScene/Assets/floor.ankimtl

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- This file is auto generated by ImporterMaterial.cpp -->
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
+	<mutation>
+		<mutator name="DIFFUSE_TEX" value="0"/>
+		<mutator name="SPECULAR_TEX" value="0"/>
+		<mutator name="ROUGHNESS_TEX" value="0"/>
+		<mutator name="METAL_TEX" value="0"/>
+		<mutator name="NORMAL_TEX" value="0"/>
+		<mutator name="PARALLAX" value="0"/>
+		<mutator name="EMISSIVE_TEX" value="0"/>
+	</mutation>
+
+	<inputs>
+		
+
+		<input shaderVar="m_diffColor" value="0.725000 0.710000 0.680000"/>
+		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
+		<input shaderVar="m_roughness" value="1.000000"/>
+		<input shaderVar="m_metallic" value="0.000000"/>
+		
+		<input shaderVar="m_emission" value="0.000000 0.000000 0.000000"/>
+		<input shaderVar="m_subsurface" value="0.000000"/>
+		
+	</inputs>
+</material>
+
+<rtMaterial>
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
+		<mutation>
+			<mutator name="ALPHA_TEXTURE" value="0"/>
+		</mutation>
+	</rayType>
+</rtMaterial>

+ 34 - 0
Samples/SimpleScene/Assets/leftWall.ankimtl

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- This file is auto generated by ImporterMaterial.cpp -->
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
+	<mutation>
+		<mutator name="DIFFUSE_TEX" value="0"/>
+		<mutator name="SPECULAR_TEX" value="0"/>
+		<mutator name="ROUGHNESS_TEX" value="0"/>
+		<mutator name="METAL_TEX" value="0"/>
+		<mutator name="NORMAL_TEX" value="0"/>
+		<mutator name="PARALLAX" value="0"/>
+		<mutator name="EMISSIVE_TEX" value="0"/>
+	</mutation>
+
+	<inputs>
+		
+
+		<input shaderVar="m_diffColor" value="0.630000 0.065000 0.050000"/>
+		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
+		<input shaderVar="m_roughness" value="1.000000"/>
+		<input shaderVar="m_metallic" value="0.000000"/>
+		
+		<input shaderVar="m_emission" value="0.000000 0.000000 0.000000"/>
+		<input shaderVar="m_subsurface" value="0.000000"/>
+		
+	</inputs>
+</material>
+
+<rtMaterial>
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
+		<mutation>
+			<mutator name="ALPHA_TEXTURE" value="0"/>
+		</mutation>
+	</rayType>
+</rtMaterial>

+ 34 - 0
Samples/SimpleScene/Assets/light.ankimtl

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- This file is auto generated by ImporterMaterial.cpp -->
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
+	<mutation>
+		<mutator name="DIFFUSE_TEX" value="0"/>
+		<mutator name="SPECULAR_TEX" value="0"/>
+		<mutator name="ROUGHNESS_TEX" value="0"/>
+		<mutator name="METAL_TEX" value="0"/>
+		<mutator name="NORMAL_TEX" value="0"/>
+		<mutator name="PARALLAX" value="0"/>
+		<mutator name="EMISSIVE_TEX" value="0"/>
+	</mutation>
+
+	<inputs>
+		
+
+		<input shaderVar="m_diffColor" value="0.780000 0.780000 0.780000"/>
+		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
+		<input shaderVar="m_roughness" value="1.000000"/>
+		<input shaderVar="m_metallic" value="0.000000"/>
+		
+		<input shaderVar="m_emission" value="1.000000 1.000000 1.000000"/>
+		<input shaderVar="m_subsurface" value="0.000000"/>
+		
+	</inputs>
+</material>
+
+<rtMaterial>
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
+		<mutation>
+			<mutator name="ALPHA_TEXTURE" value="0"/>
+		</mutation>
+	</rayType>
+</rtMaterial>

+ 34 - 0
Samples/SimpleScene/Assets/rightWall.ankimtl

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- This file is auto generated by ImporterMaterial.cpp -->
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
+	<mutation>
+		<mutator name="DIFFUSE_TEX" value="0"/>
+		<mutator name="SPECULAR_TEX" value="0"/>
+		<mutator name="ROUGHNESS_TEX" value="0"/>
+		<mutator name="METAL_TEX" value="0"/>
+		<mutator name="NORMAL_TEX" value="0"/>
+		<mutator name="PARALLAX" value="0"/>
+		<mutator name="EMISSIVE_TEX" value="0"/>
+	</mutation>
+
+	<inputs>
+		
+
+		<input shaderVar="m_diffColor" value="0.140000 0.450000 0.091000"/>
+		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
+		<input shaderVar="m_roughness" value="1.000000"/>
+		<input shaderVar="m_metallic" value="0.000000"/>
+		
+		<input shaderVar="m_emission" value="0.000000 0.000000 0.000000"/>
+		<input shaderVar="m_subsurface" value="0.000000"/>
+		
+	</inputs>
+</material>
+
+<rtMaterial>
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
+		<mutation>
+			<mutator name="ALPHA_TEXTURE" value="0"/>
+		</mutation>
+	</rayType>
+</rtMaterial>

+ 34 - 0
Samples/SimpleScene/Assets/shortBox.ankimtl

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- This file is auto generated by ImporterMaterial.cpp -->
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
+	<mutation>
+		<mutator name="DIFFUSE_TEX" value="0"/>
+		<mutator name="SPECULAR_TEX" value="0"/>
+		<mutator name="ROUGHNESS_TEX" value="0"/>
+		<mutator name="METAL_TEX" value="0"/>
+		<mutator name="NORMAL_TEX" value="0"/>
+		<mutator name="PARALLAX" value="0"/>
+		<mutator name="EMISSIVE_TEX" value="0"/>
+	</mutation>
+
+	<inputs>
+		
+
+		<input shaderVar="m_diffColor" value="0.725000 0.710000 0.680000"/>
+		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
+		<input shaderVar="m_roughness" value="1.000000"/>
+		<input shaderVar="m_metallic" value="0.000000"/>
+		
+		<input shaderVar="m_emission" value="0.000000 0.000000 0.000000"/>
+		<input shaderVar="m_subsurface" value="0.000000"/>
+		
+	</inputs>
+</material>
+
+<rtMaterial>
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
+		<mutation>
+			<mutator name="ALPHA_TEXTURE" value="0"/>
+		</mutation>
+	</rayType>
+</rtMaterial>

+ 34 - 0
Samples/SimpleScene/Assets/tallBox.ankimtl

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- This file is auto generated by ImporterMaterial.cpp -->
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
+	<mutation>
+		<mutator name="DIFFUSE_TEX" value="0"/>
+		<mutator name="SPECULAR_TEX" value="0"/>
+		<mutator name="ROUGHNESS_TEX" value="0"/>
+		<mutator name="METAL_TEX" value="0"/>
+		<mutator name="NORMAL_TEX" value="0"/>
+		<mutator name="PARALLAX" value="0"/>
+		<mutator name="EMISSIVE_TEX" value="0"/>
+	</mutation>
+
+	<inputs>
+		
+
+		<input shaderVar="m_diffColor" value="0.725000 0.710000 0.680000"/>
+		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
+		<input shaderVar="m_roughness" value="1.000000"/>
+		<input shaderVar="m_metallic" value="0.000000"/>
+		
+		<input shaderVar="m_emission" value="0.000000 0.000000 0.000000"/>
+		<input shaderVar="m_subsurface" value="0.000000"/>
+		
+	</inputs>
+</material>
+
+<rtMaterial>
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
+		<mutation>
+			<mutator name="ALPHA_TEXTURE" value="0"/>
+		</mutation>
+	</rayType>
+</rtMaterial>

+ 4 - 0
Samples/SimpleScene/CMakeLists.txt

@@ -0,0 +1,4 @@
+add_executable(SimpleScene Main.cpp ../Common/Framework.cpp)
+target_link_libraries(SimpleScene anki)
+
+installExecutable(SimpleScene)

+ 4 - 4
samples/simple_scene/Main.cpp → Samples/SimpleScene/Main.cpp

@@ -4,7 +4,7 @@
 // http://www.anki3d.org/LICENSE
 
 #include <cstdio>
-#include "../common/Framework.h"
+#include <Samples/Common/Framework.h>
 
 using namespace anki;
 
@@ -14,7 +14,7 @@ public:
 	Error sampleExtraInit()
 	{
 		ScriptResourcePtr script;
-		ANKI_CHECK(getResourceManager().loadResource("assets/scene.lua", script));
+		ANKI_CHECK(getResourceManager().loadResource("Assets/Scene.lua", script));
 		ANKI_CHECK(getScriptManager().evalString(script->getSource()));
 
 		return Error::NONE;
@@ -26,19 +26,19 @@ int main(int argc, char* argv[])
 	Error err = Error::NONE;
 
 	MyApp* app = new MyApp;
-	err = app->init(argc, argv, "simple_scene");
+	err = app->init(argc, argv, "SimpleScene");
 	if(!err)
 	{
 		err = app->mainLoop();
 	}
 
+	delete app;
 	if(err)
 	{
 		ANKI_LOGE("Error reported. Bye!");
 	}
 	else
 	{
-		delete app;
 		ANKI_LOGI("Bye!!");
 	}
 

+ 0 - 0
samples/skeletal_animation/assets/Armature.002.ankiskel → Samples/SkeletalAnimation/Assets/Armature.002.ankiskel


+ 0 - 0
samples/skeletal_animation/assets/Drone_diff.ankitex → Samples/SkeletalAnimation/Assets/Drone_diff.ankitex


+ 0 - 0
samples/skeletal_animation/assets/Drone_normal.ankitex → Samples/SkeletalAnimation/Assets/Drone_normal.ankitex


+ 0 - 0
samples/skeletal_animation/assets/Drone_roughness.ankitex → Samples/SkeletalAnimation/Assets/Drone_roughness.ankitex


+ 0 - 0
samples/skeletal_animation/assets/Mesh.ankimesh → Samples/SkeletalAnimation/Assets/Mesh.ankimesh


+ 8 - 0
Samples/SkeletalAnimation/Assets/Mesh_Robot.001.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/Mesh.ankimesh</mesh>
+			<material>Assets/Robot.001.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

+ 5 - 5
samples/skeletal_animation/assets/Robot.001.ankimtl → Samples/SkeletalAnimation/Assets/Robot.001.ankimtl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ImporterMaterial.cpp -->
-<material shaderProgram="anki/shaders/GBufferGeneric.ankiprog">
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
 	<mutation>
 		<mutator name="DIFFUSE_TEX" value="1"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -14,11 +14,11 @@
 	<inputs>
 		
 
-		<input shaderVar="u_diffTex" value="assets/Drone_diff.ankitex"/>
+		<input shaderVar="u_diffTex" value="Assets/Drone_diff.ankitex"/>
 		<input shaderVar="m_specColor" value="0.040000 0.040000 0.040000"/>
-		<input shaderVar="u_roughnessTex" value="assets/Drone_roughness.ankitex"/>
+		<input shaderVar="u_roughnessTex" value="Assets/Drone_roughness.ankitex"/>
 		<input shaderVar="m_metallic" value="1.000000"/>
-		<input shaderVar="u_normalTex" value="assets/Drone_normal.ankitex"/>
+		<input shaderVar="u_normalTex" value="Assets/Drone_normal.ankitex"/>
 		<input shaderVar="m_emission" value="0.000000 0.000000 0.000000"/>
 		<input shaderVar="m_subsurface" value="0.000000"/>
 		
@@ -26,7 +26,7 @@
 </material>
 
 <rtMaterial>
-	<rayType type="shadows" shaderProgram="anki/shaders/RtShadowsHit.ankiprog">
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
 		<mutation>
 			<mutator name="ALPHA_TEXTURE" value="0"/>
 		</mutation>

+ 7 - 7
samples/skeletal_animation/assets/scene.lua → Samples/SkeletalAnimation/Assets/Scene.lua

@@ -1,10 +1,10 @@
--- Generated by: /home/godlike/src/anki/buildd/bin/gltf_importer droid.gltf /home/godlike/src/anki/samples/skeletal_animation/assets/ -rpath assets -texrpath assets
+-- Generated by: /home/godlike/src/anki/buildd/Bin/GltfImporter droid.gltf /home/godlike/src/anki/Samples/SkeletalAnimation/Assets/ -rpath Assets -texrpath Assets
 local scene = getSceneGraph()
 local events = getEventManager()
 
 node = scene:newModelNode("droid.001")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/Mesh_Robot.001.ankimdl")
-node:getSceneNodeBase():getSkinComponent():loadSkeletonResource("assets/Armature.002.ankiskel")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/Mesh_Robot.001.ankimdl")
+node:getSceneNodeBase():getSkinComponent():loadSkeletonResource("Assets/Armature.002.ankiskel")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(0.000000, 0.000000, 0.000000, 0))
 rot = Mat3x4.new()
@@ -36,7 +36,7 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
 node = scene:newModelNode("room")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/room_room.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/room_room.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(0.000000, 11.142166, 0.000000, 0))
 rot = Mat3x4.new()
@@ -73,7 +73,7 @@ trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
 node = scene:newModelNode("room.001")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/room.001_room.red.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/room.001_room.red.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(0.000000, 11.142166, 0.000000, 0))
 rot = Mat3x4.new()
@@ -83,7 +83,7 @@ trf:setScale(9.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
 node = scene:newModelNode("room.002")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/room.002_room.green.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/room.002_room.green.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(0.000000, 11.142166, 0.000000, 0))
 rot = Mat3x4.new()
@@ -93,7 +93,7 @@ trf:setScale(9.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
 node = scene:newModelNode("room.003")
-node:getSceneNodeBase():getModelComponent():loadModelResource("assets/room.003_room.blue.ankimdl")
+node:getSceneNodeBase():getModelComponent():loadModelResource("Assets/room.003_room.blue.ankimdl")
 trf = Transform.new()
 trf:setOrigin(Vec4.new(0.000000, 11.142166, 0.000000, 0))
 rot = Mat3x4.new()

+ 0 - 0
samples/skeletal_animation/assets/float.001.ankianim → Samples/SkeletalAnimation/Assets/float.001.ankianim


+ 0 - 0
samples/skeletal_animation/assets/room.001.ankimesh → Samples/SkeletalAnimation/Assets/room.001.ankimesh


+ 8 - 0
Samples/SkeletalAnimation/Assets/room.001_room.red.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/room.001.ankimesh</mesh>
+			<material>Assets/room.red.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

+ 0 - 0
samples/skeletal_animation/assets/room.002.ankimesh → Samples/SkeletalAnimation/Assets/room.002.ankimesh


+ 8 - 0
Samples/SkeletalAnimation/Assets/room.002_room.green.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/room.002.ankimesh</mesh>
+			<material>Assets/room.green.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

+ 0 - 0
samples/skeletal_animation/assets/room.003.ankimesh → Samples/SkeletalAnimation/Assets/room.003.ankimesh


+ 8 - 0
Samples/SkeletalAnimation/Assets/room.003_room.blue.ankimdl

@@ -0,0 +1,8 @@
+<model>
+	<modelPatches>
+		<modelPatch>
+			<mesh>Assets/room.003.ankimesh</mesh>
+			<material>Assets/room.blue.ankimtl</material>
+		</modelPatch>
+	</modelPatches>
+</model>

+ 0 - 0
samples/skeletal_animation/assets/room.ankimesh → Samples/SkeletalAnimation/Assets/room.ankimesh


+ 2 - 2
samples/skeletal_animation/assets/room.ankimtl → Samples/SkeletalAnimation/Assets/room.ankimtl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ImporterMaterial.cpp -->
-<material shaderProgram="anki/shaders/GBufferGeneric.ankiprog">
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
 	<mutation>
 		<mutator name="DIFFUSE_TEX" value="0"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -26,7 +26,7 @@
 </material>
 
 <rtMaterial>
-	<rayType type="shadows" shaderProgram="anki/shaders/RtShadowsHit.ankiprog">
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
 		<mutation>
 			<mutator name="ALPHA_TEXTURE" value="0"/>
 		</mutation>

+ 2 - 2
samples/skeletal_animation/assets/room.blue.ankimtl → Samples/SkeletalAnimation/Assets/room.blue.ankimtl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ImporterMaterial.cpp -->
-<material shaderProgram="anki/shaders/GBufferGeneric.ankiprog">
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
 	<mutation>
 		<mutator name="DIFFUSE_TEX" value="0"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -26,7 +26,7 @@
 </material>
 
 <rtMaterial>
-	<rayType type="shadows" shaderProgram="anki/shaders/RtShadowsHit.ankiprog">
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
 		<mutation>
 			<mutator name="ALPHA_TEXTURE" value="0"/>
 		</mutation>

+ 2 - 2
samples/skeletal_animation/assets/room.green.ankimtl → Samples/SkeletalAnimation/Assets/room.green.ankimtl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ImporterMaterial.cpp -->
-<material shaderProgram="anki/shaders/GBufferGeneric.ankiprog">
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
 	<mutation>
 		<mutator name="DIFFUSE_TEX" value="0"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -26,7 +26,7 @@
 </material>
 
 <rtMaterial>
-	<rayType type="shadows" shaderProgram="anki/shaders/RtShadowsHit.ankiprog">
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
 		<mutation>
 			<mutator name="ALPHA_TEXTURE" value="0"/>
 		</mutation>

+ 2 - 2
samples/skeletal_animation/assets/room.red.ankimtl → Samples/SkeletalAnimation/Assets/room.red.ankimtl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ImporterMaterial.cpp -->
-<material shaderProgram="anki/shaders/GBufferGeneric.ankiprog">
+<material shaderProgram="AnKi/Shaders/GBufferGeneric.ankiprog">
 	<mutation>
 		<mutator name="DIFFUSE_TEX" value="0"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -26,7 +26,7 @@
 </material>
 
 <rtMaterial>
-	<rayType type="shadows" shaderProgram="anki/shaders/RtShadowsHit.ankiprog">
+	<rayType type="shadows" shaderProgram="AnKi/Shaders/RtShadowsHit.ankiprog">
 		<mutation>
 			<mutator name="ALPHA_TEXTURE" value="0"/>
 		</mutation>

+ 2 - 2
samples/skeletal_animation/assets/room_room.ankimdl → Samples/SkeletalAnimation/Assets/room_room.ankimdl

@@ -1,8 +1,8 @@
 <model>
 	<modelPatches>
 		<modelPatch>
-			<mesh>assets/room.ankimesh</mesh>
-			<material>assets/room.ankimtl</material>
+			<mesh>Assets/room.ankimesh</mesh>
+			<material>Assets/room.ankimtl</material>
 		</modelPatch>
 	</modelPatches>
 </model>

+ 0 - 0
samples/skeletal_animation/assets/wave.001.ankianim → Samples/SkeletalAnimation/Assets/wave.001.ankianim


Some files were not shown because too many files changed in this diff