Przeglądaj źródła

Merge pull request #53 from godlikepanos/gltf

Add a GLTF 2.0 importer
Panagiotis Christopoulos Charitos 6 lat temu
rodzic
commit
5bc468535f
100 zmienionych plików z 550 dodań i 231 usunięć
  1. 2 1
      CMakeLists.txt
  2. BIN
      samples/physics_playground/assets/Asphalt_004_COLOR.ankitex
  3. BIN
      samples/physics_playground/assets/Asphalt_004_DISP.ankitex
  4. BIN
      samples/physics_playground/assets/Asphalt_004_NRM.ankitex
  5. BIN
      samples/physics_playground/assets/Asphalt_004_ROUGH.ankitex
  6. 5 0
      samples/physics_playground/assets/Icosphere.ankicl
  7. BIN
      samples/physics_playground/assets/Icosphere.ankimesh
  8. 8 0
      samples/physics_playground/assets/Icosphere_walls.ankimdl
  9. BIN
      samples/physics_playground/assets/Stone_Wall_007_COLOR.ankitex
  10. BIN
      samples/physics_playground/assets/Stone_Wall_007_DISP.ankitex
  11. BIN
      samples/physics_playground/assets/Stone_Wall_007_NORM.ankitex
  12. BIN
      samples/physics_playground/assets/Stone_Wall_007_ROUGH.ankitex
  13. BIN
      samples/physics_playground/assets/Suzanne.ankimesh
  14. 8 0
      samples/physics_playground/assets/Suzanne_dynamic.ankimdl
  15. 5 6
      samples/physics_playground/assets/dynamic.ankimtl
  16. BIN
      samples/physics_playground/assets/floor.ankimesh
  17. 8 0
      samples/physics_playground/assets/floor_walls.ankimdl
  18. BIN
      samples/physics_playground/assets/physics_playground.blend
  19. 394 145
      samples/physics_playground/assets/scene.lua
  20. 30 0
      samples/physics_playground/assets/sky.ankimtl
  21. BIN
      samples/physics_playground/assets/unbacked/Asphalt_004_COLOR.png
  22. BIN
      samples/physics_playground/assets/unbacked/Asphalt_004_DISP.png
  23. BIN
      samples/physics_playground/assets/unbacked/Asphalt_004_NRM.png
  24. BIN
      samples/physics_playground/assets/unbacked/Asphalt_004_ROUGH.png
  25. BIN
      samples/physics_playground/assets/unbacked/Stone_Wall_007_COLOR.png
  26. BIN
      samples/physics_playground/assets/unbacked/Stone_Wall_007_DISP.png
  27. BIN
      samples/physics_playground/assets/unbacked/Stone_Wall_007_NORM.png
  28. BIN
      samples/physics_playground/assets/unbacked/Stone_Wall_007_ROUGH.png
  29. BIN
      samples/physics_playground/assets/unbacked/physics_playground.blend
  30. BIN
      samples/physics_playground/assets/wall.ankimesh
  31. 8 0
      samples/physics_playground/assets/wall_walls.001.ankimdl
  32. 30 0
      samples/physics_playground/assets/walls.001.ankimtl
  33. BIN
      samples/physics_playground/assets/walls.ankimesh
  34. 5 6
      samples/physics_playground/assets/walls.ankimtl
  35. 8 0
      samples/physics_playground/assets/walls_sky.ankimdl
  36. BIN
      samples/simple_scene/assets/column.ankimesh
  37. 1 2
      samples/simple_scene/assets/column_walls.ankimdl
  38. BIN
      samples/simple_scene/assets/room.ankimesh
  39. 1 2
      samples/simple_scene/assets/room_walls.ankimdl
  40. 33 46
      samples/simple_scene/assets/scene.lua
  41. BIN
      samples/simple_scene/assets/sector.ankimesh
  42. 0 9
      samples/simple_scene/assets/sectorportal-material.ankimdl
  43. BIN
      samples/simple_scene/assets/simple_scene.blend
  44. 4 5
      samples/simple_scene/assets/walls.ankimtl
  45. BIN
      samples/sponza/assets/Background_Albedo.ankitex
  46. BIN
      samples/sponza/assets/Background_Normal.ankitex
  47. BIN
      samples/sponza/assets/Background_Roughness.ankitex
  48. BIN
      samples/sponza/assets/ChainTexture_Albedo.ankitex
  49. BIN
      samples/sponza/assets/ChainTexture_Metallic.ankitex
  50. BIN
      samples/sponza/assets/ChainTexture_Normal.ankitex
  51. BIN
      samples/sponza/assets/ChainTexture_Roughness.ankitex
  52. BIN
      samples/sponza/assets/Cube.ankimesh
  53. BIN
      samples/sponza/assets/Icosphere.001.ankimesh
  54. 0 9
      samples/sponza/assets/Icosphere.001sky-material.ankimdl
  55. BIN
      samples/sponza/assets/Lion_Albedo.ankitex
  56. BIN
      samples/sponza/assets/Lion_Normal.ankitex
  57. BIN
      samples/sponza/assets/Lion_Roughness.ankitex
  58. BIN
      samples/sponza/assets/Sponza_Arch_diffuse.ankitex
  59. BIN
      samples/sponza/assets/Sponza_Arch_normal.ankitex
  60. BIN
      samples/sponza/assets/Sponza_Arch_roughness.ankitex
  61. BIN
      samples/sponza/assets/Sponza_Bricks_a_Albedo.ankitex
  62. BIN
      samples/sponza/assets/Sponza_Bricks_a_Normal.ankitex
  63. BIN
      samples/sponza/assets/Sponza_Bricks_a_Roughness.ankitex
  64. BIN
      samples/sponza/assets/Sponza_Ceiling_diffuse.ankitex
  65. BIN
      samples/sponza/assets/Sponza_Ceiling_normal.ankitex
  66. BIN
      samples/sponza/assets/Sponza_Ceiling_roughness.ankitex
  67. BIN
      samples/sponza/assets/Sponza_Ceiling_roughness_tga.ankitex
  68. BIN
      samples/sponza/assets/Sponza_Column_a_diffuse.ankitex
  69. BIN
      samples/sponza/assets/Sponza_Column_a_normal.ankitex
  70. BIN
      samples/sponza/assets/Sponza_Column_a_roughness.ankitex
  71. BIN
      samples/sponza/assets/Sponza_Column_b_diffuse.ankitex
  72. BIN
      samples/sponza/assets/Sponza_Column_b_normal.ankitex
  73. BIN
      samples/sponza/assets/Sponza_Column_b_roughness.ankitex
  74. BIN
      samples/sponza/assets/Sponza_Column_b_roughness_tga.ankitex
  75. BIN
      samples/sponza/assets/Sponza_Column_c_diffuse.ankitex
  76. BIN
      samples/sponza/assets/Sponza_Column_c_normal.ankitex
  77. BIN
      samples/sponza/assets/Sponza_Column_c_roughness.ankitex
  78. BIN
      samples/sponza/assets/Sponza_Column_c_roughness_tga.ankitex
  79. BIN
      samples/sponza/assets/Sponza_Curtain_Blue_diffuse.ankitex
  80. BIN
      samples/sponza/assets/Sponza_Curtain_Green_diffuse.ankitex
  81. BIN
      samples/sponza/assets/Sponza_Curtain_Red_diffuse.ankitex
  82. BIN
      samples/sponza/assets/Sponza_Curtain_Red_normal.ankitex
  83. BIN
      samples/sponza/assets/Sponza_Curtain_Red_normal_tga_001.ankitex
  84. BIN
      samples/sponza/assets/Sponza_Curtain_metallic.ankitex
  85. BIN
      samples/sponza/assets/Sponza_Curtain_roughness.ankitex
  86. BIN
      samples/sponza/assets/Sponza_Curtain_roughness_tga_001.ankitex
  87. BIN
      samples/sponza/assets/Sponza_Details_diffuse.ankitex
  88. BIN
      samples/sponza/assets/Sponza_Details_metallic-Sponza_Details_roughness.ankitex
  89. BIN
      samples/sponza/assets/Sponza_Details_metallic.ankitex
  90. BIN
      samples/sponza/assets/Sponza_Details_normal.ankitex
  91. BIN
      samples/sponza/assets/Sponza_Details_roughness.ankitex
  92. BIN
      samples/sponza/assets/Sponza_Fabric_Blue_diffuse.ankitex
  93. BIN
      samples/sponza/assets/Sponza_Fabric_Green_diffuse.ankitex
  94. BIN
      samples/sponza/assets/Sponza_Fabric_Red_diffuse.ankitex
  95. BIN
      samples/sponza/assets/Sponza_Fabric_Red_normal.ankitex
  96. BIN
      samples/sponza/assets/Sponza_Fabric_metallic-Sponza_Curtain_roughness.ankitex
  97. BIN
      samples/sponza/assets/Sponza_Fabric_metallic.ankitex
  98. BIN
      samples/sponza/assets/Sponza_Fabric_roughness.ankitex
  99. BIN
      samples/sponza/assets/Sponza_FlagPole_diffuse.ankitex
  100. BIN
      samples/sponza/assets/Sponza_FlagPole_normal.ankitex

+ 2 - 1
CMakeLists.txt

@@ -228,6 +228,7 @@ set(ANKI_EXTERN_SUB_DIRS ${ANKI_EXTERN_SUB_DIRS} SPIRV-Cross)
 
 if(ANKI_BUILD_TOOLS)
 	set(ANKI_EXTERN_SUB_DIRS ${ANKI_EXTERN_SUB_DIRS} assimp)
+	set(ANKI_EXTERN_SUB_DIRS ${ANKI_EXTERN_SUB_DIRS} meshoptimizer)
 endif()
 
 if(VULKAN)
@@ -365,7 +366,7 @@ endif()
 if(NOT MSVC)
 	add_definitions("-pedantic -Wall -W -Wextra -Wstrict-aliasing -Wwrite-strings -Wunused -Wunused-variable "
 		"-Wno-unused-parameter -Wundef -Wno-ignored-attributes -Wno-implicit-fallthrough -Wunused-result"
-		"-Wconversion -std=c++14")
+		"-Wconversion -Wno-sign-conversion -std=c++14")
 else()
 	add_definitions("/wd4996 /wd4244 /wd4262 /wd4267")
 endif()

BIN
samples/physics_playground/assets/Asphalt_004_COLOR.ankitex


BIN
samples/physics_playground/assets/Asphalt_004_DISP.ankitex


BIN
samples/physics_playground/assets/Asphalt_004_NRM.ankitex


BIN
samples/physics_playground/assets/Asphalt_004_ROUGH.ankitex


+ 5 - 0
samples/physics_playground/assets/Icosphere.ankicl

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<collisionShape>
+	<type>staticMesh</type>
+	<value>assets/Icosphere.ankimesh</value>
+</collisionShape>

BIN
samples/physics_playground/assets/Icosphere.ankimesh


+ 8 - 0
samples/physics_playground/assets/Icosphere_walls.ankimdl

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

BIN
samples/physics_playground/assets/Stone_Wall_007_COLOR.ankitex


BIN
samples/physics_playground/assets/Stone_Wall_007_DISP.ankitex


BIN
samples/physics_playground/assets/Stone_Wall_007_NORM.ankitex


BIN
samples/physics_playground/assets/Stone_Wall_007_ROUGH.ankitex


BIN
samples/physics_playground/assets/Suzanne.ankimesh


+ 8 - 0
samples/physics_playground/assets/Suzanne_dynamic.ankimdl

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

+ 5 - 6
samples/simple_scene/assets/room-material.ankimtl → samples/physics_playground/assets/dynamic.ankimtl

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<!-- This file is auto generated by ExporterMaterial.cpp -->
+<!-- This file is auto generated by ImporterMaterial.cpp -->
 <material shaderProgram="shaders/GBufferGeneric.glslp">
-
 	<mutators>
 		<mutator name="DIFFUSE_TEX" value="0"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -19,10 +18,10 @@
 		<input shaderInput="globalSampler" builtin="GLOBAL_SAMPLER"/>
 		
 
-		<input shaderInput="diffColor" value="0.799988 0.635542 0.640324"/>
-		<input shaderInput="specColor" value="0.500000 0.500000 0.500000"/>
-		<input shaderInput="roughness" value="0.097847" />
-		<input shaderInput="metallic" value="0.000000"/>
+		<input shaderInput="diffColor" value="0.097887 0.273263 0.800000"/>
+		<input shaderInput="specColor" value="0.040000 0.040000 0.040000"/>
+		<input shaderInput="roughness" value="0.000000" />
+		<input shaderInput="metallic" value="0.609091" />
 		
 		<input shaderInput="emission" value="0.000000 0.000000 0.000000"/>
 		<input shaderInput="subsurface" value="0.000000"/>

BIN
samples/physics_playground/assets/floor.ankimesh


+ 8 - 0
samples/physics_playground/assets/floor_walls.ankimdl

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

BIN
samples/physics_playground/assets/physics_playground.blend


+ 394 - 145
samples/physics_playground/assets/scene.lua

@@ -1,287 +1,536 @@
 local scene = getSceneGraph()
 local events = getEventManager()
-local rot
-local node
-local inst
-local lcomp
 
-node = scene:newGpuParticleEmitterNode("particles0", "assets/gpu_sparks.ankipart")
+node = scene:newGpuParticleEmitterNode("Cube.020", "assets/gpu_sparks.ankipart")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(25.4112, 0.543148, 22.6792, 0))
+trf:setOrigin(Vec4.new(25.411236, 0.543148, 22.679190, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+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(0.5)
+trf:setScale(0.500000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
-node = scene:newReflectionProbeNode("reflprobe0", Vec4.new(-134.112, -134.112, -134.112, 0), Vec4.new(134.112, 134.112, 134.112, 0))
+node = scene:newModelNode("Icosphere.001", "assets/Icosphere_walls.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(0, 9.1132, 0, 0))
+trf:setOrigin(Vec4.new(25.411236, 3.345554, 28.742823, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.912920)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+node2 = scene:newStaticCollisionNode("Icosphere.001_cl", "assets/Icosphere.ankicl", trf)
 
-node = scene:newGlobalIlluminationProbeNode("giprobe0")
-comp = node:getSceneNodeBase():getGlobalIlluminationProbeComponent()
-comp:setBoundingBox(Vec4.new(-128.498, -128.498, -128.498, 0), Vec4.new(128.498, 128.498, 128.498, 0))
-comp:setCellSize(32)
+node = scene:newModelNode("Icosphere", "assets/Icosphere_walls.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(-0.0683718, 9.1926, -0.126609, 0))
+trf:setOrigin(Vec4.new(25.411236, 3.316930, 22.637743, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.264235)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+node2 = scene:newStaticCollisionNode("Icosphere_cl", "assets/Icosphere.ankicl", trf)
 
-node = scene:newModelNode("floorwalls-materialnone0", "assets/floorwalls-material.ankimdl")
+node = scene:newModelNode("Cube.019", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(0, -5.06862, 0, 0))
+trf:setOrigin(Vec4.new(30.798492, 2.376611, -6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("floorwalls-materialnone0_cl", "assets/floor.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.019_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallssky-materialnone1", "assets/wallssky-material.ankimdl")
+node = scene:newModelNode("Cube.018", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(0, 9.10935, 0, 0))
+trf:setOrigin(Vec4.new(29.798492, 1.376611, -6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(10)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+node2 = scene:newStaticCollisionNode("Cube.018_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("Suzannedynamic-materialnone2", "assets/Suzannedynamic-material.ankimdl")
+node = scene:newModelNode("Cube.017", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(179.045, 9.70113, 0, 0))
+trf:setOrigin(Vec4.new(28.798492, 0.376611, -6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("Suzannedynamic-materialnone2_cl", "assets/Suzanne.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.017_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone3", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.016", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(37.2714, 2.88619, 0, 0))
+trf:setOrigin(Vec4.new(31.798492, 3.376611, -6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone3_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.016_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone4", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.015", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(37.2714, 2.88619, -6, 0))
+trf:setOrigin(Vec4.new(32.798492, 4.376611, -6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone4_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.015_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone5", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.014", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(37.2714, 2.88619, 6, 0))
+trf:setOrigin(Vec4.new(33.798492, 5.376611, -6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone5_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.014_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone6", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.013", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(37.2714, 2.88619, 12, 0))
+trf:setOrigin(Vec4.new(39.798492, 6.376611, 0.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone6_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.013_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone7", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.012", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(42.2714, 2.88619, 12, 0))
+trf:setOrigin(Vec4.new(39.798492, 6.376611, -6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone7_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.012_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone8", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.011", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(42.2714, 2.88619, 6, 0))
+trf:setOrigin(Vec4.new(39.798492, 6.376611, 6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone8_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.011_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone9", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.010", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(42.2714, 2.88619, -6, 0))
+trf:setOrigin(Vec4.new(39.798492, 6.376611, 12.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone9_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.010_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone10", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.009", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(42.2714, 2.88619, 0, 0))
+trf:setOrigin(Vec4.new(42.271385, 2.886189, 0.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone10_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.009_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone11", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.008", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(39.7985, 6.37661, 12, 0))
+trf:setOrigin(Vec4.new(42.271385, 2.886189, -6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(7.54979e-08, 1, 0, 0, -1, 7.54979e-08, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone11_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.008_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone12", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.007", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(39.7985, 6.37661, 6, 0))
+trf:setOrigin(Vec4.new(42.271385, 2.886189, 6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(7.54979e-08, 1, 0, 0, -1, 7.54979e-08, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone12_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.007_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone13", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.006", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(39.7985, 6.37661, -6, 0))
+trf:setOrigin(Vec4.new(42.271385, 2.886189, 12.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(7.54979e-08, 1, 0, 0, -1, 7.54979e-08, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone13_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.006_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone14", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.005", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(39.7985, 6.37661, 0, 0))
+trf:setOrigin(Vec4.new(37.271385, 2.886189, 12.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(7.54979e-08, 1, 0, 0, -1, 7.54979e-08, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone14_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.005_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone15", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.004", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(33.7985, 5.37661, -6, 0))
+trf:setOrigin(Vec4.new(37.271385, 2.886189, 6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(7.54979e-08, 1, 0, 0, -1, 7.54979e-08, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone15_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.004_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone16", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.003", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(32.7985, 4.37661, -6, 0))
+trf:setOrigin(Vec4.new(37.271385, 2.886189, -6.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(7.54979e-08, 1, 0, 0, -1, 7.54979e-08, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone16_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.003_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone17", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.002", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(31.7985, 3.37661, -6, 0))
+trf:setOrigin(Vec4.new(37.271385, 2.886189, 0.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(7.54979e-08, 1, 0, 0, -1, 7.54979e-08, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone17_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube.002_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone18", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Suzanne", "assets/Suzanne_dynamic.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(28.7985, 0.376611, -6, 0))
+trf:setOrigin(Vec4.new(179.044937, 9.701135, 0.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(7.54979e-08, 1, 0, 0, -1, 7.54979e-08, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone18_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Suzanne_cl", "assets/Suzanne.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone19", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube.001", "assets/walls_sky.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(29.7985, 1.37661, -6, 0))
+trf:setOrigin(Vec4.new(0.000000, 9.109353, 0.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(7.54979e-08, 1, 0, 0, -1, 7.54979e-08, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(10.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone19_cl", "assets/wall.ankicl", trf)
 
-node = scene:newModelNode("wallwalls_001-materialnone20", "assets/wallwalls_001-material.ankimdl")
+node = scene:newModelNode("Cube", "assets/floor_walls.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(30.7985, 2.37661, -6, 0))
+trf:setOrigin(Vec4.new(0.000000, -5.068616, 0.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(7.54979e-08, 1, 0, 0, -1, 7.54979e-08, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-node = scene:newStaticCollisionNode("wallwalls_001-materialnone20_cl", "assets/wall.ankicl", trf)
+node2 = scene:newStaticCollisionNode("Cube_cl", "assets/floor.ankicl", trf)
 
-node = scene:newModelNode("Icospherewalls-materialnone21", "assets/Icospherewalls-material.ankimdl")
+node = scene:newDirectionalLightNode("Lamp_Orientation")
+lcomp = node:getSceneNodeBase():getLightComponent()
+lcomp:setDiffuseColor(Vec4.new(50.000000, 50.000000, 50.000000, 1))
+lcomp:setShadowEnabled(1)
 trf = Transform.new()
-trf:setOrigin(Vec4.new(25.4112, 3.31693, 22.6377, 0))
+trf:setOrigin(Vec4.new(4.076245, 74.444725, -1.005454, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.649201, -0.658183, -0.381226, 0.000000, 0.506372, 0.000000, 0.862315, 0.000000, -0.567562, -0.752858, 0.333286, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1.26424)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
-node = scene:newModelNode("Icospherewalls-materialnone22", "assets/Icospherewalls-material.ankimdl")
+node = scene:newPerspectiveCameraNode("Camera_Orientation")
+scene:setActiveCameraNode(node:getSceneNodeBase())
+frustumc = node:getSceneNodeBase():getFrustumComponent()
+frustumc:setPerspective(0.100000, 500.000000, getMainRenderer():getAspectRatio() * 0.750416, 0.750416)
 trf = Transform.new()
-trf:setOrigin(Vec4.new(25.4112, 3.34555, 28.7428, 0))
+trf:setOrigin(Vec4.new(7.481132, 7.870111, 6.507640, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+rot:setAll(0.685921, -0.324013, 0.651558, 0.000000, 0.000000, 0.895396, 0.445271, 0.000000, -0.727676, -0.305421, 0.614170, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1.91292)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
-node = scene:newDirectionalLightNode("Lamp")
-lcomp = node:getSceneNodeBase():getLightComponent()
-lcomp:setDiffuseColor(Vec4.new(50, 50, 50, 1))
+node = scene:newModelNode("Cube.021", "assets/wall_walls.001.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(4.07624, 74.4447, -1.00545, 0))
+trf:setOrigin(Vec4.new(39.798492, 6.376611, -12.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(0.649201, -0.658201, -0.381195, 0, 0.506372, 3.995e-05, 0.862315, 0, -0.567562, -0.752842, 0.33332, 0)
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000)
 trf:setRotation(rot)
-trf:setScale(1)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-lcomp:setShadowEnabled(1)
+node2 = scene:newStaticCollisionNode("Cube.021_cl", "assets/wall.ankicl", trf)
 
-node = scene:newPerspectiveCameraNode("Camera")
-scene:setActiveCameraNode(node:getSceneNodeBase())
-frustumc = node:getSceneNodeBase():getFrustumComponent()
-frustumc:setPerspective(0.1, 500, 1.22173, 1.0 / getMainRenderer():getAspectRatio() * 1.22173)
+node = scene:newModelNode("Cube.022", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(42.271385, 2.886189, -12.000000, 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)
+node2 = scene:newStaticCollisionNode("Cube.022_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.023", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(37.271385, 2.886189, -12.000000, 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)
+node2 = scene:newStaticCollisionNode("Cube.023_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.024", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(39.798492, 6.376611, -18.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.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)
+node2 = scene:newStaticCollisionNode("Cube.024_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.025", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(42.271385, 2.886189, -18.000000, 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)
+node2 = scene:newStaticCollisionNode("Cube.025_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.026", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(37.271385, 2.886189, -18.000000, 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)
+node2 = scene:newStaticCollisionNode("Cube.026_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.027", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(34.761005, 2.886189, -21.498241, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(1.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+node2 = scene:newStaticCollisionNode("Cube.027_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.028", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(44.761005, 2.886189, -21.498241, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(1.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+node2 = scene:newStaticCollisionNode("Cube.028_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.029", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(47.271385, 2.886189, -25.000000, 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)
+node2 = scene:newStaticCollisionNode("Cube.029_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.030", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(32.271385, 2.886189, -25.000000, 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)
+node2 = scene:newStaticCollisionNode("Cube.030_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.031", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(32.271385, 2.886189, -31.000000, 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)
+node2 = scene:newStaticCollisionNode("Cube.031_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.032", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(47.271385, 2.886189, -31.000000, 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)
+node2 = scene:newStaticCollisionNode("Cube.032_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.033", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(44.761005, 2.886189, -34.498241, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(1.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+node2 = scene:newStaticCollisionNode("Cube.033_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.034", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(38.761005, 2.886189, -34.498241, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(1.000000)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+node2 = scene:newStaticCollisionNode("Cube.034_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.035", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(34.761005, 2.886189, -34.498241, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.000000, 0.000000, 0.000000)
+trf:setRotation(rot)
+trf:setScale(0.995130)
+node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
+node2 = scene:newStaticCollisionNode("Cube.035_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.036", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(34.798492, 6.376611, -32.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.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)
+node2 = scene:newStaticCollisionNode("Cube.036_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.038", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(34.798492, 6.376611, -24.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.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)
+node2 = scene:newStaticCollisionNode("Cube.038_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.039", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(34.798492, 6.398044, -28.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.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)
+node2 = scene:newStaticCollisionNode("Cube.039_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.037", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(44.798492, 6.376611, -32.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.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)
+node2 = scene:newStaticCollisionNode("Cube.037_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.040", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(44.798492, 6.376611, -24.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.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)
+node2 = scene:newStaticCollisionNode("Cube.040_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.041", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(44.798492, 6.398044, -28.000000, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.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)
+node2 = scene:newStaticCollisionNode("Cube.041_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.042", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(39.798492, 6.334259, -31.947594, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.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)
+node2 = scene:newStaticCollisionNode("Cube.042_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.043", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(39.798492, 6.334259, -23.947592, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.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)
+node2 = scene:newStaticCollisionNode("Cube.043_cl", "assets/wall.ankicl", trf)
+
+node = scene:newModelNode("Cube.044", "assets/wall_walls.001.ankimdl")
+trf = Transform.new()
+trf:setOrigin(Vec4.new(39.798492, 6.355691, -27.947592, 0))
+rot = Mat3x4.new()
+rot:setAll(0.000000, 1.000000, 0.000000, 0.000000, -1.000000, 0.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)
+node2 = scene:newStaticCollisionNode("Cube.044_cl", "assets/wall.ankicl", trf)
+
+node = scene:newGlobalIlluminationProbeNode("refl_probe.002")
+comp = node:getSceneNodeBase():getGlobalIlluminationProbeComponent()
+comp:setBoundingBox(Vec4.new(-128.498062, -128.498062, -128.498062, 0), Vec4.new(128.498062, 128.498062, 128.498062, 0))
+comp:setCellSize(32.000000)
+trf = Transform.new()
+trf:setOrigin(Vec4.new(-0.068372, 9.192602, -0.126609, 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)
+
+node = scene:newReflectionProbeNode("refl_probe", Vec4.new(-134.111938, -134.111938, -134.111938, 0), Vec4.new(134.111938, 134.111938, 134.111938, 0))
+trf = Transform.new()
+trf:setOrigin(Vec4.new(0.000000, 9.113202, 0.000000, 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)
+
+node = scene:newGlobalIlluminationProbeNode("Cube.045")
+comp = node:getSceneNodeBase():getGlobalIlluminationProbeComponent()
+comp:setBoundingBox(Vec4.new(-7.512932, -3.476489, -6.451754, 0), Vec4.new(7.512932, 3.476490, 6.451752, 0))
 trf = Transform.new()
-trf:setOrigin(Vec4.new(7.48113, 7.87011, 6.50764, 0))
+trf:setOrigin(Vec4.new(39.731613, 2.915391, -28.049887, 0))
 rot = Mat3x4.new()
-rot:setAll(0.685921, -0.323983, 0.651573, 0, 0, 0.895416, 0.44523, 0, -0.727676, -0.305392, 0.614184, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)

+ 30 - 0
samples/physics_playground/assets/sky.ankimtl

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- This file is auto generated by ImporterMaterial.cpp -->
+<material shaderProgram="shaders/GBufferGeneric.glslp">
+	<mutators>
+		<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"/>
+	</mutators>
+
+	<inputs>
+		<input shaderInput="mvp" builtin="MODEL_VIEW_PROJECTION_MATRIX"/>
+		<input shaderInput="prevMvp" builtin="PREVIOUS_MODEL_VIEW_PROJECTION_MATRIX"/>
+		<input shaderInput="rotationMat" builtin="ROTATION_MATRIX"/>
+		<input shaderInput="globalSampler" builtin="GLOBAL_SAMPLER"/>
+		
+
+		<input shaderInput="diffColor" value="0.015215 0.459168 0.800000"/>
+		<input shaderInput="specColor" value="0.040000 0.040000 0.040000"/>
+		<input shaderInput="roughness" value="0.500000" />
+		<input shaderInput="metallic" value="0.000000" />
+		
+		<input shaderInput="emission" value="0.110506 0.266543 1.000000"/>
+		<input shaderInput="subsurface" value="0.000000"/>
+		
+	</inputs>
+</material>

BIN
samples/physics_playground/assets/unbacked/Asphalt_004_COLOR.png


BIN
samples/physics_playground/assets/unbacked/Asphalt_004_DISP.png


BIN
samples/physics_playground/assets/unbacked/Asphalt_004_NRM.png


BIN
samples/physics_playground/assets/unbacked/Asphalt_004_ROUGH.png


BIN
samples/physics_playground/assets/unbacked/Stone_Wall_007_COLOR.png


BIN
samples/physics_playground/assets/unbacked/Stone_Wall_007_DISP.png


BIN
samples/physics_playground/assets/unbacked/Stone_Wall_007_NORM.png


BIN
samples/physics_playground/assets/unbacked/Stone_Wall_007_ROUGH.png


BIN
samples/physics_playground/assets/unbacked/physics_playground.blend


BIN
samples/physics_playground/assets/wall.ankimesh


+ 8 - 0
samples/physics_playground/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>

+ 30 - 0
samples/physics_playground/assets/walls.001.ankimtl

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- This file is auto generated by ImporterMaterial.cpp -->
+<material shaderProgram="shaders/GBufferGeneric.glslp">
+	<mutators>
+		<mutator name="DIFFUSE_TEX" value="1"/>
+		<mutator name="SPECULAR_TEX" value="0"/>
+		<mutator name="ROUGHNESS_TEX" value="1"/>
+		<mutator name="METAL_TEX" value="0"/>
+		<mutator name="NORMAL_TEX" value="1"/>
+		<mutator name="PARALLAX" value="0"/>
+		<mutator name="EMISSIVE_TEX" value="0"/>
+	</mutators>
+
+	<inputs>
+		<input shaderInput="mvp" builtin="MODEL_VIEW_PROJECTION_MATRIX"/>
+		<input shaderInput="prevMvp" builtin="PREVIOUS_MODEL_VIEW_PROJECTION_MATRIX"/>
+		<input shaderInput="rotationMat" builtin="ROTATION_MATRIX"/>
+		<input shaderInput="globalSampler" builtin="GLOBAL_SAMPLER"/>
+		
+
+		<input shaderInput="diffTex" value="assets/Stone_Wall_007_COLOR.ankitex"/>
+		<input shaderInput="specColor" value="0.040000 0.040000 0.040000"/>
+		<input shaderInput="roughnessTex" value="assets/Stone_Wall_007_ROUGH.ankitex"/>
+		<input shaderInput="metallic" value="0.000000" />
+		<input shaderInput="normalTex" value="assets/Stone_Wall_007_NORM.ankitex"/>
+		<input shaderInput="emission" value="0.000000 0.000000 0.000000"/>
+		<input shaderInput="subsurface" value="0.000000"/>
+		
+	</inputs>
+</material>

BIN
samples/physics_playground/assets/walls.ankimesh


+ 5 - 6
samples/sponza/assets/arch-material.ankimtl → samples/physics_playground/assets/walls.ankimtl

@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<!-- This file is auto generated by ExporterMaterial.cpp -->
+<!-- This file is auto generated by ImporterMaterial.cpp -->
 <material shaderProgram="shaders/GBufferGeneric.glslp">
-
 	<mutators>
 		<mutator name="DIFFUSE_TEX" value="1"/>
 		<mutator name="SPECULAR_TEX" value="0"/>
@@ -19,11 +18,11 @@
 		<input shaderInput="globalSampler" builtin="GLOBAL_SAMPLER"/>
 		
 
-		<input shaderInput="diffTex" value="assets/Sponza_Arch_diffuse.ankitex"/>
+		<input shaderInput="diffTex" value="assets/Asphalt_004_COLOR.ankitex"/>
 		<input shaderInput="specColor" value="0.040000 0.040000 0.040000"/>
-		<input shaderInput="roughnessTex" value="assets/Sponza_Arch_roughness.ankitex"/>
-		<input shaderInput="metallic" value="0.500000"/>
-		<input shaderInput="normalTex" value="assets/Sponza_Arch_normal.ankitex"/>
+		<input shaderInput="roughnessTex" value="assets/Asphalt_004_ROUGH.ankitex"/>
+		<input shaderInput="metallic" value="0.000000" />
+		<input shaderInput="normalTex" value="assets/Asphalt_004_NRM.ankitex"/>
 		<input shaderInput="emission" value="0.000000 0.000000 0.000000"/>
 		<input shaderInput="subsurface" value="0.000000"/>
 		

+ 8 - 0
samples/physics_playground/assets/walls_sky.ankimdl

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

BIN
samples/simple_scene/assets/column.ankimesh


+ 1 - 2
samples/simple_scene/assets/columnroom-material.ankimdl → samples/simple_scene/assets/column_walls.ankimdl

@@ -1,9 +1,8 @@
-<?xml version="1.0" encoding="UTF-8" ?>
 <model>
 	<modelPatches>
 		<modelPatch>
 			<mesh>assets/column.ankimesh</mesh>
-			<material>assets/room-material.ankimtl</material>
+			<material>assets/walls.ankimtl</material>
 		</modelPatch>
 	</modelPatches>
 </model>

BIN
samples/simple_scene/assets/room.ankimesh


+ 1 - 2
samples/simple_scene/assets/roomroom-material.ankimdl → samples/simple_scene/assets/room_walls.ankimdl

@@ -1,9 +1,8 @@
-<?xml version="1.0" encoding="UTF-8" ?>
 <model>
 	<modelPatches>
 		<modelPatch>
 			<mesh>assets/room.ankimesh</mesh>
-			<material>assets/room-material.ankimtl</material>
+			<material>assets/walls.ankimtl</material>
 		</modelPatch>
 	</modelPatches>
 </model>

+ 33 - 46
samples/simple_scene/assets/scene.lua

@@ -1,85 +1,72 @@
 local scene = getSceneGraph()
 local events = getEventManager()
-local rot
-local node
-local inst
-local lcomp
 
-node = scene:newModelNode("roomroom-materialnone0", "assets/roomroom-material.ankimdl")
-trf = Transform.new()
-trf:setOrigin(Vec4.new(0, 0, 0, 0))
-rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
-trf:setRotation(rot)
-trf:setScale(1)
-node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-
-node = scene:newModelNode("columnroom-materialnone1", "assets/columnroom-material.ankimdl")
+node = scene:newPerspectiveCameraNode("Camera_Orientation")
+scene:setActiveCameraNode(node:getSceneNodeBase())
+frustumc = node:getSceneNodeBase():getFrustumComponent()
+frustumc:setPerspective(0.100000, 1000.000000, getMainRenderer():getAspectRatio() * 1.024779, 1.024779)
 trf = Transform.new()
-trf:setOrigin(Vec4.new(4.90187, 5.43441, -4.52919, 0))
+trf:setOrigin(Vec4.new(0.000000, 4.311547, 5.946665, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
-node = scene:newModelNode("sectorportal-materialnone2", "assets/sectorportal-material.ankimdl")
+node = scene:newModelNode("column.003", "assets/column_walls.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(0, 0, 0, 0))
+trf:setOrigin(Vec4.new(4.950977, 5.434409, 4.790287, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+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.16458)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
-node = scene:newModelNode("columnroom-materialnone3", "assets/columnroom-material.ankimdl")
+node = scene:newModelNode("column.002", "assets/column_walls.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(-4.59369, 5.43441, -4.49454, 0))
+trf:setOrigin(Vec4.new(-4.611011, 5.434409, 4.790287, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
-node = scene:newModelNode("columnroom-materialnone4", "assets/columnroom-material.ankimdl")
+node = scene:newModelNode("column.001", "assets/column_walls.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(-4.61101, 5.43441, 4.79029, 0))
+trf:setOrigin(Vec4.new(-4.593688, 5.434409, -4.494543, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
-node = scene:newModelNode("columnroom-materialnone5", "assets/columnroom-material.ankimdl")
+node = scene:newModelNode("column", "assets/column_walls.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(4.95098, 5.43441, 4.79029, 0))
+trf:setOrigin(Vec4.new(4.901871, 5.434409, -4.529187, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
 
 node = scene:newPointLightNode("Point")
 lcomp = node:getSceneNodeBase():getLightComponent()
-lcomp:setDiffuseColor(Vec4.new(10, 10, 10, 1))
-lcomp:setRadius(12.77)
+lcomp:setDiffuseColor(Vec4.new(10.000000, 10.000000, 10.000000, 1))
+lcomp:setShadowEnabled(1)
+lcomp:setRadius(31.622776)
 trf = Transform.new()
-trf:setOrigin(Vec4.new(0.0680842, 9.57987, 0.0302386, 0))
+trf:setOrigin(Vec4.new(0.068084, 9.579867, 0.030239, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 4.63287e-05, 1, 0, 0, -1, 4.63287e-05, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)
-lcomp:setShadowEnabled(1)
 
-node = scene:newPerspectiveCameraNode("Camera")
-scene:setActiveCameraNode(node:getSceneNodeBase())
-frustumc = node:getSceneNodeBase():getFrustumComponent()
-frustumc:setPerspective(0.1, 100, 1.5708, 1.0 / getMainRenderer():getAspectRatio() * 1.5708)
+node = scene:newModelNode("room", "assets/room_walls.ankimdl")
 trf = Transform.new()
-trf:setOrigin(Vec4.new(-0.0971127, 3.80237, 5.98675, 0))
+trf:setOrigin(Vec4.new(0.000000, 0.000000, 0.000000, 0))
 rot = Mat3x4.new()
-rot:setAll(1, 0, 0, 0, 0, 1, -4.63724e-05, 0, 0, 4.63724e-05, 1, 0)
+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)
+trf:setScale(1.000000)
 node:getSceneNodeBase():getMoveComponent():setLocalTransform(trf)

BIN
samples/simple_scene/assets/sector.ankimesh


+ 0 - 9
samples/simple_scene/assets/sectorportal-material.ankimdl

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<model>
-	<modelPatches>
-		<modelPatch>
-			<mesh>assets/sector.ankimesh</mesh>
-			<material>assets/portal-material.ankimtl</material>
-		</modelPatch>
-	</modelPatches>
-</model>

BIN
samples/simple_scene/assets/simple_scene.blend


+ 4 - 5
samples/simple_scene/assets/portal-material.ankimtl → samples/simple_scene/assets/walls.ankimtl

@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8" ?>
 <!-- This file is auto generated by ExporterMaterial.cpp -->
 <material shaderProgram="shaders/GBufferGeneric.glslp">
 
@@ -19,10 +18,10 @@
 		<input shaderInput="globalSampler" builtin="GLOBAL_SAMPLER"/>
 		
 
-		<input shaderInput="diffColor" value="0.006933 0.000000 0.640000"/>
-		<input shaderInput="specColor" value="0.500000 0.500000 0.500000"/>
-		<input shaderInput="roughness" value="0.097847" />
-		<input shaderInput="metallic" value="0.000000"/>
+		<input shaderInput="diffColor" value="0.510773 0.800000 0.000000"/>
+		<input shaderInput="specColor" value="0.04 0.04 0.04"/>
+		<input shaderInput="roughness" value="0.215909" />
+		<input shaderInput="metallic" value="0.000000" />
 		
 		<input shaderInput="emission" value="0.000000 0.000000 0.000000"/>
 		<input shaderInput="subsurface" value="0.000000"/>

BIN
samples/sponza/assets/Background_Albedo.ankitex


BIN
samples/sponza/assets/Background_Normal.ankitex


BIN
samples/sponza/assets/Background_Roughness.ankitex


BIN
samples/sponza/assets/ChainTexture_Albedo.ankitex


BIN
samples/sponza/assets/ChainTexture_Metallic.ankitex


BIN
samples/sponza/assets/ChainTexture_Normal.ankitex


BIN
samples/sponza/assets/ChainTexture_Roughness.ankitex


BIN
samples/sponza/assets/Cube.ankimesh


BIN
samples/sponza/assets/Icosphere.001.ankimesh


+ 0 - 9
samples/sponza/assets/Icosphere.001sky-material.ankimdl

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<model>
-	<modelPatches>
-		<modelPatch>
-			<mesh>assets/Icosphere.001.ankimesh</mesh>
-			<material>assets/sky-material.ankimtl</material>
-		</modelPatch>
-	</modelPatches>
-</model>

BIN
samples/sponza/assets/Lion_Albedo.ankitex


BIN
samples/sponza/assets/Lion_Normal.ankitex


BIN
samples/sponza/assets/Lion_Roughness.ankitex


BIN
samples/sponza/assets/Sponza_Arch_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Arch_normal.ankitex


BIN
samples/sponza/assets/Sponza_Arch_roughness.ankitex


BIN
samples/sponza/assets/Sponza_Bricks_a_Albedo.ankitex


BIN
samples/sponza/assets/Sponza_Bricks_a_Normal.ankitex


BIN
samples/sponza/assets/Sponza_Bricks_a_Roughness.ankitex


BIN
samples/sponza/assets/Sponza_Ceiling_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Ceiling_normal.ankitex


BIN
samples/sponza/assets/Sponza_Ceiling_roughness.ankitex


BIN
samples/sponza/assets/Sponza_Ceiling_roughness_tga.ankitex


BIN
samples/sponza/assets/Sponza_Column_a_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Column_a_normal.ankitex


BIN
samples/sponza/assets/Sponza_Column_a_roughness.ankitex


BIN
samples/sponza/assets/Sponza_Column_b_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Column_b_normal.ankitex


BIN
samples/sponza/assets/Sponza_Column_b_roughness.ankitex


BIN
samples/sponza/assets/Sponza_Column_b_roughness_tga.ankitex


BIN
samples/sponza/assets/Sponza_Column_c_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Column_c_normal.ankitex


BIN
samples/sponza/assets/Sponza_Column_c_roughness.ankitex


BIN
samples/sponza/assets/Sponza_Column_c_roughness_tga.ankitex


BIN
samples/sponza/assets/Sponza_Curtain_Blue_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Curtain_Green_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Curtain_Red_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Curtain_Red_normal.ankitex


BIN
samples/sponza/assets/Sponza_Curtain_Red_normal_tga_001.ankitex


BIN
samples/sponza/assets/Sponza_Curtain_metallic.ankitex


BIN
samples/sponza/assets/Sponza_Curtain_roughness.ankitex


BIN
samples/sponza/assets/Sponza_Curtain_roughness_tga_001.ankitex


BIN
samples/sponza/assets/Sponza_Details_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Details_metallic-Sponza_Details_roughness.ankitex


BIN
samples/sponza/assets/Sponza_Details_metallic.ankitex


BIN
samples/sponza/assets/Sponza_Details_normal.ankitex


BIN
samples/sponza/assets/Sponza_Details_roughness.ankitex


BIN
samples/sponza/assets/Sponza_Fabric_Blue_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Fabric_Green_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Fabric_Red_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_Fabric_Red_normal.ankitex


BIN
samples/sponza/assets/Sponza_Fabric_metallic-Sponza_Curtain_roughness.ankitex


BIN
samples/sponza/assets/Sponza_Fabric_metallic.ankitex


BIN
samples/sponza/assets/Sponza_Fabric_roughness.ankitex


BIN
samples/sponza/assets/Sponza_FlagPole_diffuse.ankitex


BIN
samples/sponza/assets/Sponza_FlagPole_normal.ankitex


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików