Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08a6df4e68 |
@@ -8,6 +8,3 @@ lightkeeper/assets_runtime
|
|||||||
.idea/**
|
.idea/**
|
||||||
|
|
||||||
build/**
|
build/**
|
||||||
|
|
||||||
CLAUDE.md
|
|
||||||
docs/**
|
|
||||||
|
|||||||
@@ -44,13 +44,9 @@
|
|||||||
[submodule "destrum/third_party/imgui"]
|
[submodule "destrum/third_party/imgui"]
|
||||||
path = destrum/third_party/imgui
|
path = destrum/third_party/imgui
|
||||||
url = https://github.com/ocornut/imgui.git
|
url = https://github.com/ocornut/imgui.git
|
||||||
branch = docking
|
|
||||||
[submodule "destrum/third_party/jolt"]
|
[submodule "destrum/third_party/jolt"]
|
||||||
path = destrum/third_party/jolt
|
path = destrum/third_party/jolt
|
||||||
url = https://github.com/jrouwe/JoltPhysics.git
|
url = https://github.com/jrouwe/JoltPhysics.git
|
||||||
[submodule "destrum/third_party/tracy"]
|
[submodule "destrum/third_party/tracy"]
|
||||||
path = destrum/third_party/tracy
|
path = destrum/third_party/tracy
|
||||||
url = https://github.com/wolfpld/tracy.git
|
url = https://github.com/wolfpld/tracy.git
|
||||||
[submodule "destrum/third_party/imguizmo"]
|
|
||||||
path = destrum/third_party/imguizmo
|
|
||||||
url = https://github.com/CedricGuillemet/ImGuizmo.git
|
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ if (TARGET _internal_validate_engine_shaders)
|
|||||||
add_dependencies(ValidateShaders _internal_validate_engine_shaders)
|
add_dependencies(ValidateShaders _internal_validate_engine_shaders)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
destrum_enable_warnings(destrum_assets)
|
|
||||||
destrum_enable_warnings(destrum)
|
destrum_enable_warnings(destrum)
|
||||||
destrum_enable_warnings(lightkeeper)
|
destrum_enable_warnings(lightkeeper)
|
||||||
|
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ cmake --install build --config Release
|
|||||||
|
|
||||||
## Demo app
|
## Demo app
|
||||||
|
|
||||||
`lightkeeper` is the current demo application. It creates an SDL window, initializes the Destrum app, loads assets, sets up a scene, renders meshes, skyboxes, and a skinned animated character.
|
`lightkeeper` is the current game application. It launches **Star Catcher**, a small playable loop built from the engine's scene and rendering systems. Move the blue catcher with `A`/`D` or the arrow keys, catch orange stars, and press `R` to restart after three misses. Press `Escape` to quit.
|
||||||
|
|
||||||
## Development notes
|
## Development notes
|
||||||
|
|
||||||
|
|||||||
@@ -1,44 +1,10 @@
|
|||||||
add_subdirectory(third_party)
|
add_subdirectory(third_party)
|
||||||
|
|
||||||
# CPU side asset types and the cooked model format, shared with TheChef (no Vulkan / SDL dependencies)
|
|
||||||
add_library(destrum_assets
|
|
||||||
"src/Assets/ModelFile.cpp"
|
|
||||||
"src/Assets/TextureFile.cpp"
|
|
||||||
)
|
|
||||||
|
|
||||||
add_library(destrum::assets ALIAS destrum_assets)
|
|
||||||
|
|
||||||
set_target_properties(destrum_assets PROPERTIES
|
|
||||||
CXX_STANDARD 20
|
|
||||||
CXX_EXTENSIONS OFF
|
|
||||||
)
|
|
||||||
|
|
||||||
target_include_directories(destrum_assets PUBLIC "${CMAKE_CURRENT_LIST_DIR}/include")
|
|
||||||
|
|
||||||
target_link_libraries(destrum_assets
|
|
||||||
PUBLIC
|
|
||||||
glm::glm
|
|
||||||
assimp
|
|
||||||
spdlog::spdlog
|
|
||||||
)
|
|
||||||
|
|
||||||
target_compile_definitions(destrum_assets
|
|
||||||
PUBLIC
|
|
||||||
GLM_FORCE_CTOR_INIT
|
|
||||||
GLM_FORCE_XYZW_ONLY
|
|
||||||
GLM_FORCE_EXPLICIT_CTOR
|
|
||||||
GLM_FORCE_DEPTH_ZERO_TO_ONE
|
|
||||||
GLM_ENABLE_EXPERIMENTAL
|
|
||||||
)
|
|
||||||
|
|
||||||
set(SRC_FILES
|
set(SRC_FILES
|
||||||
"src/App.cpp"
|
"src/App.cpp"
|
||||||
"src/Event.cpp"
|
"src/Event.cpp"
|
||||||
"src/Window.cpp"
|
|
||||||
|
|
||||||
"src/Components/Animator.cpp"
|
"src/Components/Animator.cpp"
|
||||||
"src/Components/CameraComponent.cpp"
|
|
||||||
"src/Components/LightComponent.cpp"
|
|
||||||
"src/Components/MeshRendererComponent.cpp"
|
"src/Components/MeshRendererComponent.cpp"
|
||||||
"src/Components/Rotator.cpp"
|
"src/Components/Rotator.cpp"
|
||||||
"src/Components/Spinner.cpp"
|
"src/Components/Spinner.cpp"
|
||||||
@@ -50,14 +16,8 @@ set(SRC_FILES
|
|||||||
"src/Components/Physics/Collider.cpp"
|
"src/Components/Physics/Collider.cpp"
|
||||||
"src/Components/Physics/SphereCollider.cpp"
|
"src/Components/Physics/SphereCollider.cpp"
|
||||||
|
|
||||||
"src/Components/UI/Canvas.cpp"
|
|
||||||
"src/Components/UI/RectTransform.cpp"
|
|
||||||
"src/Components/UI/UIImage.cpp"
|
|
||||||
"src/Components/UI/UIText.cpp"
|
|
||||||
|
|
||||||
"src/Graphics/BindlessSetManager.cpp"
|
"src/Graphics/BindlessSetManager.cpp"
|
||||||
"src/Graphics/Camera.cpp"
|
"src/Graphics/Camera.cpp"
|
||||||
"src/Graphics/DebugDraw.cpp"
|
|
||||||
"src/Graphics/ComputePipeline.cpp"
|
"src/Graphics/ComputePipeline.cpp"
|
||||||
"src/Graphics/Frustum.cpp"
|
"src/Graphics/Frustum.cpp"
|
||||||
"src/Graphics/GfxDevice.cpp"
|
"src/Graphics/GfxDevice.cpp"
|
||||||
@@ -72,28 +32,18 @@ set(SRC_FILES
|
|||||||
"src/Graphics/Swapchain.cpp"
|
"src/Graphics/Swapchain.cpp"
|
||||||
"src/Graphics/Util.cpp"
|
"src/Graphics/Util.cpp"
|
||||||
"src/Graphics/RenderResources.cpp"
|
"src/Graphics/RenderResources.cpp"
|
||||||
"src/Graphics/ResourcesInspector.cpp"
|
|
||||||
|
|
||||||
"src/Graphics/Managers/VulkanInstanceManager.cpp"
|
"src/Graphics/Managers/VulkanInstanceManager.cpp"
|
||||||
"src/Graphics/Managers/MemoryManager.cpp"
|
"src/Graphics/Managers/MemoryManager.cpp"
|
||||||
"src/Graphics/Managers/FrameManager.cpp"
|
"src/Graphics/Managers/FrameManager.cpp"
|
||||||
"src/Graphics/Managers/ImageManager.cpp"
|
"src/Graphics/Managers/ImageManager.cpp"
|
||||||
"src/Graphics/Managers/LineRenderingManager.cpp"
|
|
||||||
"src/Graphics/Managers/Renderer2D.cpp"
|
|
||||||
|
|
||||||
"src/Graphics/Resources/GPUImage.cpp"
|
"src/Graphics/Resources/GPUImage.cpp"
|
||||||
"src/Graphics/Resources/NBuffer.cpp"
|
"src/Graphics/Resources/NBuffer.cpp"
|
||||||
"src/Graphics/Resources/Cubemap.cpp"
|
"src/Graphics/Resources/Cubemap.cpp"
|
||||||
"src/Graphics/Resources/Font.cpp"
|
|
||||||
"src/Graphics/Resources/FontCache.cpp"
|
|
||||||
"src/Graphics/Resources/PrimitiveMeshes.cpp"
|
|
||||||
|
|
||||||
"src/Graphics/Pipelines/MeshPipeline.cpp"
|
"src/Graphics/Pipelines/MeshPipeline.cpp"
|
||||||
"src/Graphics/Pipelines/LineRenderingPass.cpp"
|
|
||||||
"src/Graphics/Pipelines/Renderer2DPass.cpp"
|
|
||||||
"src/Graphics/Pipelines/SkyboxPipeline.cpp"
|
"src/Graphics/Pipelines/SkyboxPipeline.cpp"
|
||||||
"src/Graphics/Pipelines/LightCullingPipeline.cpp"
|
|
||||||
"src/Graphics/Pipelines/ShadowMapPipeline.cpp"
|
|
||||||
"src/Graphics/Pipelines/SkinningPipeline.cpp"
|
"src/Graphics/Pipelines/SkinningPipeline.cpp"
|
||||||
"src/Graphics/Pipelines/ImguiPass.cpp"
|
"src/Graphics/Pipelines/ImguiPass.cpp"
|
||||||
|
|
||||||
@@ -102,12 +52,10 @@ set(SRC_FILES
|
|||||||
"src/ObjectModel/Component.cpp"
|
"src/ObjectModel/Component.cpp"
|
||||||
"src/ObjectModel/GameObject.cpp"
|
"src/ObjectModel/GameObject.cpp"
|
||||||
"src/ObjectModel/Object.cpp"
|
"src/ObjectModel/Object.cpp"
|
||||||
"src/ObjectModel/ObjectRef.cpp"
|
|
||||||
"src/ObjectModel/Transform.cpp"
|
"src/ObjectModel/Transform.cpp"
|
||||||
|
|
||||||
"src/Scene/Scene.cpp"
|
"src/Scene/Scene.cpp"
|
||||||
"src/Scene/SceneManager.cpp"
|
"src/Scene/SceneManager.cpp"
|
||||||
"src/Scene/ModelSpawner.cpp"
|
|
||||||
|
|
||||||
"src/FS/AssetFS.cpp"
|
"src/FS/AssetFS.cpp"
|
||||||
"src/FS/Manifest.cpp"
|
"src/FS/Manifest.cpp"
|
||||||
@@ -115,16 +63,10 @@ set(SRC_FILES
|
|||||||
"src/Assets/AssetManager.cpp"
|
"src/Assets/AssetManager.cpp"
|
||||||
|
|
||||||
"src/Serialization/SceneSerializer.cpp"
|
"src/Serialization/SceneSerializer.cpp"
|
||||||
"src/Serialization/ObjectSerialization.cpp"
|
|
||||||
"src/Serialization/PrefabSerializer.cpp"
|
|
||||||
"src/Serialization/PrefabCache.cpp"
|
|
||||||
"src/Serialization/ComponentRegistry.cpp"
|
"src/Serialization/ComponentRegistry.cpp"
|
||||||
|
|
||||||
"src/Util/DeltaTime.cpp"
|
"src/Util/DeltaTime.cpp"
|
||||||
"src/Util/ImGuiUtils.cpp"
|
"src/Util/ImGuiUtils.cpp"
|
||||||
"src/Util/TransformGizmo.cpp"
|
|
||||||
"src/Util/RectGizmo.cpp"
|
|
||||||
"src/Util/SceneInspector.cpp"
|
|
||||||
|
|
||||||
"src/Physics/PhysicsWorld.cpp"
|
"src/Physics/PhysicsWorld.cpp"
|
||||||
"src/Physics/SimplePhysicsWorld.cpp"
|
"src/Physics/SimplePhysicsWorld.cpp"
|
||||||
@@ -150,8 +92,6 @@ target_include_directories(destrum PRIVATE
|
|||||||
|
|
||||||
target_link_libraries(destrum
|
target_link_libraries(destrum
|
||||||
PUBLIC
|
PUBLIC
|
||||||
destrum_assets
|
|
||||||
|
|
||||||
volk::volk_headers
|
volk::volk_headers
|
||||||
vk-bootstrap::vk-bootstrap
|
vk-bootstrap::vk-bootstrap
|
||||||
GPUOpen::VulkanMemoryAllocator
|
GPUOpen::VulkanMemoryAllocator
|
||||||
@@ -163,7 +103,6 @@ target_link_libraries(destrum
|
|||||||
tinygltf
|
tinygltf
|
||||||
assimp
|
assimp
|
||||||
imgui
|
imgui
|
||||||
imguizmo
|
|
||||||
Jolt
|
Jolt
|
||||||
Tracy::TracyClient
|
Tracy::TracyClient
|
||||||
|
|
||||||
@@ -190,6 +129,15 @@ else ()
|
|||||||
target_link_libraries(destrum PUBLIC SDL2::SDL2-static)
|
target_link_libraries(destrum PUBLIC SDL2::SDL2-static)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
target_compile_definitions(destrum
|
||||||
|
PUBLIC
|
||||||
|
GLM_FORCE_CTOR_INIT
|
||||||
|
GLM_FORCE_XYZW_ONLY
|
||||||
|
GLM_FORCE_EXPLICIT_CTOR
|
||||||
|
GLM_FORCE_DEPTH_ZERO_TO_ONE
|
||||||
|
GLM_ENABLE_EXPERIMENTAL
|
||||||
|
)
|
||||||
|
|
||||||
set(ASSETS_SRC_DIR "${CMAKE_CURRENT_LIST_DIR}/assets_src")
|
set(ASSETS_SRC_DIR "${CMAKE_CURRENT_LIST_DIR}/assets_src")
|
||||||
set(ASSETS_RUNTIME_DIR "${CMAKE_CURRENT_LIST_DIR}/assets_runtime")
|
set(ASSETS_RUNTIME_DIR "${CMAKE_CURRENT_LIST_DIR}/assets_runtime")
|
||||||
#set(OUTPUT_ENGINE_ASSETS_DIR "${CMAKE_BINARY_DIR}/assets/engine")
|
#set(OUTPUT_ENGINE_ASSETS_DIR "${CMAKE_BINARY_DIR}/assets/engine")
|
||||||
@@ -213,6 +161,10 @@ add_custom_target(_internal_clean_engine_assets
|
|||||||
)
|
)
|
||||||
|
|
||||||
add_custom_target(_internal_cook_engine_assets
|
add_custom_target(_internal_cook_engine_assets
|
||||||
|
COMMAND TheChef
|
||||||
|
--input "${ASSETS_SRC_DIR}"
|
||||||
|
--output "${ASSETS_RUNTIME_DIR}"
|
||||||
|
--clean
|
||||||
COMMAND TheChef
|
COMMAND TheChef
|
||||||
--input "${ASSETS_SRC_DIR}"
|
--input "${ASSETS_SRC_DIR}"
|
||||||
--output "${ASSETS_RUNTIME_DIR}"
|
--output "${ASSETS_RUNTIME_DIR}"
|
||||||
@@ -269,7 +221,7 @@ function(destrum_cook_engine_assets GAME_TARGET GAME_OUTPUT_DIR)
|
|||||||
install(DIRECTORY "${_engine_runtime}/" DESTINATION "bin/assets/engine")
|
install(DIRECTORY "${_engine_runtime}/" DESTINATION "bin/assets/engine")
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
install(TARGETS destrum destrum_assets
|
install(TARGETS destrum
|
||||||
ARCHIVE DESTINATION lib
|
ARCHIVE DESTINATION lib
|
||||||
LIBRARY DESTINATION lib
|
LIBRARY DESTINATION lib
|
||||||
RUNTIME DESTINATION bin)
|
RUNTIME DESTINATION bin)
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 5.3 MiB |
|
Before Width: | Height: | Size: 3.1 MiB |
@@ -1,712 +0,0 @@
|
|||||||
{
|
|
||||||
"asset": {
|
|
||||||
"version": "2.0",
|
|
||||||
"generator": "babylon.js glTF exporter for Maya 2018 v20200228.3 (with minor hand modifications)"
|
|
||||||
},
|
|
||||||
"extensionsUsed": [
|
|
||||||
"KHR_materials_transmission"
|
|
||||||
],
|
|
||||||
"scene": 0,
|
|
||||||
"scenes": [
|
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
2,
|
|
||||||
3,
|
|
||||||
4,
|
|
||||||
5
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"mesh": 0,
|
|
||||||
"name": "Hose_low"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mesh": 1,
|
|
||||||
"name": "RubberWood_low"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mesh": 2,
|
|
||||||
"name": "GlassPlastic_low"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mesh": 3,
|
|
||||||
"name": "MetalParts_low"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mesh": 4,
|
|
||||||
"name": "LeatherParts_low"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"mesh": 5,
|
|
||||||
"name": "Lenses_low"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"meshes": [
|
|
||||||
{
|
|
||||||
"primitives": [
|
|
||||||
{
|
|
||||||
"attributes": {
|
|
||||||
"POSITION": 1,
|
|
||||||
"TANGENT": 2,
|
|
||||||
"NORMAL": 3,
|
|
||||||
"TEXCOORD_0": 4
|
|
||||||
},
|
|
||||||
"indices": 0,
|
|
||||||
"material": 0
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "Hose_low"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"primitives": [
|
|
||||||
{
|
|
||||||
"attributes": {
|
|
||||||
"POSITION": 6,
|
|
||||||
"TANGENT": 7,
|
|
||||||
"NORMAL": 8,
|
|
||||||
"TEXCOORD_0": 9
|
|
||||||
},
|
|
||||||
"indices": 5,
|
|
||||||
"material": 1
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "RubberWood_low"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"primitives": [
|
|
||||||
{
|
|
||||||
"attributes": {
|
|
||||||
"POSITION": 11,
|
|
||||||
"TANGENT": 12,
|
|
||||||
"NORMAL": 13,
|
|
||||||
"TEXCOORD_0": 14
|
|
||||||
},
|
|
||||||
"indices": 10,
|
|
||||||
"material": 2
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "GlassPlastic_low"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"primitives": [
|
|
||||||
{
|
|
||||||
"attributes": {
|
|
||||||
"POSITION": 16,
|
|
||||||
"TANGENT": 17,
|
|
||||||
"NORMAL": 18,
|
|
||||||
"TEXCOORD_0": 19
|
|
||||||
},
|
|
||||||
"indices": 15,
|
|
||||||
"material": 3
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "MetalParts_low"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"primitives": [
|
|
||||||
{
|
|
||||||
"attributes": {
|
|
||||||
"POSITION": 21,
|
|
||||||
"TANGENT": 22,
|
|
||||||
"NORMAL": 23,
|
|
||||||
"TEXCOORD_0": 24
|
|
||||||
},
|
|
||||||
"indices": 20,
|
|
||||||
"material": 4
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "LeatherParts_low"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"primitives": [
|
|
||||||
{
|
|
||||||
"attributes": {
|
|
||||||
"POSITION": 26,
|
|
||||||
"TANGENT": 27,
|
|
||||||
"NORMAL": 28,
|
|
||||||
"TEXCOORD_0": 29
|
|
||||||
},
|
|
||||||
"indices": 25,
|
|
||||||
"material": 5
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "Lenses_low"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"accessors": [
|
|
||||||
{
|
|
||||||
"bufferView": 0,
|
|
||||||
"componentType": 5123,
|
|
||||||
"count": 59040,
|
|
||||||
"type": "SCALAR",
|
|
||||||
"name": "accessorIndices"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 10472,
|
|
||||||
"max": [
|
|
||||||
0.10810829,
|
|
||||||
0.356580257,
|
|
||||||
0.190409869
|
|
||||||
],
|
|
||||||
"min": [
|
|
||||||
-0.07221258,
|
|
||||||
0.104120225,
|
|
||||||
-0.088394776
|
|
||||||
],
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorPositions"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 2,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 10472,
|
|
||||||
"type": "VEC4",
|
|
||||||
"name": "accessorTangents"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 125664,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 10472,
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorNormals"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 3,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 10472,
|
|
||||||
"type": "VEC2",
|
|
||||||
"name": "accessorUVs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 0,
|
|
||||||
"byteOffset": 118080,
|
|
||||||
"componentType": 5123,
|
|
||||||
"count": 72534,
|
|
||||||
"type": "SCALAR",
|
|
||||||
"name": "accessorIndices"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 251328,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 13638,
|
|
||||||
"max": [
|
|
||||||
0.162940636,
|
|
||||||
0.7025226,
|
|
||||||
0.200029165
|
|
||||||
],
|
|
||||||
"min": [
|
|
||||||
-0.158857465,
|
|
||||||
-2.14242937E-05,
|
|
||||||
-0.171545789
|
|
||||||
],
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorPositions"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 2,
|
|
||||||
"byteOffset": 167552,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 13638,
|
|
||||||
"type": "VEC4",
|
|
||||||
"name": "accessorTangents"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 414984,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 13638,
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorNormals"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 3,
|
|
||||||
"byteOffset": 83776,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 13638,
|
|
||||||
"type": "VEC2",
|
|
||||||
"name": "accessorUVs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 0,
|
|
||||||
"byteOffset": 263148,
|
|
||||||
"componentType": 5123,
|
|
||||||
"count": 24408,
|
|
||||||
"type": "SCALAR",
|
|
||||||
"name": "accessorIndices"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 578640,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 4676,
|
|
||||||
"max": [
|
|
||||||
0.140494063,
|
|
||||||
0.61828655,
|
|
||||||
0.147373646
|
|
||||||
],
|
|
||||||
"min": [
|
|
||||||
-0.140846014,
|
|
||||||
0.440957,
|
|
||||||
-0.107818365
|
|
||||||
],
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorPositions"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 2,
|
|
||||||
"byteOffset": 385760,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 4676,
|
|
||||||
"type": "VEC4",
|
|
||||||
"name": "accessorTangents"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 634752,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 4676,
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorNormals"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 3,
|
|
||||||
"byteOffset": 192880,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 4676,
|
|
||||||
"type": "VEC2",
|
|
||||||
"name": "accessorUVs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 0,
|
|
||||||
"byteOffset": 311964,
|
|
||||||
"componentType": 5123,
|
|
||||||
"count": 60288,
|
|
||||||
"type": "SCALAR",
|
|
||||||
"name": "accessorIndices"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 690864,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 13636,
|
|
||||||
"max": [
|
|
||||||
0.132708371,
|
|
||||||
0.6024364,
|
|
||||||
0.199477077
|
|
||||||
],
|
|
||||||
"min": [
|
|
||||||
-0.203642711,
|
|
||||||
0.02116075,
|
|
||||||
-0.147512689
|
|
||||||
],
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorPositions"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 2,
|
|
||||||
"byteOffset": 460576,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 13636,
|
|
||||||
"type": "VEC4",
|
|
||||||
"name": "accessorTangents"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 854496,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 13636,
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorNormals"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 3,
|
|
||||||
"byteOffset": 230288,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 13636,
|
|
||||||
"type": "VEC2",
|
|
||||||
"name": "accessorUVs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 0,
|
|
||||||
"byteOffset": 432540,
|
|
||||||
"componentType": 5123,
|
|
||||||
"count": 65688,
|
|
||||||
"type": "SCALAR",
|
|
||||||
"name": "accessorIndices"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 1018128,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 12534,
|
|
||||||
"max": [
|
|
||||||
0.124933377,
|
|
||||||
0.716000438,
|
|
||||||
0.129168555
|
|
||||||
],
|
|
||||||
"min": [
|
|
||||||
-0.125863016,
|
|
||||||
0.2958266,
|
|
||||||
-0.1541516
|
|
||||||
],
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorPositions"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 2,
|
|
||||||
"byteOffset": 678752,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 12534,
|
|
||||||
"type": "VEC4",
|
|
||||||
"name": "accessorTangents"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 1168536,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 12534,
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorNormals"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 3,
|
|
||||||
"byteOffset": 339376,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 12534,
|
|
||||||
"type": "VEC2",
|
|
||||||
"name": "accessorUVs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 0,
|
|
||||||
"byteOffset": 563916,
|
|
||||||
"componentType": 5123,
|
|
||||||
"count": 2208,
|
|
||||||
"type": "SCALAR",
|
|
||||||
"name": "accessorIndices"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 1318944,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 436,
|
|
||||||
"max": [
|
|
||||||
0.101920746,
|
|
||||||
0.5936986,
|
|
||||||
0.152926728
|
|
||||||
],
|
|
||||||
"min": [
|
|
||||||
-0.101920947,
|
|
||||||
0.5300429,
|
|
||||||
0.090174824
|
|
||||||
],
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorPositions"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 2,
|
|
||||||
"byteOffset": 879296,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 436,
|
|
||||||
"type": "VEC4",
|
|
||||||
"name": "accessorTangents"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 1,
|
|
||||||
"byteOffset": 1324176,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 436,
|
|
||||||
"type": "VEC3",
|
|
||||||
"name": "accessorNormals"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"bufferView": 3,
|
|
||||||
"byteOffset": 439648,
|
|
||||||
"componentType": 5126,
|
|
||||||
"count": 436,
|
|
||||||
"type": "VEC2",
|
|
||||||
"name": "accessorUVs"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"bufferViews": [
|
|
||||||
{
|
|
||||||
"buffer": 0,
|
|
||||||
"byteLength": 568332,
|
|
||||||
"name": "bufferViewScalar"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"buffer": 0,
|
|
||||||
"byteOffset": 568332,
|
|
||||||
"byteLength": 1329408,
|
|
||||||
"byteStride": 12,
|
|
||||||
"name": "bufferViewFloatVec3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"buffer": 0,
|
|
||||||
"byteOffset": 1897740,
|
|
||||||
"byteLength": 886272,
|
|
||||||
"byteStride": 16,
|
|
||||||
"name": "bufferViewFloatVec4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"buffer": 0,
|
|
||||||
"byteOffset": 2784012,
|
|
||||||
"byteLength": 443136,
|
|
||||||
"byteStride": 8,
|
|
||||||
"name": "bufferViewFloatVec2"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"buffers": [
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet.bin",
|
|
||||||
"byteLength": 3227148
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"materials": [
|
|
||||||
{
|
|
||||||
"pbrMetallicRoughness": {
|
|
||||||
"baseColorTexture": {
|
|
||||||
"index": 2
|
|
||||||
},
|
|
||||||
"metallicRoughnessTexture": {
|
|
||||||
"index": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"normalTexture": {
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
"occlusionTexture": {
|
|
||||||
"index": 1
|
|
||||||
},
|
|
||||||
"doubleSided": true,
|
|
||||||
"name": "HoseMat"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pbrMetallicRoughness": {
|
|
||||||
"baseColorTexture": {
|
|
||||||
"index": 2
|
|
||||||
},
|
|
||||||
"metallicRoughnessTexture": {
|
|
||||||
"index": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"normalTexture": {
|
|
||||||
"index": 0
|
|
||||||
},
|
|
||||||
"occlusionTexture": {
|
|
||||||
"index": 1
|
|
||||||
},
|
|
||||||
"name": "RubberWoodMat"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pbrMetallicRoughness": {
|
|
||||||
"baseColorTexture": {
|
|
||||||
"index": 5
|
|
||||||
},
|
|
||||||
"metallicRoughnessTexture": {
|
|
||||||
"index": 4
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"normalTexture": {
|
|
||||||
"index": 3
|
|
||||||
},
|
|
||||||
"occlusionTexture": {
|
|
||||||
"index": 4
|
|
||||||
},
|
|
||||||
"name": "GlassPlasticMat"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pbrMetallicRoughness": {
|
|
||||||
"baseColorTexture": {
|
|
||||||
"index": 8
|
|
||||||
},
|
|
||||||
"metallicRoughnessTexture": {
|
|
||||||
"index": 7
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"normalTexture": {
|
|
||||||
"index": 6
|
|
||||||
},
|
|
||||||
"occlusionTexture": {
|
|
||||||
"index": 7
|
|
||||||
},
|
|
||||||
"name": "MetalPartsMat"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pbrMetallicRoughness": {
|
|
||||||
"baseColorTexture": {
|
|
||||||
"index": 11
|
|
||||||
},
|
|
||||||
"metallicRoughnessTexture": {
|
|
||||||
"index": 10
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"normalTexture": {
|
|
||||||
"index": 9
|
|
||||||
},
|
|
||||||
"occlusionTexture": {
|
|
||||||
"index": 10
|
|
||||||
},
|
|
||||||
"name": "LeatherPartsMat"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"extensions": {
|
|
||||||
"KHR_materials_transmission": {
|
|
||||||
"transmissionFactor": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pbrMetallicRoughness": {
|
|
||||||
"baseColorTexture": {
|
|
||||||
"index": 14
|
|
||||||
},
|
|
||||||
"metallicRoughnessTexture": {
|
|
||||||
"index": 13
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"normalTexture": {
|
|
||||||
"index": 12
|
|
||||||
},
|
|
||||||
"occlusionTexture": {
|
|
||||||
"index": 13
|
|
||||||
},
|
|
||||||
"name": "LensesMat"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"textures": [
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 0,
|
|
||||||
"name": "FlightHelmet_Materials_RubberWoodMat_Normal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 1,
|
|
||||||
"name": "FlightHelmet_Materials_RubberWoodMat_OcclusionRoughMetal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 2,
|
|
||||||
"name": "FlightHelmet_Materials_RubberWoodMat_BaseColor.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 3,
|
|
||||||
"name": "FlightHelmet_Materials_GlassPlasticMat_Normal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 4,
|
|
||||||
"name": "FlightHelmet_Materials_GlassPlasticMat_OcclusionRoughMetal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 5,
|
|
||||||
"name": "FlightHelmet_Materials_GlassPlasticMat_BaseColor.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 6,
|
|
||||||
"name": "FlightHelmet_Materials_MetalPartsMat_Normal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 7,
|
|
||||||
"name": "FlightHelmet_Materials_MetalPartsMat_OcclusionRoughMetal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 8,
|
|
||||||
"name": "FlightHelmet_Materials_MetalPartsMat_BaseColor.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 9,
|
|
||||||
"name": "FlightHelmet_Materials_LeatherPartsMat_Normal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 10,
|
|
||||||
"name": "FlightHelmet_Materials_LeatherPartsMat_OcclusionRoughMetal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 11,
|
|
||||||
"name": "FlightHelmet_Materials_LeatherPartsMat_BaseColor.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 12,
|
|
||||||
"name": "FlightHelmet_Materials_LensesMat_Normal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 13,
|
|
||||||
"name": "FlightHelmet_Materials_LensesMat_OcclusionRoughMetal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"sampler": 0,
|
|
||||||
"source": 14,
|
|
||||||
"name": "FlightHelmet_Materials_LensesMat_BaseColor.png"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"images": [
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_RubberWoodMat_Normal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_RubberWoodMat_OcclusionRoughMetal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_RubberWoodMat_BaseColor.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_GlassPlasticMat_Normal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_GlassPlasticMat_OcclusionRoughMetal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_GlassPlasticMat_BaseColor.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_MetalPartsMat_Normal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_MetalPartsMat_OcclusionRoughMetal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_MetalPartsMat_BaseColor.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_LeatherPartsMat_Normal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_LeatherPartsMat_OcclusionRoughMetal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_LeatherPartsMat_BaseColor.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_LensesMat_Normal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_LensesMat_OcclusionRoughMetal.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"uri": "FlightHelmet_Materials_LensesMat_BaseColor.png"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"samplers": [
|
|
||||||
{
|
|
||||||
"magFilter": 9729,
|
|
||||||
"minFilter": 9987
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 2.2 MiB |
|
Before Width: | Height: | Size: 2.5 MiB |
|
Before Width: | Height: | Size: 3.5 MiB |
|
Before Width: | Height: | Size: 5.2 MiB |
|
Before Width: | Height: | Size: 5.4 MiB |
|
Before Width: | Height: | Size: 4.2 MiB |
|
Before Width: | Height: | Size: 680 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 588 KiB |
|
Before Width: | Height: | Size: 2.6 MiB |
|
Before Width: | Height: | Size: 3.1 MiB |
|
Before Width: | Height: | Size: 2.8 MiB |
|
Before Width: | Height: | Size: 3.4 MiB |
|
Before Width: | Height: | Size: 3.2 MiB |
|
Before Width: | Height: | Size: 3.6 MiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 637 B |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 637 B |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 637 B |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 637 B |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 637 B |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |