├── GameTest
├── Game
│ ├── bin
│ │ ├── ValagTest.exe
│ │ ├── config.ini
│ │ ├── glfw3.dll
│ │ ├── libgcc_s_seh-1.dll
│ │ ├── libstdc++-6.dll
│ │ └── libwinpthread-1.dll
│ ├── bin_debug
│ │ ├── ValagTest.exe
│ │ ├── config.ini
│ │ └── glfw3.dll
│ ├── data
│ │ ├── HDRenv.exr
│ │ ├── HDRenv.hdr
│ │ ├── abbeyXML.txt
│ │ ├── abbey_albedo.png
│ │ ├── abbey_height.png
│ │ ├── abbey_normal.png
│ │ ├── panorama.jpg
│ │ ├── quack.jpg
│ │ ├── quack.obj
│ │ ├── quackMaterial.txt
│ │ ├── quackXML.txt
│ │ ├── sandXML.txt
│ │ ├── sand_color.png
│ │ ├── sand_height.png
│ │ ├── sand_normal.png
│ │ ├── sarcoXML.txt
│ │ ├── sarco_albedo.png
│ │ ├── sarco_height.png
│ │ ├── sarco_normal.png
│ │ ├── torusXML.txt
│ │ ├── torus_albedo.png
│ │ ├── torus_height.png
│ │ ├── torus_normal.png
│ │ ├── treeXML.txt
│ │ ├── tree_albedo.png
│ │ ├── tree_height.png
│ │ ├── tree_normal.png
│ │ ├── tree_rmt.png
│ │ ├── wetsandXML.txt
│ │ ├── wetsand_albedo.png
│ │ ├── wetsand_height.png
│ │ ├── wetsand_normal.png
│ │ └── wetsand_rmt.png
│ └── shaders
│ │ ├── blur.frag.spv
│ │ ├── blur.vert.spv
│ │ ├── defaultShader.frag.spv
│ │ ├── defaultShader.vert.spv
│ │ ├── deferred
│ │ ├── isoSpriteAlphaDetection.frag.spv
│ │ ├── isoSpriteAlphaDetection.vert.spv
│ │ ├── isoSpriteAlphaShader.frag.spv
│ │ ├── isoSpriteShader.frag.spv
│ │ ├── isoSpriteShader.vert.spv
│ │ ├── isoSpriteShadow.frag.spv
│ │ ├── isoSpriteShadow.vert.spv
│ │ ├── isoSpriteShadowFilt.frag.spv
│ │ ├── isoSpriteShadowFilt.vert.spv
│ │ ├── isoSpriteShadowGen.frag.spv
│ │ ├── isoSpriteShadowGen.vert.spv
│ │ ├── meshDirectShadow.frag.spv
│ │ ├── meshDirectShadow.vert.spv
│ │ ├── meshShader.frag.spv
│ │ └── meshShader.vert.spv
│ │ ├── instancingShader.frag.spv
│ │ ├── instancingShader.vert.spv
│ │ ├── lighting
│ │ ├── ambientLighting.frag.spv
│ │ ├── ambientLighting.vert.spv
│ │ ├── brdflut.frag.spv
│ │ ├── brdflut.vert.spv
│ │ ├── iblfiltering.frag.spv
│ │ ├── iblfiltering.vert.spv
│ │ ├── lighting.frag.spv
│ │ ├── lighting.vert.spv
│ │ ├── ssgiBN.frag.spv
│ │ └── ssgiBN.vert.spv
│ │ ├── smartBlur.frag.spv
│ │ ├── smartBlur.vert.spv
│ │ ├── toneMapping.frag.spv
│ │ └── toneMapping.vert.spv
└── Sources
│ ├── ValagTest.cbp
│ ├── include
│ └── states
│ │ └── TestingState.h
│ ├── main.cpp
│ └── src
│ └── states
│ └── TestingState.cpp
├── README.md
└── Valag
├── include
├── GLFW
│ ├── glfw3.h
│ └── glfw3native.h
├── Valag
│ ├── Types.h
│ ├── assets
│ │ ├── Asset.h
│ │ ├── AssetHandler.h
│ │ ├── MaterialAsset.h
│ │ ├── MeshAsset.h
│ │ ├── MeshesHandler.h
│ │ └── TextureAsset.h
│ ├── core
│ │ ├── Config.h
│ │ ├── EventsManager.h
│ │ ├── GameState.h
│ │ ├── NotificationListener.h
│ │ ├── NotificationSender.h
│ │ ├── StatesManager.h
│ │ └── VApp.h
│ ├── gfx
│ │ ├── Drawable.h
│ │ ├── Sprite.h
│ │ └── SpritesBatch.h
│ ├── renderers
│ │ ├── AbstractRenderer.h
│ │ ├── DefaultRenderer.h
│ │ ├── FullRenderPass.h
│ │ ├── InstancingRenderer.h
│ │ ├── PBRToolbox.h
│ │ ├── RenderGraph.h
│ │ ├── RenderView.h
│ │ ├── RenderWindow.h
│ │ ├── SceneRenderer.h
│ │ ├── SceneRenderingData.h
│ │ └── SceneRenderingInstance.h
│ ├── scene
│ │ ├── CameraObject.h
│ │ ├── IsoSpriteEntity.h
│ │ ├── IsoSpriteModel.h
│ │ ├── LightEntity.h
│ │ ├── MeshEntity.h
│ │ ├── Scene.h
│ │ ├── SceneEntity.h
│ │ ├── SceneNode.h
│ │ ├── SceneObject.h
│ │ └── ShadowCaster.h
│ ├── utils
│ │ ├── Clock.h
│ │ ├── Logger.h
│ │ ├── Parser.h
│ │ ├── Profiler.h
│ │ ├── Singleton.h
│ │ └── SingletonsCleaner.h
│ └── vulkanImpl
│ │ ├── DynamicUBO.h
│ │ ├── DynamicUBODescriptor.h
│ │ ├── DynamicVBO.h
│ │ ├── VBuffersAllocator.h
│ │ ├── VCommandBuffer.h
│ │ ├── VGraphicsPipeline.h
│ │ ├── VInstance.h
│ │ ├── VMemoryAllocator.h
│ │ ├── VMesh.h
│ │ ├── VRenderPass.h
│ │ ├── VRenderTarget.h
│ │ ├── VTexture.h
│ │ ├── VTexturesManager.h
│ │ ├── VulkanExtProxies.h
│ │ ├── VulkanHelpers.h
│ │ └── VulkanImpl.h
├── glm
│ ├── CMakeLists.txt
│ ├── common.hpp
│ ├── detail
│ │ ├── _features.hpp
│ │ ├── _fixes.hpp
│ │ ├── _noise.hpp
│ │ ├── _swizzle.hpp
│ │ ├── _swizzle_func.hpp
│ │ ├── _vectorize.hpp
│ │ ├── compute_vector_relational.hpp
│ │ ├── dummy.cpp
│ │ ├── func_common.inl
│ │ ├── func_common_simd.inl
│ │ ├── func_exponential.inl
│ │ ├── func_exponential_simd.inl
│ │ ├── func_geometric.inl
│ │ ├── func_geometric_simd.inl
│ │ ├── func_integer.inl
│ │ ├── func_integer_simd.inl
│ │ ├── func_matrix.inl
│ │ ├── func_matrix_simd.inl
│ │ ├── func_packing.inl
│ │ ├── func_packing_simd.inl
│ │ ├── func_trigonometric.inl
│ │ ├── func_trigonometric_simd.inl
│ │ ├── func_vector_relational.inl
│ │ ├── func_vector_relational_simd.inl
│ │ ├── glm.cpp
│ │ ├── qualifier.hpp
│ │ ├── setup.hpp
│ │ ├── type_float.hpp
│ │ ├── type_gentype.hpp
│ │ ├── type_gentype.inl
│ │ ├── type_half.hpp
│ │ ├── type_half.inl
│ │ ├── type_int.hpp
│ │ ├── type_mat.hpp
│ │ ├── type_mat.inl
│ │ ├── type_mat2x2.hpp
│ │ ├── type_mat2x2.inl
│ │ ├── type_mat2x3.hpp
│ │ ├── type_mat2x3.inl
│ │ ├── type_mat2x4.hpp
│ │ ├── type_mat2x4.inl
│ │ ├── type_mat3x2.hpp
│ │ ├── type_mat3x2.inl
│ │ ├── type_mat3x3.hpp
│ │ ├── type_mat3x3.inl
│ │ ├── type_mat3x4.hpp
│ │ ├── type_mat3x4.inl
│ │ ├── type_mat4x2.hpp
│ │ ├── type_mat4x2.inl
│ │ ├── type_mat4x3.hpp
│ │ ├── type_mat4x3.inl
│ │ ├── type_mat4x4.hpp
│ │ ├── type_mat4x4.inl
│ │ ├── type_mat4x4_simd.inl
│ │ ├── type_vec.hpp
│ │ ├── type_vec.inl
│ │ ├── type_vec1.hpp
│ │ ├── type_vec1.inl
│ │ ├── type_vec2.hpp
│ │ ├── type_vec2.inl
│ │ ├── type_vec3.hpp
│ │ ├── type_vec3.inl
│ │ ├── type_vec4.hpp
│ │ ├── type_vec4.inl
│ │ └── type_vec4_simd.inl
│ ├── exponential.hpp
│ ├── ext.hpp
│ ├── ext
│ │ ├── vec1.hpp
│ │ ├── vec1.inl
│ │ ├── vector_relational.hpp
│ │ └── vector_relational.inl
│ ├── fwd.hpp
│ ├── geometric.hpp
│ ├── glm.hpp
│ ├── gtc
│ │ ├── bitfield.hpp
│ │ ├── bitfield.inl
│ │ ├── color_space.hpp
│ │ ├── color_space.inl
│ │ ├── constants.hpp
│ │ ├── constants.inl
│ │ ├── epsilon.hpp
│ │ ├── epsilon.inl
│ │ ├── integer.hpp
│ │ ├── integer.inl
│ │ ├── matrix_access.hpp
│ │ ├── matrix_access.inl
│ │ ├── matrix_integer.hpp
│ │ ├── matrix_inverse.hpp
│ │ ├── matrix_inverse.inl
│ │ ├── matrix_transform.hpp
│ │ ├── matrix_transform.inl
│ │ ├── noise.hpp
│ │ ├── noise.inl
│ │ ├── packing.hpp
│ │ ├── packing.inl
│ │ ├── quaternion.hpp
│ │ ├── quaternion.inl
│ │ ├── quaternion_simd.inl
│ │ ├── random.hpp
│ │ ├── random.inl
│ │ ├── reciprocal.hpp
│ │ ├── reciprocal.inl
│ │ ├── round.hpp
│ │ ├── round.inl
│ │ ├── type_aligned.hpp
│ │ ├── type_precision.hpp
│ │ ├── type_precision.inl
│ │ ├── type_ptr.hpp
│ │ ├── type_ptr.inl
│ │ ├── ulp.hpp
│ │ ├── ulp.inl
│ │ ├── vec1.hpp
│ │ └── vec1.inl
│ ├── gtx
│ │ ├── associated_min_max.hpp
│ │ ├── associated_min_max.inl
│ │ ├── bit.hpp
│ │ ├── bit.inl
│ │ ├── closest_point.hpp
│ │ ├── closest_point.inl
│ │ ├── color_encoding.hpp
│ │ ├── color_encoding.inl
│ │ ├── color_space.hpp
│ │ ├── color_space.inl
│ │ ├── color_space_YCoCg.hpp
│ │ ├── color_space_YCoCg.inl
│ │ ├── common.hpp
│ │ ├── common.inl
│ │ ├── compatibility.hpp
│ │ ├── compatibility.inl
│ │ ├── component_wise.hpp
│ │ ├── component_wise.inl
│ │ ├── dual_quaternion.hpp
│ │ ├── dual_quaternion.inl
│ │ ├── easing.hpp
│ │ ├── easing.inl
│ │ ├── euler_angles.hpp
│ │ ├── euler_angles.inl
│ │ ├── extend.hpp
│ │ ├── extend.inl
│ │ ├── extended_min_max.hpp
│ │ ├── extended_min_max.inl
│ │ ├── exterior_product.hpp
│ │ ├── exterior_product.inl
│ │ ├── fast_exponential.hpp
│ │ ├── fast_exponential.inl
│ │ ├── fast_square_root.hpp
│ │ ├── fast_square_root.inl
│ │ ├── fast_trigonometry.hpp
│ │ ├── fast_trigonometry.inl
│ │ ├── float_notmalize.inl
│ │ ├── functions.hpp
│ │ ├── functions.inl
│ │ ├── gradient_paint.hpp
│ │ ├── gradient_paint.inl
│ │ ├── handed_coordinate_space.hpp
│ │ ├── handed_coordinate_space.inl
│ │ ├── hash.hpp
│ │ ├── hash.inl
│ │ ├── integer.hpp
│ │ ├── integer.inl
│ │ ├── intersect.hpp
│ │ ├── intersect.inl
│ │ ├── io.hpp
│ │ ├── io.inl
│ │ ├── log_base.hpp
│ │ ├── log_base.inl
│ │ ├── matrix_cross_product.hpp
│ │ ├── matrix_cross_product.inl
│ │ ├── matrix_decompose.hpp
│ │ ├── matrix_decompose.inl
│ │ ├── matrix_factorisation.hpp
│ │ ├── matrix_factorisation.inl
│ │ ├── matrix_interpolation.hpp
│ │ ├── matrix_interpolation.inl
│ │ ├── matrix_major_storage.hpp
│ │ ├── matrix_major_storage.inl
│ │ ├── matrix_operation.hpp
│ │ ├── matrix_operation.inl
│ │ ├── matrix_query.hpp
│ │ ├── matrix_query.inl
│ │ ├── matrix_transform_2d.hpp
│ │ ├── matrix_transform_2d.inl
│ │ ├── mixed_product.hpp
│ │ ├── mixed_product.inl
│ │ ├── norm.hpp
│ │ ├── norm.inl
│ │ ├── normal.hpp
│ │ ├── normal.inl
│ │ ├── normalize_dot.hpp
│ │ ├── normalize_dot.inl
│ │ ├── number_precision.hpp
│ │ ├── number_precision.inl
│ │ ├── optimum_pow.hpp
│ │ ├── optimum_pow.inl
│ │ ├── orthonormalize.hpp
│ │ ├── orthonormalize.inl
│ │ ├── perpendicular.hpp
│ │ ├── perpendicular.inl
│ │ ├── polar_coordinates.hpp
│ │ ├── polar_coordinates.inl
│ │ ├── projection.hpp
│ │ ├── projection.inl
│ │ ├── quaternion.hpp
│ │ ├── quaternion.inl
│ │ ├── range.hpp
│ │ ├── raw_data.hpp
│ │ ├── raw_data.inl
│ │ ├── rotate_normalized_axis.hpp
│ │ ├── rotate_normalized_axis.inl
│ │ ├── rotate_vector.hpp
│ │ ├── rotate_vector.inl
│ │ ├── scalar_multiplication.hpp
│ │ ├── scalar_relational.hpp
│ │ ├── scalar_relational.inl
│ │ ├── spline.hpp
│ │ ├── spline.inl
│ │ ├── std_based_type.hpp
│ │ ├── std_based_type.inl
│ │ ├── string_cast.hpp
│ │ ├── string_cast.inl
│ │ ├── texture.hpp
│ │ ├── texture.inl
│ │ ├── transform.hpp
│ │ ├── transform.inl
│ │ ├── transform2.hpp
│ │ ├── transform2.inl
│ │ ├── type_aligned.hpp
│ │ ├── type_aligned.inl
│ │ ├── type_trait.hpp
│ │ ├── type_trait.inl
│ │ ├── vec_swizzle.hpp
│ │ ├── vector_angle.hpp
│ │ ├── vector_angle.inl
│ │ ├── vector_query.hpp
│ │ ├── vector_query.inl
│ │ ├── wrap.hpp
│ │ └── wrap.inl
│ ├── integer.hpp
│ ├── mat2x2.hpp
│ ├── mat2x3.hpp
│ ├── mat2x4.hpp
│ ├── mat3x2.hpp
│ ├── mat3x3.hpp
│ ├── mat3x4.hpp
│ ├── mat4x2.hpp
│ ├── mat4x3.hpp
│ ├── mat4x4.hpp
│ ├── matrix.hpp
│ ├── packing.hpp
│ ├── simd
│ │ ├── common.h
│ │ ├── exponential.h
│ │ ├── geometric.h
│ │ ├── integer.h
│ │ ├── matrix.h
│ │ ├── packing.h
│ │ ├── platform.h
│ │ ├── trigonometric.h
│ │ └── vector_relational.h
│ ├── trigonometric.hpp
│ ├── vec2.hpp
│ ├── vec3.hpp
│ ├── vec4.hpp
│ └── vector_relational.hpp
├── stb
│ ├── stb_image.h
│ └── stb_image_write.h
├── tinyxml
│ ├── tinystr.h
│ └── tinyxml.h
└── vulkan
│ ├── GLSL.std.450.h
│ ├── spirv.h
│ ├── spirv.hpp
│ ├── spirv.hpp11
│ ├── spirv.json
│ ├── spirv.lua
│ ├── spirv.py
│ ├── vk_icd.h
│ ├── vk_layer.h
│ ├── vk_layer_dispatch_table.h
│ ├── vk_platform.h
│ ├── vk_sdk_platform.h
│ ├── vulkan.h
│ ├── vulkan.hpp
│ ├── vulkan_android.h
│ ├── vulkan_core.h
│ ├── vulkan_ios.h
│ ├── vulkan_macos.h
│ ├── vulkan_mir.h
│ ├── vulkan_vi.h
│ ├── vulkan_wayland.h
│ ├── vulkan_win32.h
│ ├── vulkan_xcb.h
│ ├── vulkan_xlib.h
│ └── vulkan_xlib_xrandr.h
├── libs
├── VkLayer_api_dump.lib
├── VkLayer_core_validation.lib
├── VkLayer_device_simulation.lib
├── VkLayer_monitor.lib
├── VkLayer_object_tracker.lib
├── VkLayer_parameter_validation.lib
├── VkLayer_screenshot.lib
├── VkLayer_threading.lib
├── VkLayer_unique_objects.lib
├── VkLayer_utils.lib
├── libglfw3.a
├── libglfw3dll.a
├── shaderc_combined.lib
├── tinyxml
│ ├── tinystr.cpp
│ ├── tinyxml.cpp
│ ├── tinyxmlerror.cpp
│ ├── tinyxmlparser.cpp
│ └── xmltest.cpp
├── vulkan-1.lib
└── vulkan-1.pdb
├── shaders
├── blur.frag
├── blur.frag.spv
├── blur.vert
├── blur.vert.spv
├── compileAllShaders.bat
├── defaultShader.frag
├── defaultShader.frag.spv
├── defaultShader.vert
├── defaultShader.vert.spv
├── deferred
│ ├── compileAllShaders.bat
│ ├── isoSpriteAlphaDetection.frag
│ ├── isoSpriteAlphaDetection.frag.spv
│ ├── isoSpriteAlphaDetection.vert
│ ├── isoSpriteAlphaDetection.vert.spv
│ ├── isoSpriteAlphaShader.frag
│ ├── isoSpriteAlphaShader.frag.spv
│ ├── isoSpriteShader.frag
│ ├── isoSpriteShader.frag.spv
│ ├── isoSpriteShader.vert
│ ├── isoSpriteShader.vert.spv
│ ├── isoSpriteShadow.frag
│ ├── isoSpriteShadow.frag.spv
│ ├── isoSpriteShadow.vert
│ ├── isoSpriteShadow.vert.spv
│ ├── isoSpriteShadowFilt.frag
│ ├── isoSpriteShadowFilt.frag.spv
│ ├── isoSpriteShadowFilt.vert
│ ├── isoSpriteShadowFilt.vert.spv
│ ├── isoSpriteShadowGen.frag
│ ├── isoSpriteShadowGen.frag.spv
│ ├── isoSpriteShadowGen.vert
│ ├── isoSpriteShadowGen.vert.spv
│ ├── meshDirectShadow.frag
│ ├── meshDirectShadow.frag.spv
│ ├── meshDirectShadow.vert
│ ├── meshDirectShadow.vert.spv
│ ├── meshShader.frag
│ ├── meshShader.frag.spv
│ ├── meshShader.vert
│ └── meshShader.vert.spv
├── instancingShader.frag
├── instancingShader.frag.spv
├── instancingShader.vert
├── instancingShader.vert.spv
├── lighting
│ ├── ambientLighting.frag
│ ├── ambientLighting.frag.spv
│ ├── ambientLighting.vert
│ ├── ambientLighting.vert.spv
│ ├── brdflut.frag
│ ├── brdflut.frag.spv
│ ├── brdflut.vert
│ ├── brdflut.vert.spv
│ ├── compileAllShaders.bat
│ ├── iblfiltering.frag
│ ├── iblfiltering.frag.spv
│ ├── iblfiltering.vert
│ ├── iblfiltering.vert.spv
│ ├── lighting.frag
│ ├── lighting.frag.spv
│ ├── lighting.vert
│ ├── lighting.vert.spv
│ ├── ssgiBN.frag
│ ├── ssgiBN.frag.spv
│ ├── ssgiBN.vert
│ └── ssgiBN.vert.spv
├── smartBlur.frag
├── smartBlur.frag.spv
├── smartBlur.vert
├── smartBlur.vert.spv
├── toneMapping.frag
├── toneMapping.frag.spv
├── toneMapping.vert
└── toneMapping.vert.spv
└── src
├── assets
├── Asset.cpp
├── AssetHandler.inc
├── MaterialAsset.cpp
├── MeshAsset.cpp
├── MeshesHandler.cpp
└── TextureAsset.cpp
├── core
├── Config.cpp
├── EventsManager.cpp
├── GameState.cpp
├── NotificationListener.cpp
├── NotificationSender.cpp
├── StatesManager.cpp
└── VApp.cpp
├── gfx
├── Drawable.cpp
├── Sprite.cpp
└── SpritesBatch.cpp
├── renderers
├── AbstractRenderer.cpp
├── DefaultRenderer.cpp
├── FullRenderPass.cpp
├── InstancingRenderer.cpp
├── PBRToolbox.cpp
├── RenderGraph.cpp
├── RenderView.cpp
├── RenderWindow.cpp
├── SceneRenderer.cpp
├── SceneRenderingData.cpp
└── SceneRenderingInstance.cpp
├── scene
├── CameraObject.cpp
├── IsoSpriteEntity.cpp
├── IsoSpriteModel.cpp
├── LightEntity.cpp
├── MeshEntity.cpp
├── Scene.cpp
├── SceneEntity.cpp
├── SceneNode.cpp
├── SceneObject.cpp
└── ShadowCaster.cpp
├── utils
├── Clock.cpp
├── Logger.cpp
├── Parser.cpp
├── Profiler.cpp
└── SingletonsCleaner.cpp
└── vulkanImpl
├── DynamicUBO.cpp
├── DynamicUBODescriptor.cpp
├── DynamicVBO.inc
├── VBuffersAllocator.cpp
├── VCommandBuffer.cpp
├── VGraphicsPipeline.cpp
├── VInstance.cpp
├── VMemoryAllocator.cpp
├── VMesh.cpp
├── VRenderPass.cpp
├── VRenderTarget.cpp
├── VTexture.cpp
├── VTexturesManager.cpp
├── VulkanExtProxies.cpp
└── VulkanHelpers.cpp
/GameTest/Game/bin/ValagTest.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/bin/ValagTest.exe
--------------------------------------------------------------------------------
/GameTest/Game/bin/config.ini:
--------------------------------------------------------------------------------
1 | [window]
2 | width = 1024
3 | height = 768
4 |
--------------------------------------------------------------------------------
/GameTest/Game/bin/glfw3.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/bin/glfw3.dll
--------------------------------------------------------------------------------
/GameTest/Game/bin/libgcc_s_seh-1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/bin/libgcc_s_seh-1.dll
--------------------------------------------------------------------------------
/GameTest/Game/bin/libstdc++-6.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/bin/libstdc++-6.dll
--------------------------------------------------------------------------------
/GameTest/Game/bin/libwinpthread-1.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/bin/libwinpthread-1.dll
--------------------------------------------------------------------------------
/GameTest/Game/bin_debug/ValagTest.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/bin_debug/ValagTest.exe
--------------------------------------------------------------------------------
/GameTest/Game/bin_debug/config.ini:
--------------------------------------------------------------------------------
1 | [window]
2 | width = 1024
3 | height = 768
4 |
--------------------------------------------------------------------------------
/GameTest/Game/bin_debug/glfw3.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/bin_debug/glfw3.dll
--------------------------------------------------------------------------------
/GameTest/Game/data/HDRenv.exr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/HDRenv.exr
--------------------------------------------------------------------------------
/GameTest/Game/data/HDRenv.hdr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/HDRenv.hdr
--------------------------------------------------------------------------------
/GameTest/Game/data/abbeyXML.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Abbaye
4 | 460
5 | abbey_albedo.png
6 | abbey_normal.png
7 | abbey_height.png
8 | .7
9 | 0
10 | 0
11 |
--------------------------------------------------------------------------------
/GameTest/Game/data/abbey_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/abbey_albedo.png
--------------------------------------------------------------------------------
/GameTest/Game/data/abbey_height.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/abbey_height.png
--------------------------------------------------------------------------------
/GameTest/Game/data/abbey_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/abbey_normal.png
--------------------------------------------------------------------------------
/GameTest/Game/data/panorama.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/panorama.jpg
--------------------------------------------------------------------------------
/GameTest/Game/data/quack.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/quack.jpg
--------------------------------------------------------------------------------
/GameTest/Game/data/quackMaterial.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | QuackMaterial
4 | 0
5 | quack.jpg
6 | .3
7 | 1
8 | 0
9 |
--------------------------------------------------------------------------------
/GameTest/Game/data/quackXML.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Quack
4 | 1
5 | quack.obj
6 | quackMaterial.txt
7 |
--------------------------------------------------------------------------------
/GameTest/Game/data/sandXML.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Sand
4 | 15
5 | sand_color.png
6 | sand_normal.png
7 | sand_height.png
8 | .7
9 | 0
10 | 0
11 |
--------------------------------------------------------------------------------
/GameTest/Game/data/sand_color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/sand_color.png
--------------------------------------------------------------------------------
/GameTest/Game/data/sand_height.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/sand_height.png
--------------------------------------------------------------------------------
/GameTest/Game/data/sand_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/sand_normal.png
--------------------------------------------------------------------------------
/GameTest/Game/data/sarcoXML.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Sarco
4 | 85
5 | sarco_albedo.png
6 | sarco_normal.png
7 | sarco_height.png
8 | 0.4
9 | 0
10 | 0
11 |
--------------------------------------------------------------------------------
/GameTest/Game/data/sarco_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/sarco_albedo.png
--------------------------------------------------------------------------------
/GameTest/Game/data/sarco_height.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/sarco_height.png
--------------------------------------------------------------------------------
/GameTest/Game/data/sarco_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/sarco_normal.png
--------------------------------------------------------------------------------
/GameTest/Game/data/torusXML.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Torus
4 | 75
5 | torus_albedo.png
6 | torus_normal.png
7 | torus_height.png
8 | .7
9 | 0
10 | 0
11 |
--------------------------------------------------------------------------------
/GameTest/Game/data/torus_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/torus_albedo.png
--------------------------------------------------------------------------------
/GameTest/Game/data/torus_height.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/torus_height.png
--------------------------------------------------------------------------------
/GameTest/Game/data/torus_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/torus_normal.png
--------------------------------------------------------------------------------
/GameTest/Game/data/treeXML.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Tree
4 | 600
5 | tree_albedo.png
6 | tree_normal.png
7 | tree_height.png
8 | tree_rmt.png
9 |
--------------------------------------------------------------------------------
/GameTest/Game/data/tree_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/tree_albedo.png
--------------------------------------------------------------------------------
/GameTest/Game/data/tree_height.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/tree_height.png
--------------------------------------------------------------------------------
/GameTest/Game/data/tree_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/tree_normal.png
--------------------------------------------------------------------------------
/GameTest/Game/data/tree_rmt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/tree_rmt.png
--------------------------------------------------------------------------------
/GameTest/Game/data/wetsandXML.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 | Wet sand
4 | 5
5 | wetsand_albedo.png
6 | wetsand_normal.png
7 | wetsand_height.png
8 | wetsand_rmt.png
9 |
--------------------------------------------------------------------------------
/GameTest/Game/data/wetsand_albedo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/wetsand_albedo.png
--------------------------------------------------------------------------------
/GameTest/Game/data/wetsand_height.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/wetsand_height.png
--------------------------------------------------------------------------------
/GameTest/Game/data/wetsand_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/wetsand_normal.png
--------------------------------------------------------------------------------
/GameTest/Game/data/wetsand_rmt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/data/wetsand_rmt.png
--------------------------------------------------------------------------------
/GameTest/Game/shaders/blur.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/blur.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/blur.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/blur.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/defaultShader.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/defaultShader.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/defaultShader.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/defaultShader.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteAlphaDetection.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteAlphaDetection.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteAlphaDetection.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteAlphaDetection.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteAlphaShader.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteAlphaShader.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteShader.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteShader.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteShader.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteShader.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteShadow.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteShadow.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteShadow.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteShadow.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteShadowFilt.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteShadowFilt.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteShadowFilt.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteShadowFilt.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteShadowGen.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteShadowGen.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/isoSpriteShadowGen.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/isoSpriteShadowGen.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/meshDirectShadow.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/meshDirectShadow.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/meshDirectShadow.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/meshDirectShadow.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/meshShader.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/meshShader.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/deferred/meshShader.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/deferred/meshShader.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/instancingShader.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/instancingShader.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/instancingShader.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/instancingShader.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/lighting/ambientLighting.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/lighting/ambientLighting.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/lighting/ambientLighting.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/lighting/ambientLighting.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/lighting/brdflut.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/lighting/brdflut.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/lighting/brdflut.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/lighting/brdflut.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/lighting/iblfiltering.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/lighting/iblfiltering.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/lighting/iblfiltering.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/lighting/iblfiltering.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/lighting/lighting.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/lighting/lighting.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/lighting/lighting.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/lighting/lighting.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/lighting/ssgiBN.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/lighting/ssgiBN.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/lighting/ssgiBN.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/lighting/ssgiBN.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/smartBlur.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/smartBlur.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/smartBlur.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/smartBlur.vert.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/toneMapping.frag.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/toneMapping.frag.spv
--------------------------------------------------------------------------------
/GameTest/Game/shaders/toneMapping.vert.spv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gregouar/VALAG/a62bc5b0a59e1141434b71b793d7caca38b845e9/GameTest/Game/shaders/toneMapping.vert.spv
--------------------------------------------------------------------------------
/GameTest/Sources/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | #include "Valag/utils/Logger.h"
4 | #include "Valag/core/VApp.h"
5 | #include "states/TestingState.h"
6 |
7 | int main()
8 | {
9 | Logger::instance();
10 |
11 | try {
12 | vlg::VAppCreateInfos createInfos;
13 | createInfos.name = "VALAG";
14 | createInfos.xyAngle = 45.0f;
15 | createInfos.zAngle = 30.0f;
16 |
17 | vlg::VApp app(createInfos);
18 | app.run(TestingState::instance());
19 | } catch (const std::exception& e) {
20 | Logger::fatalError(e.what());
21 | return EXIT_FAILURE;
22 | }
23 |
24 | return EXIT_SUCCESS;
25 | }
26 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # VALAG
2 | Vulkan version of ALAG 2.5D PBR shading engine
3 |
--------------------------------------------------------------------------------
/Valag/include/Valag/assets/Asset.h:
--------------------------------------------------------------------------------
1 | #ifndef ASSET_H
2 | #define ASSET_H
3 |
4 | #include "Valag/core/NotificationSender.h"
5 | #include "Valag/Types.h"
6 |
7 | #include
8 |
9 | namespace vlg
10 | {
11 |
12 | class Asset : public NotificationSender
13 | {
14 | public:
15 | Asset();
16 | Asset(const AssetTypeId );
17 | virtual ~Asset();
18 |
19 | virtual bool loadFromFile(const std::string &);
20 | virtual bool loadFromMemory(void *data, std::size_t dataSize);
21 |
22 | bool prepareLoadFromFile(const std::string &, AssetLoadType = LoadType_Now);
23 | bool prepareLoadFromMemory(void *data, std::size_t dataSize, AssetLoadType = LoadType_Now);
24 | /// bool prepareLoadFromStream(sf::InputStream *stream, AssetLoadType = LoadType_Now);
25 |
26 | bool loadNow();
27 |
28 | bool isLoaded();
29 | const std::string& getFilePath();
30 |
31 | AssetTypeId getId();
32 | AssetLoadType getLoadType();
33 | AssetLoadSource getLoadSource();
34 |
35 | void forceLoadType(AssetLoadType);
36 |
37 | protected:
38 | void forceLoaded(bool loaded = true);
39 |
40 | protected:
41 |
42 | bool m_allowLoadFromFile;
43 | std::string m_filePath;
44 | std::string m_fileDirectory;
45 |
46 | bool m_allowLoadFromMemory;
47 | void *m_loadData;
48 | std::size_t m_loadDataSize;
49 |
50 | ///bool m_allowLoadFromStream;
51 | ///sf::InputStream *m_loadStream;
52 |
53 | AssetLoadSource m_loadSource;
54 | AssetLoadType m_loadType;
55 |
56 | bool m_loaded;
57 |
58 | std::string m_name;
59 |
60 | private:
61 | AssetTypeId m_id;
62 |
63 | };
64 |
65 |
66 | }
67 |
68 | #endif // ASSET_H
69 |
--------------------------------------------------------------------------------
/Valag/include/Valag/assets/MaterialAsset.h:
--------------------------------------------------------------------------------
1 | #ifndef MATERIALASSET_H
2 | #define MATERIALASSET_H
3 |
4 | #include "Valag/assets/Asset.h"
5 | #include "Valag/core/NotificationListener.h"
6 | #include "Valag/vulkanImpl/VTexture.h"
7 |
8 | #include "tinyxml/tinyxml.h"
9 | #include "glm/glm.hpp"
10 |
11 | namespace vlg
12 | {
13 |
14 | class MaterialAsset : public Asset, public NotificationListener
15 | {
16 | public:
17 | MaterialAsset();
18 | MaterialAsset(const AssetTypeId);
19 | virtual ~MaterialAsset();
20 |
21 | bool loadFromFile(const std::string &filePath);
22 |
23 | virtual void notify(NotificationSender* , NotificationType,
24 | size_t dataSize = 0, char* data = nullptr) override;
25 |
26 | VTexture getAlbedoMap();
27 | VTexture getNormalMap();
28 | VTexture getHeightMap();
29 | VTexture getRmtMap();
30 |
31 | float getHeightFactor();
32 | glm::vec3 getRmtFactor();
33 |
34 | protected:
35 | bool loadFromXML(TiXmlHandle *);
36 |
37 | private:
38 | TextureAsset* m_albedoMap; //Color
39 | TextureAsset* m_normalMap;
40 | TextureAsset* m_heightMap;
41 | TextureAsset* m_rmtMap; // Roughness-Metalness-Translucency
42 |
43 | float m_heightFactor;
44 | glm::vec3 m_rmtFactor;
45 | };
46 |
47 | }
48 |
49 | #endif // MATERIALASSET_H
50 |
--------------------------------------------------------------------------------
/Valag/include/Valag/assets/MeshAsset.h:
--------------------------------------------------------------------------------
1 | #ifndef MESHASSET_H
2 | #define MESHASSET_H
3 |
4 | #include
5 |
6 | #include "Valag/assets/MaterialAsset.h"
7 | #include "Valag/vulkanImpl/VulkanImpl.h"
8 |
9 |
10 | namespace vlg
11 | {
12 |
13 |
14 | struct VertexTriangle
15 | {
16 | glm::vec3 v1;
17 | glm::vec3 v2;
18 | glm::vec3 v3;
19 | };
20 |
21 | class MeshAsset : public Asset, public NotificationListener
22 | {
23 | friend class SceneRenderer;
24 | friend class MeshesHandler;
25 |
26 | public:
27 | MeshAsset();
28 | MeshAsset(const AssetTypeId);
29 | virtual ~MeshAsset();
30 |
31 | bool loadFromFile(const std::string &filePath);
32 | virtual void notify(NotificationSender* , NotificationType,
33 | size_t dataSize = 0, char* data = nullptr) override;
34 |
35 | void setMaterial(AssetTypeId materialId);
36 | void setMaterial(MaterialAsset* material);
37 |
38 | float getScale();
39 | MaterialAsset* getMaterial();
40 | VMesh* getMesh();
41 |
42 | protected:
43 | bool loadFromXML(TiXmlHandle *);
44 | bool loadModelFromObj(const std::string &filePath);
45 |
46 |
47 | bool generateModel(const std::vector &vertexList,
48 | const std::vector &uvList,
49 | const std::vector &normalList,
50 | const std::vector &indexList);
51 |
52 | bool generateModel(std::vector &vertexList,
53 | std::vector &indexList);
54 |
55 |
56 | private:
57 | bool m_materialsLoaded;
58 | MaterialAsset *m_material; //Could be vector
59 |
60 | bool m_meshLoaded;
61 | VMesh *m_mesh;
62 |
63 | float m_scale;
64 | };
65 |
66 |
67 | }
68 |
69 | #endif // MESHASSET_H
70 |
--------------------------------------------------------------------------------
/Valag/include/Valag/assets/MeshesHandler.h:
--------------------------------------------------------------------------------
1 | #ifndef MESHESHANDLER_H
2 | #define MESHESHANDLER_H
3 |
4 | #include "Valag/assets/AssetHandler.h"
5 | #include "Valag/assets/MeshAsset.h"
6 |
7 | namespace vlg
8 | {
9 |
10 | class MeshesHandler : public AssetHandler
11 | {
12 | public:
13 | MeshesHandler();
14 | virtual ~MeshesHandler();
15 |
16 | static MeshAsset *makeQuad(glm::vec2 corner, glm::vec2 extent,
17 | MaterialAsset *material,
18 | glm::vec2 texCorner = {0,0}, glm::vec2 texExtent = {1.0,1.0});
19 |
20 | static MeshAsset *makeBox(glm::vec3 corner, glm::vec3 extent,
21 | MaterialAsset *material);
22 |
23 | static MeshAsset *makeMesh(std::vector &vertexList,
24 | std::vector &indexList,
25 | MaterialAsset *material);
26 |
27 | protected:
28 |
29 | private:
30 | };
31 |
32 | }
33 |
34 | #endif // MESHESHANDLER_H
35 |
--------------------------------------------------------------------------------
/Valag/include/Valag/assets/TextureAsset.h:
--------------------------------------------------------------------------------
1 | #ifndef TEXTUREASSET_H
2 | #define TEXTUREASSET_H
3 |
4 | //#define GLFW_INCLUDE_VULKAN
5 | //#include
6 |
7 | //#include
8 | //#include
9 |
10 | #include "Valag/vulkanImpl/vulkanImpl.h"
11 | #include "Valag/vulkanImpl/VTexture.h"
12 |
13 | #include "Valag/assets/Asset.h"
14 |
15 | namespace vlg
16 | {
17 |
18 | class VInstance;
19 |
20 | class TextureAsset : public Asset
21 | {
22 | friend class VApp;
23 |
24 | public:
25 | TextureAsset();
26 | TextureAsset(const AssetTypeId);
27 | virtual ~TextureAsset();
28 |
29 | bool loadFromFile(const std::string &filePath);
30 | bool loadFromMemory(void* data, std::size_t dataSize);
31 |
32 | ///void generateMipmap();
33 | ///void setSmooth(bool = true);
34 |
35 |
36 |
37 | VTexture getVTexture();
38 |
39 | protected:
40 | VTexture m_vtexture;
41 |
42 | glm::vec2 m_size;
43 | };
44 |
45 | }
46 |
47 | #endif // TEXTUREASSET_H
48 |
--------------------------------------------------------------------------------
/Valag/include/Valag/core/Config.h:
--------------------------------------------------------------------------------
1 | #ifndef CONFIG_H
2 | #define CONFIG_H
3 |
4 | #include
5 | #include