├── .gitattributes ├── .github └── workflows │ ├── ci.yaml │ ├── codeql.yml │ └── release.yaml ├── .gitignore ├── .gitmodules ├── CMake ├── BasePresets.json ├── ConfigurePresets.json ├── FindAssimp.cmake ├── FindDevIL.cmake ├── FindFreetype.cmake ├── FindGLES2.cmake ├── FindGLES3.cmake ├── FindODE.cmake ├── FindSDL2.cmake ├── lite3dCommon.cmake ├── x64-linux-custom-static.cmake └── x64-windows-custom-static.cmake ├── CMakeLists.txt ├── CMakePresets.json ├── LICENCE.3rdparty ├── README.md ├── build_win_2022.bat ├── deps ├── Assimp │ ├── include │ │ └── assimp │ │ │ ├── .editorconfig │ │ │ ├── Base64.hpp │ │ │ ├── BaseImporter.h │ │ │ ├── Bitmap.h │ │ │ ├── BlobIOSystem.h │ │ │ ├── ByteSwapper.h │ │ │ ├── ColladaMetaData.h │ │ │ ├── Compiler │ │ │ ├── poppack1.h │ │ │ ├── pstdint.h │ │ │ └── pushpack1.h │ │ │ ├── CreateAnimMesh.h │ │ │ ├── DefaultIOStream.h │ │ │ ├── DefaultIOSystem.h │ │ │ ├── DefaultLogger.hpp │ │ │ ├── Exceptional.h │ │ │ ├── Exporter.hpp │ │ │ ├── GenericProperty.h │ │ │ ├── GltfMaterial.h │ │ │ ├── Hash.h │ │ │ ├── IOStream.hpp │ │ │ ├── IOStreamBuffer.h │ │ │ ├── IOSystem.hpp │ │ │ ├── Importer.hpp │ │ │ ├── LineSplitter.h │ │ │ ├── LogAux.h │ │ │ ├── LogStream.hpp │ │ │ ├── Logger.hpp │ │ │ ├── MathFunctions.h │ │ │ ├── MemoryIOWrapper.h │ │ │ ├── NullLogger.hpp │ │ │ ├── ObjMaterial.h │ │ │ ├── ParsingUtils.h │ │ │ ├── Profiler.h │ │ │ ├── ProgressHandler.hpp │ │ │ ├── RemoveComments.h │ │ │ ├── SGSpatialSort.h │ │ │ ├── SceneCombiner.h │ │ │ ├── SkeletonMeshBuilder.h │ │ │ ├── SmallVector.h │ │ │ ├── SmoothingGroups.h │ │ │ ├── SmoothingGroups.inl │ │ │ ├── SpatialSort.h │ │ │ ├── StandardShapes.h │ │ │ ├── StreamReader.h │ │ │ ├── StreamWriter.h │ │ │ ├── StringComparison.h │ │ │ ├── StringUtils.h │ │ │ ├── Subdivision.h │ │ │ ├── TinyFormatter.h │ │ │ ├── Vertex.h │ │ │ ├── XMLTools.h │ │ │ ├── XmlParser.h │ │ │ ├── ZipArchiveIOSystem.h │ │ │ ├── aabb.h │ │ │ ├── ai_assert.h │ │ │ ├── anim.h │ │ │ ├── camera.h │ │ │ ├── cexport.h │ │ │ ├── cfileio.h │ │ │ ├── cimport.h │ │ │ ├── color4.h │ │ │ ├── color4.inl │ │ │ ├── commonMetaData.h │ │ │ ├── config.h │ │ │ ├── config.h.in │ │ │ ├── defs.h │ │ │ ├── fast_atof.h │ │ │ ├── importerdesc.h │ │ │ ├── light.h │ │ │ ├── material.h │ │ │ ├── material.inl │ │ │ ├── matrix3x3.h │ │ │ ├── matrix3x3.inl │ │ │ ├── matrix4x4.h │ │ │ ├── matrix4x4.inl │ │ │ ├── mesh.h │ │ │ ├── metadata.h │ │ │ ├── pbrmaterial.h │ │ │ ├── port │ │ │ └── AndroidJNI │ │ │ │ ├── AndroidJNIIOSystem.h │ │ │ │ └── BundledAssetIOSystem.h │ │ │ ├── postprocess.h │ │ │ ├── qnan.h │ │ │ ├── quaternion.h │ │ │ ├── quaternion.inl │ │ │ ├── scene.h │ │ │ ├── texture.h │ │ │ ├── types.h │ │ │ ├── vector2.h │ │ │ ├── vector2.inl │ │ │ ├── vector3.h │ │ │ ├── vector3.inl │ │ │ └── version.h │ └── lib │ │ └── x64 │ │ ├── assimp-vc143-mt.dll │ │ └── assimp-vc143-mt.lib ├── DevIL │ ├── include │ │ └── IL │ │ │ ├── DevIL.i │ │ │ ├── build-lua │ │ │ ├── build-python │ │ │ ├── config.h.win │ │ │ ├── devil_cpp_wrapper.hpp │ │ │ ├── devil_internal_exports.h │ │ │ ├── il.h │ │ │ ├── il_wrap.h │ │ │ ├── ilu.h │ │ │ ├── ilu_region.h │ │ │ ├── ilut.h │ │ │ ├── ilut_config.h │ │ │ ├── luadevil.c │ │ │ └── stamp-h.in │ └── lib │ │ ├── x64 │ │ ├── Release │ │ │ ├── DevIL.dll │ │ │ ├── DevIL.lib │ │ │ ├── ILU.dll │ │ │ ├── ILU.lib │ │ │ ├── ILUT.dll │ │ │ └── ILUT.lib │ │ └── unicode │ │ │ └── Release │ │ │ ├── DevIL.dll │ │ │ ├── DevIL.lib │ │ │ ├── ILU.dll │ │ │ ├── ILU.lib │ │ │ ├── ILUT.dll │ │ │ └── ILUT.lib │ │ └── x86 │ │ ├── Release │ │ ├── DevIL.dll │ │ ├── DevIL.lib │ │ ├── ILU.dll │ │ ├── ILU.lib │ │ ├── ILUT.dll │ │ └── ILUT.lib │ │ └── unicode │ │ └── Release │ │ ├── DevIL.dll │ │ ├── DevIL.lib │ │ ├── ILU.dll │ │ ├── ILU.lib │ │ ├── ILUT.dll │ │ └── ILUT.lib ├── SDL2 │ ├── BUGS.txt │ ├── COPYING.txt │ ├── README-SDL.txt │ ├── README.txt │ ├── WhatsNew.txt │ ├── docs │ │ ├── README-android.md │ │ ├── README-cmake.md │ │ ├── README-directfb.md │ │ ├── README-dynapi.md │ │ ├── README-emscripten.md │ │ ├── README-gesture.md │ │ ├── README-hg.md │ │ ├── README-ios.md │ │ ├── README-linux.md │ │ ├── README-macosx.md │ │ ├── README-nacl.md │ │ ├── README-pandora.md │ │ ├── README-platforms.md │ │ ├── README-porting.md │ │ ├── README-psp.md │ │ ├── README-raspberrypi.md │ │ ├── README-touch.md │ │ ├── README-wince.md │ │ ├── README-windows.md │ │ ├── README-winrt.md │ │ ├── README.md │ │ └── doxyfile │ ├── include │ │ ├── SDL.h │ │ ├── SDL_assert.h │ │ ├── SDL_atomic.h │ │ ├── SDL_audio.h │ │ ├── SDL_bits.h │ │ ├── SDL_blendmode.h │ │ ├── SDL_clipboard.h │ │ ├── SDL_config.h │ │ ├── SDL_config.h.cmake │ │ ├── SDL_config.h.in │ │ ├── SDL_config_android.h │ │ ├── SDL_config_iphoneos.h │ │ ├── SDL_config_macosx.h │ │ ├── SDL_config_macosx.h.orig │ │ ├── SDL_config_minimal.h │ │ ├── SDL_config_pandora.h │ │ ├── SDL_config_psp.h │ │ ├── SDL_config_windows.h │ │ ├── SDL_config_winrt.h │ │ ├── SDL_config_wiz.h │ │ ├── SDL_copying.h │ │ ├── SDL_cpuinfo.h │ │ ├── SDL_egl.h │ │ ├── SDL_endian.h │ │ ├── SDL_error.h │ │ ├── SDL_events.h │ │ ├── SDL_filesystem.h │ │ ├── SDL_gamecontroller.h │ │ ├── SDL_gesture.h │ │ ├── SDL_haptic.h │ │ ├── SDL_hints.h │ │ ├── SDL_joystick.h │ │ ├── SDL_keyboard.h │ │ ├── SDL_keycode.h │ │ ├── SDL_loadso.h │ │ ├── SDL_log.h │ │ ├── SDL_main.h │ │ ├── SDL_messagebox.h │ │ ├── SDL_mouse.h │ │ ├── SDL_mutex.h │ │ ├── SDL_name.h │ │ ├── SDL_opengl.h │ │ ├── SDL_opengl_glext.h │ │ ├── SDL_opengles.h │ │ ├── SDL_opengles2.h │ │ ├── SDL_opengles2_gl2.h │ │ ├── SDL_opengles2_gl2ext.h │ │ ├── SDL_opengles2_gl2platform.h │ │ ├── SDL_opengles2_khrplatform.h │ │ ├── SDL_pixels.h │ │ ├── SDL_platform.h │ │ ├── SDL_power.h │ │ ├── SDL_quit.h │ │ ├── SDL_rect.h │ │ ├── SDL_render.h │ │ ├── SDL_revision.h │ │ ├── SDL_rwops.h │ │ ├── SDL_scancode.h │ │ ├── SDL_shape.h │ │ ├── SDL_stdinc.h │ │ ├── SDL_surface.h │ │ ├── SDL_system.h │ │ ├── SDL_syswm.h │ │ ├── SDL_test.h │ │ ├── SDL_test_assert.h │ │ ├── SDL_test_common.h │ │ ├── SDL_test_compare.h │ │ ├── SDL_test_crc32.h │ │ ├── SDL_test_font.h │ │ ├── SDL_test_fuzzer.h │ │ ├── SDL_test_harness.h │ │ ├── SDL_test_images.h │ │ ├── SDL_test_log.h │ │ ├── SDL_test_md5.h │ │ ├── SDL_test_memory.h │ │ ├── SDL_test_random.h │ │ ├── SDL_thread.h │ │ ├── SDL_timer.h │ │ ├── SDL_touch.h │ │ ├── SDL_types.h │ │ ├── SDL_version.h │ │ ├── SDL_video.h │ │ ├── SDL_vulkan.h │ │ ├── begin_code.h │ │ └── close_code.h │ └── lib │ │ ├── x64 │ │ ├── SDL2.dll │ │ ├── SDL2.lib │ │ ├── SDL2main.lib │ │ └── SDL2test.lib │ │ └── x86 │ │ ├── SDL2.dll │ │ ├── SDL2.lib │ │ ├── SDL2main.lib │ │ └── SDL2test.lib └── freetype │ ├── FTL.TXT │ ├── GPLv2.TXT │ ├── LICENSE.TXT │ ├── README.md │ ├── include │ ├── freetype │ │ ├── config │ │ │ ├── ftconfig.h │ │ │ ├── ftheader.h │ │ │ ├── ftmodule.h │ │ │ ├── ftoption.h │ │ │ └── ftstdlib.h │ │ ├── freetype.h │ │ ├── ftadvanc.h │ │ ├── ftbbox.h │ │ ├── ftbdf.h │ │ ├── ftbitmap.h │ │ ├── ftbzip2.h │ │ ├── ftcache.h │ │ ├── ftchapters.h │ │ ├── ftcid.h │ │ ├── ftdriver.h │ │ ├── fterrdef.h │ │ ├── fterrors.h │ │ ├── ftfntfmt.h │ │ ├── ftgasp.h │ │ ├── ftglyph.h │ │ ├── ftgxval.h │ │ ├── ftgzip.h │ │ ├── ftimage.h │ │ ├── ftincrem.h │ │ ├── ftlcdfil.h │ │ ├── ftlist.h │ │ ├── ftlzw.h │ │ ├── ftmac.h │ │ ├── ftmm.h │ │ ├── ftmodapi.h │ │ ├── ftmoderr.h │ │ ├── ftotval.h │ │ ├── ftoutln.h │ │ ├── ftparams.h │ │ ├── ftpfr.h │ │ ├── ftrender.h │ │ ├── ftsizes.h │ │ ├── ftsnames.h │ │ ├── ftstroke.h │ │ ├── ftsynth.h │ │ ├── ftsystem.h │ │ ├── fttrigon.h │ │ ├── fttypes.h │ │ ├── ftwinfnt.h │ │ ├── t1tables.h │ │ ├── ttnameid.h │ │ ├── tttables.h │ │ └── tttags.h │ └── ft2build.h │ ├── win32 │ ├── freetype.dll │ └── freetype.lib │ └── win64 │ ├── freetype.dll │ └── freetype.lib ├── lite3d ├── CMakeLists.txt ├── include │ └── lite3d │ │ ├── 7zdec │ │ ├── 7z.h │ │ ├── 7zBuf.h │ │ ├── 7zCrc.h │ │ ├── 7zFile.h │ │ ├── 7zVersion.h │ │ ├── Bcj2.h │ │ ├── Bra.h │ │ ├── CpuArch.h │ │ ├── Lzma2Dec.h │ │ ├── LzmaDec.h │ │ ├── Ppmd.h │ │ ├── Ppmd7.h │ │ └── Types.h │ │ ├── GL │ │ ├── glew.h │ │ ├── glxew.h │ │ └── wglew.h │ │ ├── kazmath │ │ ├── aabb.h │ │ ├── mat3.h │ │ ├── mat4.h │ │ ├── plane.h │ │ ├── quaternion.h │ │ ├── ray2.h │ │ ├── ray3.h │ │ ├── utility.h │ │ ├── vec2.h │ │ ├── vec3.h │ │ └── vec4.h │ │ ├── lite3d_7z_loader.h │ │ ├── lite3d_alloc.h │ │ ├── lite3d_array.h │ │ ├── lite3d_buffers_manip.h │ │ ├── lite3d_camera.h │ │ ├── lite3d_common.h │ │ ├── lite3d_dbg.h │ │ ├── lite3d_framebuffer.h │ │ ├── lite3d_frustum.h │ │ ├── lite3d_gl.h │ │ ├── lite3d_glext.h │ │ ├── lite3d_kazmath.h │ │ ├── lite3d_lighting.h │ │ ├── lite3d_list.h │ │ ├── lite3d_logger.h │ │ ├── lite3d_main.h │ │ ├── lite3d_material.h │ │ ├── lite3d_mesh.h │ │ ├── lite3d_mesh_assimp_loader.h │ │ ├── lite3d_mesh_codec.h │ │ ├── lite3d_mesh_loader.h │ │ ├── lite3d_metrics.h │ │ ├── lite3d_misc.h │ │ ├── lite3d_nedmalloc.h │ │ ├── lite3d_pack.h │ │ ├── lite3d_query.h │ │ ├── lite3d_rb_tree.h │ │ ├── lite3d_render.h │ │ ├── lite3d_scene.h │ │ ├── lite3d_scene_node.h │ │ ├── lite3d_shader.h │ │ ├── lite3d_shader_params.h │ │ ├── lite3d_shader_program.h │ │ ├── lite3d_tbo.h │ │ ├── lite3d_texture_dds.h │ │ ├── lite3d_texture_unit.h │ │ ├── lite3d_timer.h │ │ ├── lite3d_vao.h │ │ ├── lite3d_vbo.h │ │ └── lite3d_video.h └── src │ ├── 7zdec │ ├── 7zBuf.c │ ├── 7zBuf2.c │ ├── 7zCrc.c │ ├── 7zCrcOpt.c │ ├── 7zDec.c │ ├── 7zFile.c │ ├── 7zIn.c │ ├── 7zStream.c │ ├── Bcj2.c │ ├── Bra.c │ ├── Bra86.c │ ├── CpuArch.c │ ├── Lzma2Dec.c │ ├── LzmaDec.c │ ├── Ppmd7.c │ └── Ppmd7Dec.c │ ├── glew │ └── glew.c │ ├── kazmath │ ├── aabb.c │ ├── mat3.c │ ├── mat4.c │ ├── plane.c │ ├── quaternion.c │ ├── ray2.c │ ├── ray3.c │ ├── utility.c │ ├── vec2.c │ ├── vec3.c │ └── vec4.c │ ├── lite3d_7z_loader.c │ ├── lite3d_alloc.c │ ├── lite3d_array.c │ ├── lite3d_buffers_manip.c │ ├── lite3d_camera.c │ ├── lite3d_dbg.c │ ├── lite3d_framebuffer.c │ ├── lite3d_frustum.c │ ├── lite3d_glext.c │ ├── lite3d_list.c │ ├── lite3d_logger.c │ ├── lite3d_main.c │ ├── lite3d_malloc.c.h │ ├── lite3d_material.c │ ├── lite3d_mesh.c │ ├── lite3d_mesh_assimp_loader.c │ ├── lite3d_mesh_codec.c │ ├── lite3d_mesh_loader.c │ ├── lite3d_metrics.c │ ├── lite3d_misc.c │ ├── lite3d_nedmalloc.c │ ├── lite3d_pack.c │ ├── lite3d_query.c │ ├── lite3d_rb_tree.c │ ├── lite3d_render.c │ ├── lite3d_scene.c │ ├── lite3d_scene_node.c │ ├── lite3d_shader.c │ ├── lite3d_shader_params.c │ ├── lite3d_shader_program.c │ ├── lite3d_tbo.c │ ├── lite3d_texture_dds.c │ ├── lite3d_texture_unit.c │ ├── lite3d_timer.c │ ├── lite3d_vao.c │ ├── lite3d_vbo.c │ └── lite3d_video.c ├── lite3dpp ├── CMakeLists.txt ├── include │ └── lite3dpp │ │ ├── json │ │ ├── JSON.h │ │ └── JSONValue.h │ │ ├── lite3dpp_buffer_base.h │ │ ├── lite3dpp_buffer_mapper.h │ │ ├── lite3dpp_buffer_wrapper.h │ │ ├── lite3dpp_camera.h │ │ ├── lite3dpp_common.h │ │ ├── lite3dpp_config_reader.h │ │ ├── lite3dpp_config_writer.h │ │ ├── lite3dpp_light_source.h │ │ ├── lite3dpp_main.h │ │ ├── lite3dpp_manageable.h │ │ ├── lite3dpp_material.h │ │ ├── lite3dpp_material_factory.h │ │ ├── lite3dpp_material_multi_render.h │ │ ├── lite3dpp_material_pbr.h │ │ ├── lite3dpp_mesh.h │ │ ├── lite3dpp_mesh_partition.h │ │ ├── lite3dpp_observer.h │ │ ├── lite3dpp_render_target.h │ │ ├── lite3dpp_resource.h │ │ ├── lite3dpp_resource_manager.h │ │ ├── lite3dpp_scene.h │ │ ├── lite3dpp_scene_light_node.h │ │ ├── lite3dpp_scene_mesh_node.h │ │ ├── lite3dpp_scene_node.h │ │ ├── lite3dpp_scene_node_base.h │ │ ├── lite3dpp_scene_object.h │ │ ├── lite3dpp_scene_object_base.h │ │ ├── lite3dpp_script_binding.h │ │ ├── lite3dpp_shader_program.h │ │ ├── lite3dpp_ssbo.h │ │ ├── lite3dpp_texture.h │ │ ├── lite3dpp_texture_buffer.h │ │ ├── lite3dpp_texture_render_target.h │ │ ├── lite3dpp_ubo.h │ │ └── lite3dpp_vbo.h └── src │ ├── json │ ├── JSON.cpp │ └── JSONValue.cpp │ ├── lite3dpp_buffer_base.cpp │ ├── lite3dpp_buffer_mapper.cpp │ ├── lite3dpp_camera.cpp │ ├── lite3dpp_config_reader.cpp │ ├── lite3dpp_config_writer.cpp │ ├── lite3dpp_light_source.cpp │ ├── lite3dpp_main.cpp │ ├── lite3dpp_manageable.cpp │ ├── lite3dpp_material.cpp │ ├── lite3dpp_material_factory.cpp │ ├── lite3dpp_material_multi_render.cpp │ ├── lite3dpp_material_pbr.cpp │ ├── lite3dpp_mesh.cpp │ ├── lite3dpp_mesh_partition.cpp │ ├── lite3dpp_render_target.cpp │ ├── lite3dpp_resource.cpp │ ├── lite3dpp_resource_manager.cpp │ ├── lite3dpp_scene.cpp │ ├── lite3dpp_scene_light_node.cpp │ ├── lite3dpp_scene_mesh_node.cpp │ ├── lite3dpp_scene_node.cpp │ ├── lite3dpp_scene_node_base.cpp │ ├── lite3dpp_scene_object.cpp │ ├── lite3dpp_scene_object_base.cpp │ ├── lite3dpp_shader_program.cpp │ ├── lite3dpp_ssbo.cpp │ ├── lite3dpp_texture.cpp │ ├── lite3dpp_texture_buffer.cpp │ ├── lite3dpp_texture_render_target.cpp │ ├── lite3dpp_ubo.cpp │ └── lite3dpp_vbo.cpp ├── lite3dpp_font ├── CMakeLists.txt ├── include │ ├── font.h │ ├── lite3dpp_font │ │ ├── lite3dpp_font_common.h │ │ └── lite3dpp_font_texture.h │ ├── log │ │ ├── loggable.h │ │ └── logger.h │ ├── pos2d.h │ ├── rect.h │ ├── texture.h │ ├── utf8.h │ ├── utf8 │ │ ├── checked.h │ │ ├── core.h │ │ ├── cpp11.h │ │ ├── cpp17.h │ │ └── unchecked.h │ └── utils.h └── src │ ├── font.cpp │ ├── lite3dpp_font_texture.cpp │ ├── texture.cpp │ └── utils.cpp ├── lite3dpp_physics ├── CMakeLists.txt ├── include │ └── lite3dpp_physics │ │ ├── lite3dpp_physics_bullet.h │ │ ├── lite3dpp_physics_collision_shape_manager.h │ │ ├── lite3dpp_physics_common.h │ │ ├── lite3dpp_physics_motion_state.h │ │ ├── lite3dpp_physics_scene.h │ │ ├── lite3dpp_physics_scene_node.h │ │ ├── lite3dpp_physics_scene_object.h │ │ └── lite3dpp_physics_scene_rigid_body_object.h └── src │ ├── lite3dpp_physics_collision_shape_manager.cpp │ ├── lite3dpp_physics_motion_state.cpp │ ├── lite3dpp_physics_scene.cpp │ ├── lite3dpp_physics_scene_node.cpp │ └── lite3dpp_physics_scene_rigid_body_object.cpp ├── lite3dpp_pipeline ├── CMakeLists.txt ├── include │ └── lite3dpp_pipeline │ │ ├── lite3dpp_IBL_multiprobe.h │ │ ├── lite3dpp_bloom.h │ │ ├── lite3dpp_generator.h │ │ ├── lite3dpp_pipeline.h │ │ ├── lite3dpp_pipeline_base.h │ │ ├── lite3dpp_pipeline_common.h │ │ ├── lite3dpp_pipeline_deffered.h │ │ ├── lite3dpp_pipeline_forward.h │ │ └── lite3dpp_shadow_manager.h └── src │ ├── lite3dpp_IBL_multiprobe.cpp │ ├── lite3dpp_bloom.cpp │ ├── lite3dpp_generator.cpp │ ├── lite3dpp_pipeline_base.cpp │ ├── lite3dpp_pipeline_deffered.cpp │ ├── lite3dpp_pipeline_forward.cpp │ └── lite3dpp_shadow_manager.cpp ├── media ├── packs │ └── .gitignore ├── samples │ ├── config │ │ └── config.json │ ├── fonts │ │ └── arial.ttf │ ├── materials │ │ ├── CommonMaterialTemplate.json │ │ ├── CommonMaterialTemplateEmision.json │ │ ├── CoordArrows.json │ │ ├── Robot_Boss_Uberwalker_Loadout_DIF00.json │ │ ├── T_UberWalker_Dif.json │ │ ├── arial256x128.json │ │ ├── arial512x512.json │ │ ├── battery.json │ │ ├── ceiling.json │ │ ├── cube1.json │ │ ├── cube2.json │ │ ├── minigun.json │ │ ├── plasmagun_a.json │ │ ├── plasmagun_b.json │ │ ├── plasmagun_c.json │ │ ├── reflection.json │ │ ├── render512x512.json │ │ ├── skycube.json │ │ ├── vfloor.json │ │ └── vfloor03.json │ ├── models │ │ ├── json │ │ │ ├── BigTriangle.json │ │ │ ├── ComplexShape.json │ │ │ ├── CoordArrows.json │ │ │ ├── Ground.json │ │ │ ├── SKL_Robot.json │ │ │ ├── battery.json │ │ │ ├── cube.json │ │ │ ├── cube80.json │ │ │ ├── minigun.json │ │ │ ├── plain256x128.json │ │ │ ├── plain512x512.json │ │ │ ├── plasmagun.json │ │ │ └── skybox.json │ │ └── meshes │ │ │ ├── ComplexShape.m │ │ │ ├── CoordArrows.m │ │ │ ├── Ground.m │ │ │ ├── SKL_Robot.m │ │ │ ├── battery.m │ │ │ ├── cube.m │ │ │ ├── glasstube.m │ │ │ ├── minigun.3ds │ │ │ ├── minigun.m │ │ │ ├── plasmagun.m │ │ │ └── plasmarif.3ds │ ├── objects │ │ ├── ComplexShape.json │ │ ├── box_rtt.json │ │ ├── compound_T.json │ │ ├── compound_Z.json │ │ ├── compound_cross.json │ │ ├── coord_arrows.json │ │ ├── cube.json │ │ ├── flashlight.json │ │ ├── ground.json │ │ ├── help_overlay.json │ │ ├── light_spark.json │ │ ├── minigun.json │ │ ├── plasma.json │ │ ├── robot.json │ │ ├── skybox.json │ │ ├── stat_overlay.json │ │ └── sunlight.json │ ├── scenes │ │ ├── empty.json │ │ ├── gui.json │ │ ├── physic_simple.json │ │ ├── reflections.json │ │ ├── robots.json │ │ ├── scene.json │ │ ├── scene_rtt.json │ │ └── scene_rtt_box.json │ ├── shaders │ │ ├── json │ │ │ ├── basic_shading_albedo.json │ │ │ ├── basic_shading_light.json │ │ │ ├── basic_shading_light_alpha.json │ │ │ ├── basic_shading_no_normals.json │ │ │ ├── basic_shading_solid_color.json │ │ │ ├── basic_shading_solid_light.json │ │ │ ├── coord_arrows.json │ │ │ ├── cube_gen.json │ │ │ ├── reflection_cube.json │ │ │ ├── robots_floor.json │ │ │ ├── robots_inst.json │ │ │ └── skybox.json │ │ └── sources │ │ │ ├── antialiasing │ │ │ ├── fxaa.fs │ │ │ └── fxaa_texcoords.vs │ │ │ ├── basic_shading.vs │ │ │ ├── basic_shading_albedo.fs │ │ │ ├── basic_shading_fog.fs │ │ │ ├── basic_shading_instanced_no_normals.vs │ │ │ ├── basic_shading_light.fs │ │ │ ├── basic_shading_light_alpha.fs │ │ │ ├── basic_shading_no_normals.vs │ │ │ ├── basic_shading_solid_color.fs │ │ │ ├── basic_shading_solid_light.fs │ │ │ ├── bigtriangle.vs │ │ │ ├── bindless │ │ │ ├── material.glsl │ │ │ └── material_inc.glsl │ │ │ ├── bloom │ │ │ ├── bloom_downsample.fs │ │ │ └── bloom_upsample.fs │ │ │ ├── common │ │ │ ├── common.fs │ │ │ ├── common.vs │ │ │ ├── common_inc.glsl │ │ │ ├── material.glsl │ │ │ ├── material_inc.glsl │ │ │ ├── structs_inc.glsl │ │ │ ├── stub.fs │ │ │ ├── stub2.fs │ │ │ ├── transform.vs │ │ │ ├── utils.fs │ │ │ ├── utils.glsl │ │ │ └── utils.vs │ │ │ ├── coord_arrows.fs │ │ │ ├── coord_arrows.vs │ │ │ ├── cube_generator.gs │ │ │ ├── pbr │ │ │ ├── brdf.fs │ │ │ ├── brdf_indirect.fs │ │ │ ├── brdf_lambert.fs │ │ │ ├── brdf_null_env.fs │ │ │ ├── brdf_oren_nayar.fs │ │ │ ├── brdf_oren_nayar_approx.fs │ │ │ └── pbr.fs │ │ │ ├── phong │ │ │ ├── lighting_ssbo.fs │ │ │ ├── lighting_ubo.fs │ │ │ └── phong_blinn_single.fs │ │ │ ├── pipeline │ │ │ ├── deffered_pass │ │ │ │ └── deffered.fs │ │ │ ├── depth_pass │ │ │ │ ├── depth.fs │ │ │ │ └── depth.vs │ │ │ ├── env_pass │ │ │ │ ├── env.vs │ │ │ │ ├── env_inst.vs │ │ │ │ ├── env_multi.gs │ │ │ │ ├── env_multi_skybox.gs │ │ │ │ ├── env_skybox.vs │ │ │ │ └── forward.fs │ │ │ ├── forward_pass │ │ │ │ └── forward.fs │ │ │ ├── light_pass │ │ │ │ └── light.fs │ │ │ ├── postprocess_pass │ │ │ │ ├── postprocess.vs │ │ │ │ └── postprocess_bloom.fs │ │ │ ├── shadow_clean_pass │ │ │ │ ├── shadow_clean.fs │ │ │ │ └── shadow_clean_split.gs │ │ │ ├── shadow_pass │ │ │ │ ├── shadow.vs │ │ │ │ ├── shadow_inst.vs │ │ │ │ └── shadow_split.gs │ │ │ ├── skybox_pass │ │ │ │ ├── skybox.fs │ │ │ │ └── skybox.vs │ │ │ ├── v_tbn.vs │ │ │ └── v_tbn_inst.vs │ │ │ ├── reflection_cube.fs │ │ │ ├── shadow │ │ │ ├── none.fs │ │ │ ├── pcf.fs │ │ │ └── simple.fs │ │ │ ├── skybox.fs │ │ │ ├── skybox.vs │ │ │ ├── ssao │ │ │ ├── ssao.fs │ │ │ └── ssao_sample.fs │ │ │ └── vertex_instancing.vs │ ├── targets │ │ └── render_to_tex_512.json │ └── textures │ │ ├── images │ │ ├── Robot_Boss_Uberwalker_Loadout_DIF00.tga │ │ ├── T_UberWalker_Dif.tga │ │ ├── box1.jpg │ │ ├── box2.jpg │ │ ├── metallic.jpg │ │ ├── minigun.dds │ │ ├── plasmarif02a.dds │ │ ├── plasmarif02b.dds │ │ ├── plasmarif02c.dds │ │ ├── skymap │ │ │ ├── MetalBronzeCube_e.dds │ │ │ ├── MetalChrome01Cube_e.dds │ │ │ ├── MetalCopperShine01Cube_e.dds │ │ │ ├── MetalShineTopCube01_e.dds │ │ │ ├── Vault111CryoCube.dds │ │ │ ├── miramar_bk.tga │ │ │ ├── miramar_dn.tga │ │ │ ├── miramar_ft.tga │ │ │ ├── miramar_lf.tga │ │ │ ├── miramar_rt.tga │ │ │ └── miramar_up.tga │ │ ├── t1.jpg │ │ └── vfloor03.dds │ │ └── json │ │ ├── Robot_Boss_Uberwalker_Loadout_DIF00.json │ │ ├── T_UberWalker_Dif.json │ │ ├── arial256x128.json │ │ ├── arial512x512.json │ │ ├── box1.json │ │ ├── box2.json │ │ ├── color512x512.json │ │ ├── depth.json │ │ ├── minigun.json │ │ ├── multisample4Depth.json │ │ ├── multisample8Depth.json │ │ ├── plasmagun_a.json │ │ ├── plasmagun_b.json │ │ ├── plasmagun_c.json │ │ ├── r16fs4.json │ │ ├── rgb32f.json │ │ ├── rgba.json │ │ ├── rgba16f.json │ │ ├── rgba32f.json │ │ ├── rgba32f_array4.json │ │ ├── shadow_2k.json │ │ ├── shadow_2k_array4.json │ │ ├── shadow_2k_array5.json │ │ ├── shadow_4k.json │ │ ├── skybox.json │ │ ├── skybox_cryo.json │ │ ├── skybox_cryo_mip.json │ │ ├── skybox_metal_bronze.json │ │ ├── skybox_metal_chrome.json │ │ ├── skybox_metal_copper.json │ │ ├── skybox_metal_shine.json │ │ └── vfloor03.json ├── sandbox │ ├── config │ │ └── config.json │ ├── materials │ │ ├── Ceil.json │ │ ├── Floor.json │ │ ├── Monkey.json │ │ ├── Sphere.json │ │ ├── Wall01.json │ │ ├── Wall02.json │ │ ├── Wall03.json │ │ ├── Wall04.json │ │ ├── WallHalf.json │ │ └── bsdf.json │ ├── models │ │ ├── json │ │ │ └── SandBox.json │ │ └── meshes │ │ │ └── SandBox.m │ ├── objects │ │ └── SandBox.json │ ├── pipelines │ │ └── sandbox.json │ ├── scenes │ │ └── sandbox.json │ └── shaders │ │ ├── json │ │ ├── bloom_downsample.json │ │ ├── bloom_upsample.json │ │ ├── bsdf_regular.json │ │ ├── depth.json │ │ ├── env_multiprobe.json │ │ ├── post_process.json │ │ ├── shadow.json │ │ └── shadow_map_clean.json │ │ └── sources │ │ ├── inc │ │ └── params.def │ │ └── regular.fs ├── screenshots │ ├── camera.png │ ├── physics.png │ ├── reflection1.png │ ├── reflection2.png │ ├── robots.png │ ├── robots1.png │ ├── sandbox.png │ ├── sponza.png │ ├── sponza1.png │ ├── vault.png │ ├── vault1.png │ ├── vault2.png │ ├── vault3.png │ ├── vault4.png │ ├── vault_111_0.png │ ├── vault_111_1.png │ ├── vault_111_10.png │ ├── vault_111_11.png │ ├── vault_111_12.png │ ├── vault_111_13.png │ ├── vault_111_14.png │ ├── vault_111_15.png │ ├── vault_111_16.png │ ├── vault_111_17.png │ ├── vault_111_18.png │ ├── vault_111_19.png │ ├── vault_111_2.png │ ├── vault_111_20.png │ ├── vault_111_21.png │ ├── vault_111_22.png │ ├── vault_111_23.png │ ├── vault_111_24.png │ ├── vault_111_25.png │ ├── vault_111_26.png │ ├── vault_111_3.png │ ├── vault_111_4.png │ ├── vault_111_5.png │ ├── vault_111_6.png │ ├── vault_111_7.png │ ├── vault_111_8.png │ ├── vault_111_9.png │ ├── vault_room_0.png │ ├── vault_room_1.png │ ├── vault_room_2.png │ ├── vault_room_3.png │ ├── vault_room_4.png │ ├── vss.png │ └── warship.png ├── sponza │ ├── .gitignore │ ├── config │ │ └── config.json │ ├── materials │ │ ├── KnightArmor.json │ │ ├── KnightChestplate.json │ │ ├── KnightCloth.json │ │ ├── KnightLeather.json │ │ ├── KnightShield.json │ │ ├── KnightShoulder.json │ │ ├── KnightSword.json │ │ ├── arch_stone_wall_01.json │ │ ├── brickwall_01.json │ │ ├── brickwall_02.json │ │ ├── bsdf.json │ │ ├── bsdf_blend.json │ │ ├── bsdf_double_sided.json │ │ ├── bsdf_glow.json │ │ ├── bsdf_knight_a.json │ │ ├── bsdf_knight_an.json │ │ ├── bsdf_knight_as.json │ │ ├── bsdf_knight_asn.json │ │ ├── bsdf_knight_s.json │ │ ├── ceiling_plaster_01.json │ │ ├── ceiling_plaster_02.json │ │ ├── column_1stfloor.json │ │ ├── column_brickwall_01.json │ │ ├── column_head_1stfloor.json │ │ ├── column_head_2ndfloor_02.json │ │ ├── column_head_2ndfloor_03.json │ │ ├── curtain_01.json │ │ ├── curtain_02.json │ │ ├── curtain_03.json │ │ ├── door_stoneframe_01.json │ │ ├── door_stoneframe_02.json │ │ ├── floor_01.json │ │ ├── glass.json │ │ ├── lamp_glass_01.json │ │ ├── light_bulb.json │ │ ├── metal_door.json │ │ ├── ornament_01.json │ │ ├── ornament_lion.json │ │ ├── roof_tiles_01.json │ │ ├── stone_trims_01.json │ │ ├── stone_trims_02.json │ │ ├── stones_01_tile.json │ │ ├── stones_2ndfloor.json │ │ ├── window_frame_01.json │ │ ├── wood_01.json │ │ └── wood_door_01.json │ ├── objects │ │ └── Sponza.json │ ├── pipelines │ │ └── sponza.json │ ├── scenes │ │ └── sponza.json │ └── shaders │ │ ├── json │ │ ├── bloom_downsample.json │ │ ├── bloom_upsample.json │ │ ├── bsdf_direct_alpha.json │ │ ├── bsdf_prepare.json │ │ ├── depth.json │ │ ├── env_probe.json │ │ ├── env_skybox.json │ │ ├── lightpass.json │ │ ├── post_process.json │ │ ├── shadow.json │ │ ├── shadow_map_clean.json │ │ ├── skybox.json │ │ └── ssao.json │ │ └── sources │ │ └── inc │ │ ├── disable_invocation.def │ │ └── params.def ├── starfield │ ├── config │ │ └── config.json │ ├── materials │ │ ├── RussianAssaultRifle_Barrel.json │ │ ├── RussianAssaultRifle_Grip.json │ │ ├── RussianAssaultRifle_Magazine.json │ │ ├── RussianAssaultRifle_Magazine_Drum.json │ │ ├── RussianAssaultRifle_Receiver.json │ │ ├── RussianAssaultRifle_Stock.json │ │ ├── RussianHuntingRifle_Barrel.json │ │ ├── RussianHuntingRifle_Decals.json │ │ ├── RussianHuntingRifle_Flashlight.json │ │ ├── RussianHuntingRifle_Magazine.json │ │ ├── RussianHuntingRifle_Receiver.json │ │ ├── RussianHuntingRifle_Scope.json │ │ ├── RussianHuntingRifle_Stock.json │ │ ├── ScopeGlass.json │ │ ├── bsdf.json │ │ ├── bsdf_blend.json │ │ └── bsdf_glass.json │ ├── objects │ │ ├── AK47.json │ │ ├── Sun.json │ │ └── VSS.json │ ├── pipelines │ │ └── starfield.json │ ├── scenes │ │ └── starfield.json │ └── shaders │ │ ├── json │ │ ├── bloom_downsample.json │ │ ├── bloom_upsample.json │ │ ├── bsdf_decal.json │ │ ├── bsdf_glass.json │ │ ├── bsdf_regular.json │ │ ├── depth.json │ │ ├── post_process.json │ │ ├── shadow.json │ │ ├── shadow_map_clean.json │ │ └── skybox.json │ │ └── sources │ │ ├── decal.fs │ │ ├── glass.fs │ │ ├── inc │ │ └── params.def │ │ └── regular.fs ├── tests │ ├── meshes │ │ ├── VURmCorner_br.m │ │ └── VURmCorner_ubr.m │ └── pack │ │ ├── eev.jpg │ │ ├── minigun │ │ └── minigun.3ds │ │ ├── normandy │ │ ├── ref.jpg │ │ └── t1.jpg │ │ ├── pack.0 │ │ ├── pack.1 │ │ └── plasmagun │ │ └── plasmarif.3ds ├── vault_111 │ ├── .gitignore │ ├── config │ │ └── config.json │ ├── materials │ │ ├── AlienBlaster.json │ │ ├── Balloon01.json │ │ ├── Balloon02.json │ │ ├── Balloon03.json │ │ ├── Baseball.json │ │ ├── BedroomBed01.json │ │ ├── CannonBall.json │ │ ├── ComputerConsole01.json │ │ ├── ComputerConsolePanels01.json │ │ ├── ComputerConsolePanels01Glow.json │ │ ├── ComputerConsolePanels02a.json │ │ ├── ComputerTerminal01Prewar.json │ │ ├── ComputerTerminal01_VentFX.json │ │ ├── ComputerTerminalFront01Prewar.json │ │ ├── ConScanner01.json │ │ ├── Consoles01.json │ │ ├── Consoles02.json │ │ ├── CryoPipes01.json │ │ ├── DoorSignAlpha.json │ │ ├── DoorSignBlack01.json │ │ ├── DoorSignGlow.json │ │ ├── EmissiveBlue.json │ │ ├── EspressoMachine01.json │ │ ├── EspressoMachineBlend01.json │ │ ├── FirePanel01.json │ │ ├── FirstAidKitWhite01.json │ │ ├── FusionCore01.json │ │ ├── GarageWorkBench01.json │ │ ├── GarageWorkBench02.json │ │ ├── GarageWorkBenchTools01.json │ │ ├── GatlingLaser.json │ │ ├── HospitalLightsGlow.json │ │ ├── InsMicroscope.json │ │ ├── InstituteBed01.json │ │ ├── InstituteCafeCounter01.json │ │ ├── InstituteCafeMachine01.json │ │ ├── InstituteCouch01.json │ │ ├── InstitutePillow01.json │ │ ├── KitchenBar01.json │ │ ├── KitchenCabinet01.json │ │ ├── KitchenCabinet02.json │ │ ├── KitchenMixer01.json │ │ ├── KitchenRefrigerator01.json │ │ ├── KitchenStove01.json │ │ ├── LightBoxGlassGlow.json │ │ ├── LightFixtureGlass01.json │ │ ├── Lightfixture01.json │ │ ├── LightfixtureGlow01.json │ │ ├── LvStand01.json │ │ ├── MachineKit15.json │ │ ├── MachineKitQuad04.json │ │ ├── MachineKitQuad04Blend.json │ │ ├── Microfiche01.json │ │ ├── MiniGun.json │ │ ├── MiniGunAmmo.json │ │ ├── MiniGunBarrel.json │ │ ├── MinigunRear.json │ │ ├── PipBoyScreen.json │ │ ├── PipPlug01.json │ │ ├── PowerGenerator01.json │ │ ├── PowerGeneratorSignage01.json │ │ ├── SineWave01.json │ │ ├── SpotLight.json │ │ ├── SpotLightGlow.json │ │ ├── UtilColumn01.json │ │ ├── V111CBlockWall01.json │ │ ├── V111CableBundle01.json │ │ ├── V111CeilingPanels01.json │ │ ├── V111Concrete01.json │ │ ├── V111Concrete01BarMoved.json │ │ ├── V111Concrete02.json │ │ ├── V111Concrete03.json │ │ ├── V111Concrete05.json │ │ ├── V111Door01.json │ │ ├── V111DoorFrame01.json │ │ ├── V111DoorSpecial.json │ │ ├── V111DoorSpecialDECAL01.json │ │ ├── V111Ducts01.json │ │ ├── V111Ducts02.json │ │ ├── V111FloorCementDirty01.json │ │ ├── V111FloorTiles01.json │ │ ├── V111GearDoor01.json │ │ ├── V111GearDoor02.json │ │ ├── V111GearDoorConsole01.json │ │ ├── V111GearDoorConsoleGlass01.json │ │ ├── V111GearKeyAlpha01.json │ │ ├── V111GearKeyGlowy01.json │ │ ├── V111GearKeyMotorGlow.json │ │ ├── V111GearKeySpinner01.json │ │ ├── V111Generator01.json │ │ ├── V111Generator02.json │ │ ├── V111Glass01.json │ │ ├── V111Grate01.json │ │ ├── V111Greebs01.json │ │ ├── V111Greebs02.json │ │ ├── V111Greebs02WHITE.json │ │ ├── V111Greebs03.json │ │ ├── V111GreebsAlpha01.json │ │ ├── V111HallFloor01.json │ │ ├── V111LabelSet01.json │ │ ├── V111LabelSet02.json │ │ ├── V111LabelSet03.json │ │ ├── V111LockCircles01.json │ │ ├── V111LockCircles02.json │ │ ├── V111LockGlow01.json │ │ ├── V111LockGlow02.json │ │ ├── V111Metal01.json │ │ ├── V111Metal02.json │ │ ├── V111Metal03.json │ │ ├── V111Metal04.json │ │ ├── V111Metal05.json │ │ ├── V111Panels01.json │ │ ├── V111Pipes01.json │ │ ├── V111ReactorGlow01.json │ │ ├── V111ReactorGlow02.json │ │ ├── V111ReactorGlow03.json │ │ ├── V111ReactorGlow04.json │ │ ├── V111SignWelcome01.json │ │ ├── V111Signs01.json │ │ ├── V111Signs02.json │ │ ├── V111Struct01.json │ │ ├── V111Struct02.json │ │ ├── V111Trim01.json │ │ ├── V111VAC01.json │ │ ├── VFloorTiles02.json │ │ ├── VMegaPanels01.json │ │ ├── VaultBedSheets01.json │ │ ├── VaultChair01.json │ │ ├── VaultChairFolding01.json │ │ ├── VaultCrate01.json │ │ ├── VaultCrate01a.json │ │ ├── VaultCrate01b.json │ │ ├── VaultLocker01.json │ │ ├── VaultOxygenTank01.json │ │ ├── VaultShelf01.json │ │ ├── VaultTable01.json │ │ ├── VaultVaultSuitBox01.json │ │ ├── Vertibird06.json │ │ ├── VltConduitsVents01.json │ │ ├── VltDecals01.json │ │ ├── VltDecals01Yellow.json │ │ ├── VltElevatorDoorParts01.json │ │ ├── VltHallResColumn01.json │ │ ├── VltHallResDoorFrame01.json │ │ ├── VltHallResMain01.json │ │ ├── VltHallResPaneled01.json │ │ ├── VltHallResWindow01.json │ │ ├── VltLight01.json │ │ ├── VltLightGlow01.json │ │ ├── VltUtilDoorFrame01.json │ │ ├── VltUtilFloor01TreadPanel.json │ │ ├── VltUtilGreebs01.json │ │ ├── VltUtilMetalGeneric01.json │ │ ├── VltUtilParts01.json │ │ ├── VltUtilParts02.json │ │ ├── VltUtilStripsPipes01.json │ │ ├── VltUtilWindow01.json │ │ ├── WorkstationWeaponsA01.json │ │ ├── WorkstationWeaponsDrill01.json │ │ ├── WorkstationWeaponsTanks01.json │ │ ├── XRayLightBox.json │ │ ├── XRayLightBoxGlow.json │ │ ├── bsdf.json │ │ ├── bsdf_alpha.json │ │ ├── bsdf_blend.json │ │ ├── bsdf_blend_glass.json │ │ ├── bsdf_blend_glow.json │ │ ├── bsdf_blend_mask.json │ │ ├── bsdf_glow.json │ │ ├── bsdf_glow_circles.json │ │ ├── bsdf_glow_green.json │ │ ├── bsdf_glow_solid.json │ │ ├── bsdf_palete.json │ │ ├── bsdf_palete_alpha.json │ │ ├── bsdf_palete_blue.json │ │ ├── bsdf_palete_red.json │ │ ├── bsdf_reactor_glow.json │ │ └── shadow_clean.json │ ├── objects │ │ ├── Ball.json │ │ ├── CannonBall.json │ │ ├── Crate01b.json │ │ ├── Door.json │ │ ├── DoorSpecial.json │ │ ├── FirstAid.json │ │ ├── LightCapsule.json │ │ ├── LightSpot.json │ │ ├── MinigunTurret.json │ │ ├── Player.json │ │ ├── Table.json │ │ ├── VaultRoom.json │ │ └── VaultStatic.json │ ├── pipelines │ │ ├── vault_111.json │ │ └── vault_room.json │ ├── scenes │ │ ├── vault_111.json │ │ └── vault_room.json │ └── shaders │ │ ├── json │ │ ├── bloom_downsample.json │ │ ├── bloom_upsample.json │ │ ├── bsdf_direct_alpha.json │ │ ├── bsdf_direct_glass.json │ │ ├── bsdf_direct_glow_alpha.json │ │ ├── bsdf_direct_mask_alpha.json │ │ ├── bsdf_glow_circles.json │ │ ├── bsdf_glow_prepare.json │ │ ├── bsdf_glow_prepare_green.json │ │ ├── bsdf_glow_solid_prepare.json │ │ ├── bsdf_palete.json │ │ ├── bsdf_palete_blue.json │ │ ├── bsdf_palete_red.json │ │ ├── bsdf_prepare.json │ │ ├── bsdf_reactor_glow.json │ │ ├── depth.json │ │ ├── depth_alpha.json │ │ ├── lightpass.json │ │ ├── post_process.json │ │ ├── shadow.json │ │ ├── shadow_alpha.json │ │ ├── shadow_map_clean.json │ │ └── ssao.json │ │ └── sources │ │ ├── alpha_depth.fs │ │ ├── alpha_glow.fs │ │ ├── alpha_mask.fs │ │ ├── glass.fs │ │ ├── glow_falloff.fs │ │ ├── inc │ │ ├── glow.def │ │ ├── glow_green.def │ │ ├── glow_solid.def │ │ ├── palete_blue.def │ │ ├── palete_red.def │ │ ├── palete_yellow.def │ │ ├── pbr_params.def │ │ ├── shadow_params.def │ │ └── ssao_params.def │ │ ├── reactor_glow.fs │ │ ├── regular.fs │ │ ├── regular_alpha.fs │ │ └── utils │ │ ├── Normal.fs │ │ └── Specular.fs ├── vault_df │ ├── config │ │ └── config_vault.json │ ├── materials │ │ ├── combine.json │ │ ├── eccell.json │ │ ├── gatlinglaser.json │ │ ├── laserrifle01.json │ │ ├── laserrifle02.json │ │ ├── lava.json │ │ ├── lightpass.json │ │ ├── microfusioncell01.json │ │ ├── minigun.json │ │ ├── postprocess.json │ │ ├── vaulttransformer01.json │ │ ├── vconcrete01.json │ │ ├── vconcrete02.json │ │ ├── vconcrete03.json │ │ ├── vdetail01.json │ │ ├── vdoor01.json │ │ ├── vdoorframe.json │ │ ├── vdoorsliding01.json │ │ ├── vfloor02.json │ │ ├── vfloor03.json │ │ ├── vglass01.json │ │ ├── vlight01.json │ │ ├── vmesh01.json │ │ ├── vmetal01.json │ │ ├── vpipecap01.json │ │ ├── vquad01.json │ │ ├── vquad02.json │ │ ├── vquad02_t.json │ │ ├── vsign01.json │ │ ├── vtechbox01.json │ │ ├── vtrim01.json │ │ ├── vtrim02.json │ │ ├── vtrim03.json │ │ ├── vtrim04.json │ │ ├── vwall01.json │ │ └── vwall02.json │ ├── scenes │ │ ├── combine.json │ │ ├── lightpass.json │ │ ├── postprocess.json │ │ └── prepass.json │ ├── shaders │ │ ├── json │ │ │ ├── combine.json │ │ │ ├── combine_blend.json │ │ │ ├── combine_blend_glass.json │ │ │ ├── combine_blend_illum.json │ │ │ ├── lava.json │ │ │ ├── lightpass.json │ │ │ ├── postprocess.json │ │ │ ├── prepass.json │ │ │ ├── prepass_illum.json │ │ │ └── prepass_parallax.json │ │ └── sources │ │ │ ├── combine.fs │ │ │ ├── combine_blend.fs │ │ │ ├── def │ │ │ ├── glass.def │ │ │ ├── illum.def │ │ │ └── parallax.def │ │ │ ├── lightpass.fs │ │ │ ├── postprocess.fs │ │ │ ├── postprocess.vs │ │ │ ├── prepass.fs │ │ │ ├── prepass.vs │ │ │ ├── prepass_lava.fs │ │ │ └── triangle.vs │ └── targets │ │ ├── combine.json │ │ ├── lightpass.json │ │ └── prepass.json ├── vault_dr_ssbo │ ├── config │ │ └── config_vault.json │ ├── materials │ │ ├── eccell.json │ │ ├── gatlinglaser.json │ │ ├── laserrifle01.json │ │ ├── laserrifle02.json │ │ ├── lava.json │ │ ├── microfusioncell01.json │ │ ├── minigun.json │ │ ├── postprocess.json │ │ ├── vaulttransformer01.json │ │ ├── vconcrete01.json │ │ ├── vconcrete02.json │ │ ├── vconcrete03.json │ │ ├── vdetail01.json │ │ ├── vdoor01.json │ │ ├── vdoorframe.json │ │ ├── vdoorsliding01.json │ │ ├── vfloor02.json │ │ ├── vfloor03.json │ │ ├── vglass01.json │ │ ├── vlight01.json │ │ ├── vmesh01.json │ │ ├── vmetal01.json │ │ ├── vpipecap01.json │ │ ├── vquad01.json │ │ ├── vquad02.json │ │ ├── vquad02_t.json │ │ ├── vsign01.json │ │ ├── vtechbox01.json │ │ ├── vtrim01.json │ │ ├── vtrim02.json │ │ ├── vtrim03.json │ │ ├── vtrim04.json │ │ ├── vwall01.json │ │ └── vwall02.json │ ├── scenes │ │ ├── directrender.json │ │ └── postprocess.json │ ├── shaders │ │ └── json │ │ │ ├── lava.json │ │ │ ├── postprocess.json │ │ │ ├── prepass.json │ │ │ ├── prepass_depth.json │ │ │ ├── prepass_glass.json │ │ │ ├── prepass_illum.json │ │ │ └── prepass_parallax.json │ └── targets │ │ ├── combine.json │ │ └── depth.json ├── vault_dr_ubo │ ├── config │ │ └── config_vault.json │ ├── materials │ │ ├── eccell.json │ │ ├── gatlinglaser.json │ │ ├── laserrifle01.json │ │ ├── laserrifle02.json │ │ ├── lava.json │ │ ├── microfusioncell01.json │ │ ├── minigun.json │ │ ├── postprocess.json │ │ ├── vaulttransformer01.json │ │ ├── vconcrete01.json │ │ ├── vconcrete02.json │ │ ├── vconcrete03.json │ │ ├── vdetail01.json │ │ ├── vdoor01.json │ │ ├── vdoorframe.json │ │ ├── vdoorsliding01.json │ │ ├── vfloor02.json │ │ ├── vfloor03.json │ │ ├── vglass01.json │ │ ├── vlight01.json │ │ ├── vmesh01.json │ │ ├── vmetal01.json │ │ ├── vpipecap01.json │ │ ├── vquad01.json │ │ ├── vquad02.json │ │ ├── vquad02_t.json │ │ ├── vsign01.json │ │ ├── vtechbox01.json │ │ ├── vtrim01.json │ │ ├── vtrim02.json │ │ ├── vtrim03.json │ │ ├── vtrim04.json │ │ ├── vwall01.json │ │ └── vwall02.json │ ├── scenes │ │ ├── directrender.json │ │ └── postprocess.json │ ├── shaders │ │ ├── json │ │ │ ├── lava.json │ │ │ ├── postprocess.json │ │ │ ├── prepass.json │ │ │ ├── prepass_depth.json │ │ │ ├── prepass_glass.json │ │ │ ├── prepass_illum.json │ │ │ └── prepass_parallax.json │ │ └── sources │ │ │ ├── def │ │ │ ├── glass.def │ │ │ ├── illum.def │ │ │ └── parallax.def │ │ │ ├── depth.fs │ │ │ ├── depth.vs │ │ │ ├── postprocess.fs │ │ │ ├── postprocess.vs │ │ │ ├── prepass.fs │ │ │ ├── prepass.vs │ │ │ └── prepass_lava.fs │ └── targets │ │ ├── combine.json │ │ └── depth.json └── warship │ ├── config │ └── warship_df.json │ ├── materials │ ├── combine.json │ ├── postprocess.json │ ├── rclight01.json │ ├── rcsidepanel01.json │ ├── rcsidepanel02.json │ └── rcsidepanel03.json │ ├── models │ ├── json │ │ ├── BigTriangle.json │ │ ├── RCHallSm1Way02.json │ │ ├── RCHallSm1Way03.json │ │ ├── RCHallSm1Way04.json │ │ ├── RCHallSm1Way05.json │ │ ├── RCHallSm1Way06.json │ │ ├── RCHallSm1WayEnd01.json │ │ ├── RCHallSm1WayEnd02.json │ │ └── RCLightBox.json │ └── meshes │ │ ├── RCHallSm1Way02.m │ │ ├── RCHallSm1Way03.m │ │ ├── RCHallSm1Way04.m │ │ ├── RCHallSm1Way05.m │ │ ├── RCHallSm1Way06.m │ │ ├── RCHallSm1WayEnd01.m │ │ ├── RCHallSm1WayEnd02.m │ │ └── RCLightBox.m │ ├── objects │ ├── warship_combine_tri.json │ ├── warship_postprocess_tri.json │ └── warship_static.json │ ├── scenes │ ├── warship_combine.json │ ├── warship_postprocess.json │ └── warship_prepass.json │ ├── shaders │ ├── json │ │ ├── combine.json │ │ ├── postprocess.json │ │ ├── prepass.json │ │ └── prepass_illum.json │ └── sources │ │ ├── combine.fs │ │ ├── combine.vs │ │ ├── postprocess.fs │ │ ├── postprocess.vs │ │ ├── prepass.fs │ │ ├── prepass.vs │ │ └── prepass_illum.fs │ ├── targets │ ├── combine.json │ └── prepass.json │ └── textures │ ├── images │ ├── rclight01.dds │ ├── rclight01_g.dds │ ├── rclight01_n.dds │ ├── rcsidepanel01.dds │ ├── rcsidepanel01_n.dds │ ├── rcsidepanel02.dds │ ├── rcsidepanel02_n.dds │ ├── rcsidepanel03.dds │ └── rcsidepanel03_n.dds │ └── json │ ├── rclight01.json │ ├── rclight01_g.json │ ├── rclight01_n.json │ ├── rcsidepanel01.json │ ├── rcsidepanel01_n.json │ ├── rcsidepanel02.json │ ├── rcsidepanel02_n.json │ ├── rcsidepanel03.json │ └── rcsidepanel03_n.json ├── samples ├── CMakeLists.txt ├── README.md ├── sample_camera │ └── lite3dpp_main.cpp ├── sample_cellwallerkiller │ └── lite3dpp_cellwallerkiller.cpp ├── sample_common │ ├── CMakeLists.txt │ ├── lite3d_builtin_shaders.h │ ├── lite3dpp_common.cpp │ └── lite3dpp_common.h ├── sample_dynamic_cube │ └── lite3dpp_dynamic_cube.cpp ├── sample_minigun │ └── lite3d_sample_minigun.c ├── sample_objects │ └── lite3dpp_sample_objects.cpp ├── sample_physics │ └── lite3dpp_main.cpp ├── sample_reflection_sky │ └── lite3dpp_reflection_sky.cpp ├── sample_rifle │ └── lite3d_sample_rifle.c ├── sample_rtt │ └── lite3d_sample_rtt.c ├── sample_rtt2 │ └── lite3dpp_render_color_to_texture.cpp ├── sample_sandbox │ └── lite3dpp_main.cpp ├── sample_scene_node │ └── lite3d_sample_scene_node.c ├── sample_sponzahall │ └── lite3dpp_main.cpp ├── sample_starfield │ └── lite3dpp_main.cpp ├── sample_vault │ ├── lite3dpp_vault_base.h │ ├── lite3dpp_vault_deferred_shading.h │ ├── lite3dpp_vault_directrender.h │ └── lite3dpp_vault_main.cpp ├── sample_vault_111 │ ├── lite3dpp_vault_light_anim.h │ └── lite3dpp_vault_scene.cpp ├── sample_vault_room │ └── lite3dpp_vault_room.cpp ├── sample_viewer │ └── lite3dpp_viewer.cpp └── sample_warship │ └── lite3dpp_main.cpp ├── tests ├── CMakeLists.txt ├── functionaly │ ├── CMakeLists.txt │ ├── lite3d_common_test.cpp │ ├── lite3d_common_test.h │ ├── lite3d_cubemap_test.cpp │ ├── lite3d_file_cache_test.cpp │ ├── lite3d_light_source.cpp │ ├── lite3d_m_compare.cpp │ ├── lite3d_vbo_test.cpp │ ├── lite3dpp_conf_writer.cpp │ └── lite3dpp_main_test.cpp └── gtest │ ├── gtest │ ├── gtest-assertion-result.h │ ├── gtest-death-test.h │ ├── gtest-matchers.h │ ├── gtest-message.h │ ├── gtest-param-test.h │ ├── gtest-printers.h │ ├── gtest-spi.h │ ├── gtest-test-part.h │ ├── gtest-typed-test.h │ ├── gtest.h │ ├── gtest_pred_impl.h │ ├── gtest_prod.h │ └── internal │ │ ├── custom │ │ ├── README.md │ │ ├── gtest-port.h │ │ ├── gtest-printers.h │ │ └── gtest.h │ │ ├── gtest-death-test-internal.h │ │ ├── gtest-filepath.h │ │ ├── gtest-internal.h │ │ ├── gtest-param-util.h │ │ ├── gtest-port-arch.h │ │ ├── gtest-port.h │ │ ├── gtest-string.h │ │ └── gtest-type-util.h │ └── src │ ├── gtest-all.cc │ ├── gtest-assertion-result.cc │ ├── gtest-death-test.cc │ ├── gtest-filepath.cc │ ├── gtest-internal-inl.h │ ├── gtest-matchers.cc │ ├── gtest-port.cc │ ├── gtest-printers.cc │ ├── gtest-test-part.cc │ ├── gtest-typed-test.cc │ ├── gtest.cc │ └── gtest_main.cc ├── tools ├── CMakeLists.txt ├── blender │ ├── README.md │ ├── custom_props.png │ ├── io_scene_lite3d │ │ ├── __init__.py │ │ ├── export.py │ │ ├── image.py │ │ ├── io.py │ │ ├── logger.py │ │ ├── material.py │ │ ├── mesh.py │ │ ├── mesh_chunk.py │ │ └── scene.py │ ├── origin_prop.png │ └── params.png ├── cacl_attenuation.py ├── convert_scene_json.py └── mtool │ ├── mtool_command.cpp │ ├── mtool_command.h │ ├── mtool_converter.cpp │ ├── mtool_converter.h │ ├── mtool_create_dirs.cpp │ ├── mtool_create_dirs.h │ ├── mtool_generator.cpp │ ├── mtool_generator.h │ ├── mtool_m_info.cpp │ ├── mtool_m_info.h │ ├── mtool_main.cpp │ ├── mtool_utils.cpp │ └── mtool_utils.h ├── vcpkg-configuration.json ├── vcpkg.json └── winres ├── Resource.rc ├── ResourceSample.rc ├── resource.h └── samples.ico /.gitattributes: -------------------------------------------------------------------------------- 1 | *.ps diff 2 | *.vs diff 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/* 2 | build_clang/* 3 | .vscode/* 4 | .cache/* 5 | media/*.log 6 | nsight/* 7 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "vcpkg"] 2 | path = vcpkg 3 | url = git@github.com:microsoft/vcpkg.git 4 | -------------------------------------------------------------------------------- /CMake/x64-linux-custom-static.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | set(VCPKG_CMAKE_SYSTEM_NAME Linux) 5 | 6 | if(PORT MATCHES "devil") 7 | set(VCPKG_LIBRARY_LINKAGE dynamic) 8 | endif() 9 | 10 | if(PORT MATCHES "sdl2") 11 | set(VCPKG_LIBRARY_LINKAGE dynamic) 12 | endif() 13 | 14 | if(PORT MATCHES "assimp") 15 | set(VCPKG_LIBRARY_LINKAGE dynamic) 16 | endif() 17 | 18 | -------------------------------------------------------------------------------- /CMake/x64-windows-custom-static.cmake: -------------------------------------------------------------------------------- 1 | set(VCPKG_TARGET_ARCHITECTURE x64) 2 | set(VCPKG_CRT_LINKAGE dynamic) 3 | set(VCPKG_LIBRARY_LINKAGE static) 4 | 5 | if(PORT MATCHES "devil") 6 | set(VCPKG_LIBRARY_LINKAGE dynamic) 7 | endif() 8 | 9 | if(PORT MATCHES "sdl2") 10 | set(VCPKG_LIBRARY_LINKAGE dynamic) 11 | endif() 12 | 13 | if(PORT MATCHES "assimp") 14 | set(VCPKG_LIBRARY_LINKAGE dynamic) 15 | endif() 16 | 17 | -------------------------------------------------------------------------------- /CMakePresets.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 4, 3 | "cmakeMinimumRequired": { 4 | "major": 3, 5 | "minor": 23, 6 | "patch": 0 7 | }, 8 | "include": [ 9 | "CMake/ConfigurePresets.json" 10 | ] 11 | } -------------------------------------------------------------------------------- /build_win_2022.bat: -------------------------------------------------------------------------------- 1 | if not exist build mkdir build 2 | cmake --preset=Windows64_vcpkg -DCMAKE_BUILD_TYPE=Release 3 | cmake --build build --config Release -------------------------------------------------------------------------------- /deps/Assimp/include/assimp/.editorconfig: -------------------------------------------------------------------------------- 1 | # See for details 2 | 3 | [*.{h,hpp,inl}] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | trim_trailing_whitespace = true 7 | indent_size = 4 8 | indent_style = space 9 | -------------------------------------------------------------------------------- /deps/Assimp/lib/x64/assimp-vc143-mt.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/Assimp/lib/x64/assimp-vc143-mt.dll -------------------------------------------------------------------------------- /deps/Assimp/lib/x64/assimp-vc143-mt.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/Assimp/lib/x64/assimp-vc143-mt.lib -------------------------------------------------------------------------------- /deps/DevIL/include/IL/DevIL.i: -------------------------------------------------------------------------------- 1 | %module DevIL 2 | %{ 3 | #include "il.h" 4 | #include "ilu.h" 5 | #include "ilut.h" 6 | //#include "ilu_region.h" 7 | %} 8 | 9 | %include "il.h" 10 | %include "ilu.h" 11 | %include "ilut.h" 12 | //%include "ilu_region.h" 13 | 14 | -------------------------------------------------------------------------------- /deps/DevIL/include/IL/build-python: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | IL_INCLUDE_PATH="/usr/local/include" 4 | IL_LIB_PATH="/usr/local/lib" 5 | PYTHON_INCLUDE_PATH="/usr/include/python2.5" 6 | 7 | swig "-I$IL_INCLUDE_PATH" -python -interface DevIL DevIL.i 8 | if [ $? -ne 0 ] ; then 9 | echo Error while building the swig interface 10 | exit 1 11 | fi 12 | 13 | gcc -shared "-I$IL_INCLUDE_PATH" "-I$PYTHON_INCLUDE_PATH" "-L$IL_LIB_PATH" -lIL -lILU -lILUT DevIL_wrap.c -o DevIL.so 14 | if [ $? -ne 0 ] ; then 15 | echo Error while compiling the python module 16 | fi 17 | echo "DevIL.py and DevIL.so are ready" 18 | -------------------------------------------------------------------------------- /deps/DevIL/include/IL/ilu_region.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // ImageLib Utility Sources 4 | // Copyright (C) 2000-2002 by Denton Woods 5 | // Last modified: 07/09/2002 <--Y2K Compliant! =] 6 | // 7 | // Filename: src-ILU/src/ilu_region.h 8 | // 9 | // Description: Creates an image region. 10 | // 11 | //----------------------------------------------------------------------------- 12 | 13 | #ifndef ILU_REGION_H 14 | #define ILU_REGION_H 15 | 16 | typedef struct Edge 17 | { 18 | ILint yUpper; 19 | ILfloat xIntersect, dxPerScan; 20 | struct Edge *next; 21 | } Edge; 22 | 23 | 24 | #endif//ILU_REGION_H 25 | 26 | -------------------------------------------------------------------------------- /deps/DevIL/include/IL/ilut_config.h: -------------------------------------------------------------------------------- 1 | #ifndef __ILUT_CONFIG_H__ 2 | #define __ILUT_CONFIG_H__ 3 | 4 | //#define IL_USE_PRAGMA_LIBS 5 | 6 | // Supported APIs (ILUT) 7 | 8 | // 9 | // sorry just 10 | // cant get this one to work under windows 11 | // have disabled for the now 12 | // 13 | // will look at it some more later 14 | // 15 | // Kriss 16 | // 17 | #undef ILUT_USE_ALLEGRO 18 | 19 | #undef ILUT_USE_DIRECTX8 20 | //#define ILUT_USE_DIRECTX9 21 | //#define ILUT_USE_DIRECTX10 22 | #define ILUT_USE_OPENGL 23 | //#define ILUT_USE_SDL 24 | #define ILUT_USE_WIN32 25 | 26 | #endif//__ILUT_CONFIG_H__ 27 | -------------------------------------------------------------------------------- /deps/DevIL/include/IL/stamp-h.in: -------------------------------------------------------------------------------- 1 | timestamp 2 | -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/Release/DevIL.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/Release/DevIL.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/Release/ILU.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/Release/ILU.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/Release/ILUT.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/Release/ILUT.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/unicode/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/unicode/Release/DevIL.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/unicode/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/unicode/Release/DevIL.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/unicode/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/unicode/Release/ILU.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/unicode/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/unicode/Release/ILU.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/unicode/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/unicode/Release/ILUT.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x64/unicode/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x64/unicode/Release/ILUT.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/Release/DevIL.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/Release/DevIL.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/Release/ILU.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/Release/ILU.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/Release/ILUT.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/Release/ILUT.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/unicode/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/unicode/Release/DevIL.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/unicode/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/unicode/Release/DevIL.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/unicode/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/unicode/Release/ILU.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/unicode/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/unicode/Release/ILU.lib -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/unicode/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/unicode/Release/ILUT.dll -------------------------------------------------------------------------------- /deps/DevIL/lib/x86/unicode/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/DevIL/lib/x86/unicode/Release/ILUT.lib -------------------------------------------------------------------------------- /deps/SDL2/BUGS.txt: -------------------------------------------------------------------------------- 1 | 2 | Bugs are now managed in the SDL bug tracker, here: 3 | 4 | https://bugzilla.libsdl.org/ 5 | 6 | You may report bugs there, and search to see if a given issue has already 7 | been reported, discussed, and maybe even fixed. 8 | 9 | 10 | You may also find help at the SDL forums/mailing list: 11 | 12 | https://discourse.libsdl.org/ 13 | 14 | Bug reports are welcome here, but we really appreciate if you use Bugzilla, as 15 | bugs discussed on the mailing list may be forgotten or missed. 16 | 17 | -------------------------------------------------------------------------------- /deps/SDL2/README-SDL.txt: -------------------------------------------------------------------------------- 1 | 2 | Please distribute this file with the SDL runtime environment: 3 | 4 | The Simple DirectMedia Layer (SDL for short) is a cross-platform library 5 | designed to make it easy to write multi-media software, such as games 6 | and emulators. 7 | 8 | The Simple DirectMedia Layer library source code is available from: 9 | https://www.libsdl.org/ 10 | 11 | This library is distributed under the terms of the zlib license: 12 | http://www.zlib.net/zlib_license.html 13 | 14 | -------------------------------------------------------------------------------- /deps/SDL2/README.txt: -------------------------------------------------------------------------------- 1 | 2 | Simple DirectMedia Layer 3 | 4 | (SDL) 5 | 6 | Version 2.0 7 | 8 | --- 9 | https://www.libsdl.org/ 10 | 11 | Simple DirectMedia Layer is a cross-platform development library designed 12 | to provide low level access to audio, keyboard, mouse, joystick, and graphics 13 | hardware via OpenGL and Direct3D. It is used by video playback software, 14 | emulators, and popular games including Valve's award winning catalog 15 | and many Humble Bundle games. 16 | 17 | More extensive documentation is available in the docs directory, starting 18 | with README.md 19 | 20 | Enjoy! 21 | Sam Lantinga (slouken@libsdl.org) 22 | -------------------------------------------------------------------------------- /deps/SDL2/docs/README-platforms.md: -------------------------------------------------------------------------------- 1 | Platforms 2 | ========= 3 | 4 | We maintain the list of supported platforms on our wiki now, and how to 5 | build and install SDL for those platforms: 6 | 7 | https://wiki.libsdl.org/Installation 8 | 9 | -------------------------------------------------------------------------------- /deps/SDL2/docs/README-psp.md: -------------------------------------------------------------------------------- 1 | PSP 2 | ====== 3 | SDL port for the Sony PSP contributed by 4 | Captian Lex 5 | 6 | Credit to 7 | Marcus R.Brown,Jim Paris,Matthew H for the original SDL 1.2 for PSP 8 | Geecko for his PSP GU lib "Glib2d" 9 | 10 | Building 11 | -------- 12 | To build for the PSP, make sure psp-config is in the path and run: 13 | make -f Makefile.psp 14 | 15 | 16 | 17 | To Do 18 | ------ 19 | PSP Screen Keyboard 20 | -------------------------------------------------------------------------------- /deps/SDL2/docs/README-wince.md: -------------------------------------------------------------------------------- 1 | WinCE 2 | ===== 3 | 4 | Windows CE is no longer supported by SDL. 5 | 6 | We have left the CE support in SDL 1.2 for those that must have it, and we 7 | have support for Windows Phone 8 and WinRT in SDL2, as of SDL 2.0.3. 8 | 9 | --ryan. 10 | 11 | -------------------------------------------------------------------------------- /deps/SDL2/include/SDL_revision.h: -------------------------------------------------------------------------------- 1 | #define SDL_REVISION "hg-11914:f1084c419f33" 2 | #define SDL_REVISION_NUMBER 11914 3 | -------------------------------------------------------------------------------- /deps/SDL2/lib/x64/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/SDL2/lib/x64/SDL2.dll -------------------------------------------------------------------------------- /deps/SDL2/lib/x64/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/SDL2/lib/x64/SDL2.lib -------------------------------------------------------------------------------- /deps/SDL2/lib/x64/SDL2main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/SDL2/lib/x64/SDL2main.lib -------------------------------------------------------------------------------- /deps/SDL2/lib/x64/SDL2test.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/SDL2/lib/x64/SDL2test.lib -------------------------------------------------------------------------------- /deps/SDL2/lib/x86/SDL2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/SDL2/lib/x86/SDL2.dll -------------------------------------------------------------------------------- /deps/SDL2/lib/x86/SDL2.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/SDL2/lib/x86/SDL2.lib -------------------------------------------------------------------------------- /deps/SDL2/lib/x86/SDL2main.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/SDL2/lib/x86/SDL2main.lib -------------------------------------------------------------------------------- /deps/SDL2/lib/x86/SDL2test.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/SDL2/lib/x86/SDL2test.lib -------------------------------------------------------------------------------- /deps/freetype/win32/freetype.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/freetype/win32/freetype.dll -------------------------------------------------------------------------------- /deps/freetype/win32/freetype.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/freetype/win32/freetype.lib -------------------------------------------------------------------------------- /deps/freetype/win64/freetype.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/freetype/win64/freetype.dll -------------------------------------------------------------------------------- /deps/freetype/win64/freetype.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/deps/freetype/win64/freetype.lib -------------------------------------------------------------------------------- /lite3d/include/lite3d/7zdec/7zBuf.h: -------------------------------------------------------------------------------- 1 | /* 7zBuf.h -- Byte Buffer 2 | 2009-02-07 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __7Z_BUF_H 5 | #define __7Z_BUF_H 6 | 7 | #include "Types.h" 8 | 9 | typedef struct 10 | { 11 | Byte *data; 12 | size_t size; 13 | } CBuf; 14 | 15 | void Buf_Init(CBuf *p); 16 | int Buf_Create(CBuf *p, size_t size, ISzAlloc *alloc); 17 | void Buf_Free(CBuf *p, ISzAlloc *alloc); 18 | 19 | typedef struct 20 | { 21 | Byte *data; 22 | size_t size; 23 | size_t pos; 24 | } CDynBuf; 25 | 26 | void DynBuf_Construct(CDynBuf *p); 27 | void DynBuf_SeekToBeg(CDynBuf *p); 28 | int DynBuf_Write(CDynBuf *p, const Byte *buf, size_t size, ISzAlloc *alloc); 29 | void DynBuf_Free(CDynBuf *p, ISzAlloc *alloc); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /lite3d/include/lite3d/7zdec/7zCrc.h: -------------------------------------------------------------------------------- 1 | /* 7zCrc.h -- CRC32 calculation 2 | 2009-11-21 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __7Z_CRC_H 5 | #define __7Z_CRC_H 6 | 7 | #include "Types.h" 8 | 9 | extern UInt32 g_CrcTable[]; 10 | 11 | /* Call CrcGenerateTable one time before other CRC functions */ 12 | void MY_FAST_CALL CrcGenerateTable(void); 13 | 14 | #define CRC_INIT_VAL 0xFFFFFFFF 15 | #define CRC_GET_DIGEST(crc) ((crc) ^ CRC_INIT_VAL) 16 | #define CRC_UPDATE_BYTE(crc, b) (g_CrcTable[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8)) 17 | 18 | UInt32 MY_FAST_CALL CrcUpdate(UInt32 crc, const void *data, size_t size); 19 | UInt32 MY_FAST_CALL CrcCalc(const void *data, size_t size); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /lite3d/include/lite3d/7zdec/7zVersion.h: -------------------------------------------------------------------------------- 1 | #define MY_VER_MAJOR 9 2 | #define MY_VER_MINOR 20 3 | #define MY_VER_BUILD 0 4 | #define MY_VERSION "9.20" 5 | #define MY_DATE "2010-11-18" 6 | #define MY_COPYRIGHT ": Igor Pavlov : Public domain" 7 | #define MY_VERSION_COPYRIGHT_DATE MY_VERSION " " MY_COPYRIGHT " : " MY_DATE 8 | -------------------------------------------------------------------------------- /lite3d/include/lite3d/kazmath/ray3.h: -------------------------------------------------------------------------------- 1 | #ifndef RAY3_H 2 | #define RAY3_H 3 | 4 | #include "utility.h" 5 | #include "vec3.h" 6 | 7 | typedef struct kmRay3 { 8 | kmVec3 start; 9 | kmVec3 dir; 10 | } kmRay3; 11 | 12 | struct kmPlane; 13 | 14 | LITE3D_CEXPORT kmRay3* kmRay3Fill(kmRay3* ray, kmScalar px, kmScalar py, kmScalar pz, kmScalar vx, kmScalar vy, kmScalar vz); 15 | LITE3D_CEXPORT kmRay3* kmRay3FromPointAndDirection(kmRay3* ray, const kmVec3* point, const kmVec3* direction); 16 | LITE3D_CEXPORT kmBool kmRay3IntersectPlane(kmVec3* pOut, const kmRay3* ray, const struct kmPlane* plane); 17 | 18 | #endif /* RAY3_H */ 19 | -------------------------------------------------------------------------------- /lite3d/src/7zdec/7zBuf.c: -------------------------------------------------------------------------------- 1 | /* 7zBuf.c -- Byte Buffer 2 | 2008-03-28 3 | Igor Pavlov 4 | Public domain */ 5 | 6 | #include "7zBuf.h" 7 | 8 | void Buf_Init(CBuf *p) 9 | { 10 | p->data = 0; 11 | p->size = 0; 12 | } 13 | 14 | int Buf_Create(CBuf *p, size_t size, ISzAlloc *alloc) 15 | { 16 | p->size = 0; 17 | if (size == 0) 18 | { 19 | p->data = 0; 20 | return 1; 21 | } 22 | p->data = (Byte *)alloc->Alloc(alloc, size); 23 | if (p->data != 0) 24 | { 25 | p->size = size; 26 | return 1; 27 | } 28 | return 0; 29 | } 30 | 31 | void Buf_Free(CBuf *p, ISzAlloc *alloc) 32 | { 33 | alloc->Free(alloc, p->data); 34 | p->data = 0; 35 | p->size = 0; 36 | } 37 | -------------------------------------------------------------------------------- /lite3dpp_font/include/log/logger.h: -------------------------------------------------------------------------------- 1 | #ifndef NWE_LOGGER_H 2 | #define NWE_LOGGER_H 3 | 4 | namespace nw 5 | { 6 | class Logger 7 | { 8 | public: 9 | enum Level 10 | { 11 | Info, 12 | Error, 13 | Warning, 14 | Debug 15 | }; 16 | 17 | public: 18 | virtual void log( 19 | Level _level, 20 | const char* _msg, 21 | const char* _function, 22 | const char* _file, 23 | int _line) = 0; 24 | }; 25 | } 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /lite3dpp_font/include/pos2d.h: -------------------------------------------------------------------------------- 1 | #ifndef NWE_POS2D_H 2 | #define NWE_POS2D_H 3 | 4 | namespace nw 5 | { 6 | template 7 | struct Pos2d 8 | { 9 | T x, y; 10 | 11 | Pos2d() : 12 | x(0), y(0) 13 | {} 14 | 15 | Pos2d(T _x, T _y) : 16 | x(_x), y(_y) 17 | {} 18 | 19 | void set(T _x=0, T _y=0) 20 | { 21 | x = _x; 22 | y = _y; 23 | } 24 | 25 | void add(T _x, T _y) 26 | { 27 | x += _x; 28 | y += _y; 29 | } 30 | }; 31 | } 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /lite3dpp_font/include/utils.h: -------------------------------------------------------------------------------- 1 | #ifndef NWE_UTILS_H 2 | #define NWE_UTILS_H 3 | 4 | #include 5 | 6 | namespace nw 7 | { 8 | std::string ReadFileFromString(const std::string& _fname); 9 | std::string& Replace(std::string& _where, const std::string& _what, const std::string& _to); 10 | std::string& LTrim(std::string& _str, const std::string& _what); 11 | std::string& Trim(std::string& _str, const std::string& _what); 12 | } 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /media/packs/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | -------------------------------------------------------------------------------- /media/samples/fonts/arial.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/fonts/arial.ttf -------------------------------------------------------------------------------- /media/samples/materials/CommonMaterialTemplate.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass": 1, 5 | "Program": { 6 | "Name":"basic_shading_solid_light.program", 7 | "Path":"samples:shaders/json/basic_shading_solid_light.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"modelMatrix" 20 | }, 21 | { 22 | "Name":"" 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /media/samples/materials/CommonMaterialTemplateEmision.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass": 1, 5 | "Program": { 6 | "Name":"basic_shading_solid_color.program", 7 | "Path":"samples:shaders/json/basic_shading_solid_color.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"modelMatrix" 20 | }, 21 | { 22 | "Name":"" 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /media/samples/materials/CoordArrows.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes": [ 3 | { 4 | "Pass": 1, 5 | "Program": { 6 | "Name": "coord_arrows.program", 7 | "Path": "samples:shaders/json/coord_arrows.json" 8 | } 9 | } 10 | ], 11 | "Uniforms": [ 12 | { 13 | "Name": "projViewMatrix" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /media/samples/materials/battery.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes": 3 | [ 4 | { 5 | "Pass": 1, 6 | "Program": 7 | { 8 | "Name": "BasicShading", 9 | "Path": "samples:shaders/json/basic_shading_albedo.json" 10 | }, 11 | "Uniforms": 12 | [ 13 | { "Name": "projectionMatrix" }, 14 | { "Name": "modelMatrix" }, 15 | { "Name": "viewMatrix" }, 16 | 17 | { 18 | "Name": "Albedo", 19 | "Type": "sampler", 20 | "TextureName": "battery.texture", 21 | "TexturePath": "samples:textures/json/plasmagun_c.json" 22 | } 23 | ] 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /media/samples/materials/ceiling.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"basic_shading_light.program", 7 | "Path":"samples:shaders/json/basic_shading_light.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"modelMatrix" 20 | }, 21 | { 22 | "Name":"Albedo", 23 | "TextureName":"sponza_ceiling_a_diff.texture", 24 | "TexturePath":"sponza:textures/json/sponza_ceiling_a_diff.json", 25 | "Type":"sampler" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /media/samples/materials/cube1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"cube_gen.program", 7 | "Path":"samples:shaders/json/cube_gen.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"Albedo", 20 | "TextureName":"box1.texture", 21 | "TexturePath":"samples:textures/json/box1.json", 22 | "Type":"sampler" 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /media/samples/materials/cube2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"cube_gen.program", 7 | "Path":"samples:shaders/json/cube_gen.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"Albedo", 20 | "TextureName":"box2.texture", 21 | "TexturePath":"samples:textures/json/box2.json", 22 | "Type":"sampler" 23 | } 24 | ] 25 | } -------------------------------------------------------------------------------- /media/samples/materials/minigun.json: -------------------------------------------------------------------------------- 1 | { 2 | "Uniforms": 3 | [ 4 | { "Name": "projectionMatrix" }, 5 | { "Name": "modelMatrix" }, 6 | { "Name": "viewMatrix" }, 7 | 8 | { 9 | "Name": "Albedo", 10 | "Type": "sampler", 11 | "TextureName": "minigun.texture", 12 | "TexturePath": "samples:textures/json/minigun.json" 13 | } 14 | ], 15 | 16 | "Passes": 17 | [ 18 | { 19 | "Pass": 1, 20 | "Program": 21 | { 22 | "Name": "BasicShading", 23 | "Path": "samples:shaders/json/basic_shading_albedo.json" 24 | } 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /media/samples/materials/plasmagun_a.json: -------------------------------------------------------------------------------- 1 | { 2 | "Uniforms": 3 | [ 4 | { "Name": "projectionMatrix" }, 5 | { "Name": "modelMatrix" }, 6 | { "Name": "viewMatrix" }, 7 | 8 | { 9 | "Name": "Albedo", 10 | "Type": "sampler", 11 | "TextureName": "plasmagun_a.texture", 12 | "TexturePath": "samples:textures/json/plasmagun_a.json" 13 | } 14 | ], 15 | 16 | "Passes": 17 | [ 18 | { 19 | "Pass": 1, 20 | "Program": 21 | { 22 | "Name": "BasicShading", 23 | "Path": "samples:shaders/json/basic_shading_albedo.json" 24 | } 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /media/samples/materials/plasmagun_b.json: -------------------------------------------------------------------------------- 1 | { 2 | "Uniforms": 3 | [ 4 | { "Name": "projectionMatrix" }, 5 | { "Name": "modelMatrix" }, 6 | { "Name": "viewMatrix" }, 7 | 8 | { 9 | "Name": "Albedo", 10 | "Type": "sampler", 11 | "TextureName": "plasmagun_b.texture", 12 | "TexturePath": "samples:textures/json/plasmagun_b.json" 13 | } 14 | ], 15 | 16 | "Passes": 17 | [ 18 | { 19 | "Pass": 1, 20 | "Program": 21 | { 22 | "Name": "BasicShading", 23 | "Path": "samples:shaders/json/basic_shading_albedo.json" 24 | } 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /media/samples/materials/plasmagun_c.json: -------------------------------------------------------------------------------- 1 | { 2 | "Uniforms": 3 | [ 4 | { "Name": "projectionMatrix" }, 5 | { "Name": "modelMatrix" }, 6 | { "Name": "viewMatrix" }, 7 | 8 | { 9 | "Name": "Albedo", 10 | "Type": "sampler", 11 | "TextureName": "plasmagun_c.texture", 12 | "TexturePath": "samples:textures/json/plasmagun_c.json" 13 | } 14 | ], 15 | 16 | "Passes": 17 | [ 18 | { 19 | "Pass": 1, 20 | "Program": 21 | { 22 | "Name": "BasicShading", 23 | "Path": "samples:shaders/json/basic_shading_albedo.json" 24 | } 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /media/samples/materials/render512x512.json: -------------------------------------------------------------------------------- 1 | { 2 | "Uniforms": 3 | [ 4 | { "Name": "projectionMatrix" }, 5 | { "Name": "modelMatrix" }, 6 | { "Name": "viewMatrix" }, 7 | 8 | { 9 | "Name": "Albedo", 10 | "Type": "sampler", 11 | "TextureName": "color512x512.texture", 12 | "TexturePath": "samples:textures/json/color512x512.json" 13 | } 14 | ], 15 | 16 | "Passes": 17 | [ 18 | { 19 | "Pass": 1, 20 | "Program": 21 | { 22 | "Name": "BasicShadingNoNormals", 23 | "Path": "samples:shaders/json/basic_shading_no_normals.json" 24 | } 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /media/samples/materials/skycube.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1, 5 | "Program":{ 6 | "Name":"skybox.program", 7 | "Path":"samples:shaders/json/skybox.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"screenMatrix" 14 | }, 15 | { 16 | "Name":"skybox", 17 | "TextureName":"skybox.texture", 18 | "TexturePath":"samples:textures/json/skybox.json", 19 | "Type":"sampler" 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /media/samples/materials/vfloor.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"basic_shading_light.program", 7 | "Path":"samples:shaders/json/basic_shading_light.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"modelMatrix" 20 | }, 21 | { 22 | "Name":"Albedo", 23 | "TextureName":"vfloor03.texture", 24 | "TexturePath":"samples:textures/json/vfloor03.json", 25 | "Type":"sampler" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /media/samples/models/json/BigTriangle.json: -------------------------------------------------------------------------------- 1 | { 2 | "Model":"BigTriangle", 3 | "Dynamic": false 4 | } -------------------------------------------------------------------------------- /media/samples/models/json/ComplexShape.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec": "m", 3 | "Model": "samples:models/meshes/ComplexShape.m", 4 | "MaterialMapping": [ 5 | { 6 | "Material": { 7 | "Name": "reflection.material", 8 | "Material": "samples:materials/reflection.json" 9 | }, 10 | "MaterialIndex": 0 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /media/samples/models/json/CoordArrows.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec": "m", 3 | "Model": "samples:models/meshes/CoordArrows.m", 4 | "MaterialMapping": [ 5 | { 6 | "Material": { 7 | "Name": "CoordArrows.material", 8 | "Material": "samples:materials/CoordArrows.json" 9 | }, 10 | "MaterialIndex": 0 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /media/samples/models/json/Ground.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec":"m", 3 | "MaterialMapping":[ 4 | { 5 | "Material":{ 6 | "Material":"samples:materials/vfloor03.json", 7 | "Name":"vfloor03.material" 8 | }, 9 | "MaterialIndex":2.0000000000 10 | } 11 | ], 12 | "Model":"samples:models/meshes/Ground.m" 13 | } -------------------------------------------------------------------------------- /media/samples/models/json/SKL_Robot.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec":"m", 3 | "MaterialMapping":[ 4 | { 5 | "Material":{ 6 | "Material":"samples:materials/T_UberWalker_Dif.json", 7 | "Name":"T_UberWalker_Dif.material" 8 | }, 9 | "MaterialIndex":0.0000000000 10 | }, 11 | { 12 | "Material":{ 13 | "Material":"samples:materials/Robot_Boss_Uberwalker_Loadout_DIF00.json", 14 | "Name":"Robot_Boss_Uberwalker_Loadout_DIF00.material" 15 | }, 16 | "MaterialIndex":1.0000000000 17 | } 18 | ], 19 | "Model":"samples:models/meshes/SKL_Robot.m" 20 | } -------------------------------------------------------------------------------- /media/samples/models/json/battery.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec": "m", 3 | "Model": "samples:models/meshes/battery.m", 4 | 5 | "MaterialMapping": 6 | [ 7 | { 8 | "MaterialIndex": 0, 9 | "Material": 10 | { 11 | "Name": "mat_plasmagun_bat", 12 | "Material": "samples:materials/battery.json" 13 | } 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /media/samples/models/json/cube.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec": "m", 3 | "Model": "samples:models/meshes/cube.m" 4 | } 5 | -------------------------------------------------------------------------------- /media/samples/models/json/cube80.json: -------------------------------------------------------------------------------- 1 | { 2 | "Model": "Array", 3 | "Dynamic": false, 4 | "Data": [ // data for cube generation in geometry shader 5 | { 6 | "Point": [0, 0, 0] // it may be cube center 7 | }, 8 | { 9 | "Point": [80, 80, 80] // it may be sizes 10 | }, 11 | { 12 | "Point": [0, 0, 0] // it is empty, 3 points must be at least 13 | } 14 | ], 15 | "BBMin": [-40, -40, -40], // Bouding box min coord 16 | "BBMax": [40, 40, 40] // // Bouding box max coord 17 | } 18 | -------------------------------------------------------------------------------- /media/samples/models/json/minigun.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec": "m", 3 | "Model": "samples:models/meshes/minigun.m", 4 | 5 | "MaterialMapping": 6 | [ 7 | { 8 | "MaterialIndex": 0, 9 | "Material": 10 | { 11 | "Name": "mat_minigun", 12 | "Material": "samples:materials/minigun.json" 13 | } 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /media/samples/models/json/plain256x128.json: -------------------------------------------------------------------------------- 1 | { 2 | "Model": "Plane", 3 | "PlainSize": [ 256, 128 ] 4 | } 5 | -------------------------------------------------------------------------------- /media/samples/models/json/plain512x512.json: -------------------------------------------------------------------------------- 1 | { 2 | "Model": "Plane", 3 | "PlainSize": [ 512, 512 ] 4 | } 5 | -------------------------------------------------------------------------------- /media/samples/models/json/skybox.json: -------------------------------------------------------------------------------- 1 | { 2 | "Model": "Skybox", 3 | "Size": [2, 2, 2] 4 | } 5 | -------------------------------------------------------------------------------- /media/samples/models/meshes/ComplexShape.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/ComplexShape.m -------------------------------------------------------------------------------- /media/samples/models/meshes/CoordArrows.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/CoordArrows.m -------------------------------------------------------------------------------- /media/samples/models/meshes/Ground.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/Ground.m -------------------------------------------------------------------------------- /media/samples/models/meshes/SKL_Robot.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/SKL_Robot.m -------------------------------------------------------------------------------- /media/samples/models/meshes/battery.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/battery.m -------------------------------------------------------------------------------- /media/samples/models/meshes/cube.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/cube.m -------------------------------------------------------------------------------- /media/samples/models/meshes/glasstube.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/glasstube.m -------------------------------------------------------------------------------- /media/samples/models/meshes/minigun.3ds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/minigun.3ds -------------------------------------------------------------------------------- /media/samples/models/meshes/minigun.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/minigun.m -------------------------------------------------------------------------------- /media/samples/models/meshes/plasmagun.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/plasmagun.m -------------------------------------------------------------------------------- /media/samples/models/meshes/plasmarif.3ds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/models/meshes/plasmarif.3ds -------------------------------------------------------------------------------- /media/samples/objects/ComplexShape.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": { 3 | "Name": "ComplexShape", 4 | "Mesh": { 5 | "Mesh": "samples:models/json/ComplexShape.json", 6 | "Name": "ComplexShape.mesh" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /media/samples/objects/box_rtt.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": 3 | { 4 | "Name": "box.root", 5 | "Position": [0,0,0], 6 | "Rotation": [0,0,0,1], 7 | "Scale": [1,1,1], 8 | 9 | "Nodes": [ 10 | { 11 | "Name": "box.node", 12 | "FrustumTest":false, 13 | "Mesh": 14 | { 15 | "Name": "box.mesh", 16 | "Mesh": "samples:models/json/cube.json", 17 | "MaterialMapping": 18 | [ 19 | { 20 | "MaterialIndex": 0, 21 | "Material": 22 | { 23 | "Name": "render512x512.material", 24 | "Material": "samples:materials/render512x512.json" 25 | } 26 | } 27 | ] 28 | }, 29 | "Position": [0,0,0], 30 | "Rotation": [0,0,0,1], 31 | "Scale": [1,1,1] 32 | } 33 | ] 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /media/samples/objects/coord_arrows.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": { 3 | "Name": "CoordArrows", 4 | "FrustumTest":false, 5 | "Mesh": { 6 | "Mesh": "samples:models/json/CoordArrows.json", 7 | "Name": "CoordArrows.mesh" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /media/samples/objects/light_spark.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": 3 | { 4 | "Name": "PointLightSpark.root", 5 | "Nodes": [ 6 | { 7 | "Name": "PointLightSpark.node", 8 | "FrustumTest":false, 9 | "Light": { 10 | "Type": "Point", 11 | "Name": "PointLightSpark", 12 | "Diffuse": [ 13 | 1.0, 14 | 0.913, 15 | 0.678 16 | ], 17 | "Attenuation": { 18 | "Constant": 1.0, 19 | "InfluenceMinRadiance": 0.005 20 | } 21 | } 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /media/samples/objects/minigun.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": 3 | { 4 | "Name": "Minigun.root", 5 | "Position": { "x": 0, "y": 0, "z": 0 }, 6 | "Rotation": { "x": 0, "y": 0, "z": 0, "w": 1 }, 7 | "Scale": { "x": 1, "y": 1, "z": 1 }, 8 | 9 | "Nodes": [ 10 | { 11 | "Name": "Minigun.node", 12 | "Mesh": 13 | { 14 | "Name": "minigun.mesh", 15 | "Mesh": "samples:models/json/minigun.json" 16 | }, 17 | "Position": [0,0,0], 18 | "Rotation": [0,0,0,1], 19 | "Scale": [1,1,1] 20 | } 21 | ] 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /media/samples/objects/plasma.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": 3 | { 4 | "Name": "Plasmagun.root", 5 | "Nodes": 6 | [ 7 | { 8 | "Name": "Plasmagun.node", 9 | "Mesh": 10 | { 11 | "Name": "plasmagun.mesh", 12 | "Mesh": "samples:models/json/plasmagun.json" 13 | }, 14 | 15 | "Nodes": 16 | [ 17 | { 18 | "Name": "PlasmaBattery.node", 19 | "Mesh": 20 | { 21 | "Name": "plasmabatt.mesh", 22 | "Mesh": "samples:models/json/battery.json" 23 | } 24 | } 25 | ] 26 | } 27 | ] 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /media/samples/objects/sunlight.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": 3 | { 4 | "Name": "SunLight.root", 5 | "Nodes": [ 6 | { 7 | "Name": "SunLight.node", 8 | "FrustumTest":false, 9 | "Light": { 10 | "Type": "Directional", 11 | "Name": "SunLight", 12 | "Diffuse": [ 13 | 1.0, 14 | 1.0, 15 | 1.0 16 | ], 17 | "Direction": [ 18 | 0.0, 19 | 0.0, 20 | -1.0 21 | ] 22 | } 23 | } 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /media/samples/scenes/empty.json: -------------------------------------------------------------------------------- 1 | { 2 | "Cameras": 3 | [ 4 | { 5 | "Name": "MyCamera", 6 | 7 | "Position": [400,400,400], 8 | "LookAt": [0,0,0], 9 | "Perspective": 10 | { 11 | "Znear": 10, 12 | "Zfar": 8000, 13 | "Fov": 60 14 | }, 15 | "RenderTargets": 16 | [ 17 | { 18 | "Name": "Window", 19 | "Priority": 0, 20 | "TexturePass": 1, 21 | "RenderInstancing": true 22 | } 23 | ] 24 | } 25 | ] 26 | } 27 | 28 | -------------------------------------------------------------------------------- /media/samples/scenes/robots.json: -------------------------------------------------------------------------------- 1 | { 2 | "Cameras": 3 | [ 4 | { 5 | "Name": "MyCamera", 6 | 7 | "Position": [0,-500,100], 8 | "LookAt": [0,0,200], 9 | "Perspective": 10 | { 11 | "Znear": 10, 12 | "Zfar": 8000, 13 | "Fov": 60 14 | }, 15 | "RenderTargets": 16 | [ 17 | { 18 | "Name": "Window", 19 | "Priority": 0, 20 | "TexturePass": 1 21 | } 22 | ] 23 | } 24 | ], 25 | 26 | "Objects": 27 | [ 28 | { 29 | "Name": "InstancedRobot", 30 | "Object": "samples:objects/robot.json", 31 | 32 | "Position": [0,0,0], 33 | "Rotation": [0,0,0,1], 34 | "Scale": [1,1,1] 35 | } 36 | ] 37 | } 38 | 39 | -------------------------------------------------------------------------------- /media/samples/scenes/scene_rtt_box.json: -------------------------------------------------------------------------------- 1 | { 2 | "Cameras": 3 | [ 4 | { 5 | "Name": "MyCamera", 6 | 7 | "Position": [0,70,70], 8 | "LookAt": [0,0,0], 9 | "Perspective": 10 | { 11 | "Znear": 0.1, 12 | "Zfar": 3000, 13 | "Fov": 45 14 | }, 15 | 16 | "RenderTargets": 17 | [ 18 | { 19 | "Name": "Window", 20 | "Priority": 0, 21 | "TexturePass": 1 22 | } 23 | ] 24 | } 25 | ], 26 | 27 | "Objects": 28 | [ 29 | { 30 | "Name": "Box", 31 | "Object": "samples:objects/box_rtt.json", 32 | "Scale": [30, 30, 30] 33 | } 34 | ] 35 | } 36 | 37 | -------------------------------------------------------------------------------- /media/samples/shaders/json/basic_shading_albedo.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/common/transform.vs", 5 | "samples:shaders/sources/basic_shading.vs", 6 | "samples:shaders/sources/basic_shading_albedo.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/shaders/json/basic_shading_light.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/common/transform.vs", 5 | "samples:shaders/sources/basic_shading.vs", 6 | "samples:shaders/sources/basic_shading_light.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/shaders/json/basic_shading_light_alpha.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/common/transform.vs", 5 | "samples:shaders/sources/basic_shading.vs", 6 | "samples:shaders/sources/basic_shading_light_alpha.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/shaders/json/basic_shading_no_normals.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/common/transform.vs", 5 | "samples:shaders/sources/basic_shading_no_normals.vs", 6 | "samples:shaders/sources/basic_shading_albedo.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/shaders/json/basic_shading_solid_color.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/common/transform.vs", 5 | "samples:shaders/sources/basic_shading.vs", 6 | "samples:shaders/sources/basic_shading_solid_color.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/shaders/json/basic_shading_solid_light.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/common/transform.vs", 5 | "samples:shaders/sources/basic_shading.vs", 6 | "samples:shaders/sources/basic_shading_solid_light.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/shaders/json/coord_arrows.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/coord_arrows.vs", 5 | "samples:shaders/sources/coord_arrows.fs" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /media/samples/shaders/json/cube_gen.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/basic_shading_instanced_no_normals.vs", 5 | "samples:shaders/sources/cube_generator.gs", 6 | "samples:shaders/sources/basic_shading_light.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/shaders/json/reflection_cube.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/common/transform.vs", 5 | "samples:shaders/sources/basic_shading.vs", 6 | "samples:shaders/sources/reflection_cube.fs" 7 | ] 8 | } -------------------------------------------------------------------------------- /media/samples/shaders/json/robots_floor.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/common/transform.vs", 5 | "samples:shaders/sources/basic_shading.vs", 6 | "samples:shaders/sources/basic_shading_fog.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/shaders/json/robots_inst.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/common/transform.vs", 5 | "samples:shaders/sources/vertex_instancing.vs", 6 | "samples:shaders/sources/basic_shading_fog.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/shaders/json/skybox.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/skybox.vs", 5 | "samples:shaders/sources/skybox.fs" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/antialiasing/fxaa_texcoords.vs: -------------------------------------------------------------------------------- 1 | // needed for compute fxaa 2 | void texcoords(vec2 fragCoord, vec2 resolution, 3 | out vec2 rgbNW, out vec2 rgbNE, 4 | out vec2 rgbSW, out vec2 rgbSE, 5 | out vec2 rgbM) 6 | { 7 | vec2 inverseVP = 1.0 / resolution.xy; 8 | rgbNW = (fragCoord + vec2(-1.0, -1.0)) * inverseVP; 9 | rgbNE = (fragCoord + vec2(1.0, -1.0)) * inverseVP; 10 | rgbSW = (fragCoord + vec2(-1.0, 1.0)) * inverseVP; 11 | rgbSE = (fragCoord + vec2(1.0, 1.0)) * inverseVP; 12 | rgbM = vec2(fragCoord * inverseVP); 13 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/basic_shading.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec4 v; 2 | layout(location = 1) in vec3 n; 3 | layout(location = 2) in vec2 tc; 4 | 5 | out vec2 uv; 6 | out vec3 wn; 7 | out vec3 wv; 8 | 9 | // common functions 10 | vec4 rtransform(vec4 v1); 11 | vec4 wtransform(vec4 v1); 12 | vec3 rntransform(vec3 normal); 13 | 14 | void main() 15 | { 16 | uv = tc; 17 | wn = rntransform(n); 18 | vec4 wvp = wtransform(v); 19 | wv = wvp.xyz / wvp.w; 20 | gl_Position = rtransform(v); 21 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/basic_shading_albedo.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D Albedo; 2 | 3 | in vec2 uv; 4 | out vec4 fragcolor; 5 | 6 | void main() 7 | { 8 | fragcolor = texture(Albedo, uv.st); 9 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/basic_shading_fog.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D Albedo; 2 | uniform vec4 fogColor; 3 | 4 | in vec2 uv; 5 | in vec3 wn; 6 | 7 | out vec4 fragcolor; 8 | 9 | vec4 fColor; 10 | float density = 0.0005; 11 | const float LOG2 = 1.442695; 12 | 13 | void main() 14 | { 15 | vec3 lightDir = vec3(-1.0, -1.0, 1.0); 16 | float nDotL = clamp(dot(wn, lightDir), 0.2, 1); 17 | vec4 diffColor = texture(Albedo, uv.st) * nDotL; 18 | 19 | float z = gl_FragCoord.z / gl_FragCoord.w; 20 | float fogFactor = exp2(-density * density * z * z * LOG2); 21 | fogFactor = clamp(fogFactor, 0.0, 1.0); 22 | fragcolor = mix(fogColor, diffColor, fogFactor); 23 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/basic_shading_instanced_no_normals.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec4 v; 2 | layout(location = 1) in mat4 model; // per instance matrix 3 | 4 | out mat4 wm; 5 | 6 | void main() 7 | { 8 | wm = model; 9 | gl_Position = v; 10 | } 11 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/basic_shading_light.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D Albedo; 2 | 3 | in vec2 uv; 4 | in vec3 wn; 5 | out vec4 fragcolor; 6 | 7 | void main() 8 | { 9 | vec3 lightDir = vec3(0.0, 1.0, 1.0); 10 | float nDotL = clamp(dot(wn, lightDir), 0.2, 1.0); 11 | vec4 d = texture(Albedo, uv.st); 12 | fragcolor = vec4(d.xyz * nDotL, d.w); 13 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/basic_shading_light_alpha.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D AlbedoMask; 2 | uniform vec4 Albedo; 3 | 4 | in vec2 uv; 5 | in vec3 wn; 6 | out vec4 fragcolor; 7 | 8 | void main() 9 | { 10 | vec3 lightDir = vec3(0.0, 1.0, 1.0); 11 | float nDotL = clamp(dot(wn, lightDir), 0.2, 1.0); 12 | vec4 a = texture(AlbedoMask, uv.st); 13 | vec3 d = Albedo.xyz * nDotL; 14 | fragcolor = vec4(d, a.w); 15 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/basic_shading_no_normals.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec4 v; 2 | layout(location = 1) in vec2 tc; 3 | 4 | out vec2 uv; 5 | 6 | // common functions 7 | vec4 rtransform(vec4 v1); 8 | 9 | void main() 10 | { 11 | uv = tc; 12 | gl_Position = rtransform(v); 13 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/basic_shading_solid_color.fs: -------------------------------------------------------------------------------- 1 | uniform vec4 Albedo; 2 | out vec4 fragcolor; 3 | 4 | void main() 5 | { 6 | fragcolor = Albedo; 7 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/basic_shading_solid_light.fs: -------------------------------------------------------------------------------- 1 | uniform vec4 Albedo; 2 | 3 | in vec2 uv; 4 | in vec3 wn; 5 | 6 | out vec4 fragcolor; 7 | 8 | void main() 9 | { 10 | vec3 lightDir = vec3(0.0, 1.0, 1.0); 11 | float nDotL = clamp(dot(wn, lightDir), 0.2, 1.0); 12 | fragcolor = Albedo * nDotL; 13 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/bigtriangle.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec2 vertex; 2 | 3 | uniform mat4 screenMatrix; 4 | 5 | out vec2 iuv; 6 | 7 | void main() 8 | { 9 | iuv = vertex; 10 | gl_Position = screenMatrix * vec4(vertex.xy, 0.0, 1.0); 11 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/common/common.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | #ifdef LITE3D_BINDLESS_TEXTURE_PIPELINE 4 | #include "samples:shaders/sources/bindless/material.glsl" 5 | #else 6 | #include "samples:shaders/sources/common/material.glsl" 7 | #endif 8 | 9 | #include "samples:shaders/sources/common/utils.glsl" -------------------------------------------------------------------------------- /media/samples/shaders/sources/common/common.vs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | #ifdef LITE3D_BINDLESS_TEXTURE_PIPELINE 4 | #include "samples:shaders/sources/bindless/material.glsl" 5 | #else 6 | #include "samples:shaders/sources/common/material.glsl" 7 | #endif 8 | 9 | #include "samples:shaders/sources/common/utils.glsl" -------------------------------------------------------------------------------- /media/samples/shaders/sources/common/material_inc.glsl: -------------------------------------------------------------------------------- 1 | #ifdef LITE3D_ENV_PROBE_MAX 2 | #extension GL_ARB_texture_cube_map_array : require 3 | #endif 4 | 5 | struct Material 6 | { 7 | vec4 albedo; 8 | vec4 emission; 9 | vec4 f0; 10 | vec4 normalScale; 11 | float alpha; 12 | float specular; 13 | float roughness; 14 | float metallic; 15 | float envDiffuse; 16 | float envSpecular; 17 | float ior; 18 | float emissionStrength; 19 | float environmentUVScale; 20 | uint environmentSingleProbeIndex; 21 | uint flags; 22 | }; 23 | 24 | struct Surface 25 | { 26 | Material material; 27 | uint index; 28 | vec3 wv; 29 | vec2 uv; 30 | vec3 normal; 31 | float ao; 32 | }; 33 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/common/stub.fs: -------------------------------------------------------------------------------- 1 | vec4 getAlbedo(vec2 uv) 2 | { 3 | return vec4(0.0, 0.0, 0.0, 1.0); 4 | } 5 | 6 | vec3 getNormal(vec2 uv, mat3 tbn) 7 | { 8 | return tbn[2]; 9 | } 10 | 11 | vec3 getEmission(vec2 uv) 12 | { 13 | return vec3(0.0); 14 | } 15 | 16 | vec3 getSpecular(vec2 uv) 17 | { 18 | return vec3(1.0, 1.0, 0.0); 19 | } 20 | 21 | float getSpecularAmbient(vec2 uv) 22 | { 23 | return 1.0; 24 | } 25 | 26 | float getAmbientOcclusion(vec2 uv) 27 | { 28 | return 1.0; 29 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/common/stub2.fs: -------------------------------------------------------------------------------- 1 | vec4 getAlbedo(vec2 uv) 2 | { 3 | return vec4(0.0, 0.0, 0.0, 1.0); 4 | } 5 | 6 | vec3 getNormal(vec2 uv, mat3 tbn) 7 | { 8 | return tbn[2]; 9 | } 10 | 11 | vec3 getEmission(vec2 uv) 12 | { 13 | return vec3(0.0); 14 | } 15 | 16 | vec3 getSpecular(vec2 uv) 17 | { 18 | return vec3(1.0, 1.0, 0.0); 19 | } 20 | 21 | float getSpecularAmbient(vec2 uv) 22 | { 23 | return 1.0; 24 | } 25 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/common/transform.vs: -------------------------------------------------------------------------------- 1 | uniform mat4 projectionMatrix; 2 | uniform mat4 viewMatrix; 3 | uniform mat4 modelMatrix; 4 | 5 | vec4 wtransform(vec4 v1) 6 | { 7 | return modelMatrix * v1; 8 | } 9 | 10 | vec4 rtransform(vec4 v1) 11 | { 12 | return projectionMatrix * viewMatrix * wtransform(v1); 13 | } 14 | 15 | vec3 rntransform(vec3 normal) 16 | { 17 | return normalize(modelMatrix * vec4(normal, 0.0)).xyz; 18 | } 19 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/common/utils.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | #include "samples:shaders/sources/common/utils.glsl" -------------------------------------------------------------------------------- /media/samples/shaders/sources/common/utils.vs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | #include "samples:shaders/sources/common/utils.glsl" -------------------------------------------------------------------------------- /media/samples/shaders/sources/coord_arrows.fs: -------------------------------------------------------------------------------- 1 | in vec3 icolor; 2 | out vec4 fragcolor; 3 | 4 | void main() 5 | { 6 | fragcolor = vec4(icolor, 1.0); 7 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/coord_arrows.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec4 vertex; 2 | layout(location = 1) in vec3 normal; 3 | layout(location = 2) in vec3 uv; 4 | layout(location = 3) in mat4 modelMatrix; 5 | 6 | uniform mat4 projViewMatrix; 7 | 8 | out vec3 icolor; 9 | 10 | void main() 11 | { 12 | icolor = floor(clamp(vertex.xyz, 0.0, 1.0)); 13 | gl_Position = projViewMatrix * modelMatrix * vertex; 14 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/pbr/brdf.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | // cook-torrance bidirectional reflective distribution function 4 | vec3 BRDF(in Surface surface, in AngularInfo angular); 5 | { 6 | float ndf = NDF(angular.NdotH, surface.material.roughness); 7 | float g = G(angular.NdotV, angular.NdotL, surface.material.roughness); 8 | vec3 F = fresnelSchlickRoughness(HdotV, surface.material); 9 | 10 | vec3 s = (ndf * g * F) / (4.0 * angular.NdotV * angular.NdotL); 11 | return diffuseFactor(F, surface.material.metallic) * surface.material.albedo.rgb / M_PI + s; 12 | } 13 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/pbr/brdf_lambert.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | // Lambertian 4 | vec3 BRDF(in Surface surface, in AngularInfo angular) 5 | { 6 | vec3 F = fresnelSchlickRoughness(angular.HdotV, surface.material); 7 | return diffuseFactor(F, surface.material.metallic) * surface.material.albedo.rgb / M_PI; 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/pbr/brdf_null_env.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | #ifndef LITE3D_BASE_AMBIENT_LIGHT 4 | #define LITE3D_BASE_AMBIENT_LIGHT vec3(0.0) 5 | #endif 6 | 7 | vec3 ComputeIndirect(in Surface surface, in AngularInfo angular) 8 | { 9 | return LITE3D_BASE_AMBIENT_LIGHT; 10 | } 11 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/depth_pass/depth.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | in vec2 iuv; 4 | 5 | #ifdef LITE3D_BINDLESS_TEXTURE_PIPELINE 6 | float getAmbientOcclusion(vec2 uv) 7 | { 8 | return 1.0; 9 | } 10 | #endif 11 | 12 | void main() 13 | { 14 | surfaceAlphaClip(iuv); 15 | } 16 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/depth_pass/depth.vs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | layout(location = 0) in vec4 vertex; 4 | layout(location = 2) in vec2 uv; 5 | 6 | uniform mat4 projViewMatrix; 7 | uniform mat4 modelMatrix; 8 | 9 | out vec2 iuv; 10 | flat out int drawID; 11 | 12 | void main() 13 | { 14 | #ifdef LITE3D_BINDLESS_TEXTURE_PIPELINE 15 | ChunkInvocationInfo invInfo = getInvocationInfo(); 16 | drawID = gl_DrawIDARB + gl_InstanceID; 17 | vec4 wv = invInfo.modelMatrix * vertex; 18 | #else 19 | vec4 wv = modelMatrix * vertex; 20 | #endif 21 | 22 | iuv = uv; 23 | gl_Position = projViewMatrix * wv; 24 | } 25 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/env_pass/env_inst.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec4 vertex; 2 | layout(location = 1) in vec3 normal; 3 | layout(location = 2) in vec2 uv; 4 | layout(location = 5) in mat4 modelMatrix; 5 | 6 | out vec2 iuv_g; 7 | out vec3 iwn_g; 8 | 9 | void main() 10 | { 11 | // texture coordinate 12 | iuv_g = uv; 13 | // vertex coordinate in world space 14 | gl_Position = modelMatrix * vertex; 15 | // calculate normal in world space 16 | iwn_g = normalize(modelMatrix * vec4(normal, 0.0)).xyz; 17 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/env_pass/env_skybox.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec3 vertex; 2 | 3 | uniform mat4 modelMatrix; 4 | 5 | out vec3 iuv_g; 6 | 7 | void main() 8 | { 9 | // texture coordinate 10 | iuv_g = vertex * -1.0; 11 | // vertex coordinate in world space 12 | gl_Position = modelMatrix * vec4(vertex, 0.0); 13 | } 14 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/env_pass/forward.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | out vec4 fragColor; 4 | 5 | in vec2 iuv; // UVs 6 | in vec3 iwv; // world-space position 7 | in vec3 iwn; // world-space normal 8 | 9 | #ifdef LITE3D_BINDLESS_TEXTURE_PIPELINE 10 | float getAmbientOcclusion(vec2 uv) 11 | { 12 | return 1.0; 13 | } 14 | #endif 15 | 16 | vec3 ComputeIllumination(in Surface surface); 17 | 18 | void main() 19 | { 20 | Surface surface = makeSurface(iuv, iwv, iwn, vec3(0.0), vec3(0.0)); 21 | // Compute total illumination 22 | fragColor = vec4(ComputeIllumination(surface), surface.material.alpha); 23 | } 24 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/forward_pass/forward.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | out vec4 fragColor; 4 | 5 | in vec2 iuv; // UVs 6 | in vec3 iwv; // world-space position 7 | in vec3 iwn; // world-space normal 8 | in vec3 iwt; // world-space tangent 9 | in vec3 iwb; // world-space bitangent 10 | 11 | #ifdef LITE3D_BINDLESS_TEXTURE_PIPELINE 12 | float getAmbientOcclusion(vec2 uv) 13 | { 14 | return 1.0; 15 | } 16 | #endif 17 | 18 | vec3 ComputeIllumination(in Surface surface); 19 | 20 | void main() 21 | { 22 | Surface surface = makeSurface(iuv, iwv, iwn, iwt, iwb); 23 | // Compute total illumination 24 | fragColor = vec4(ComputeIllumination(surface), surface.material.alpha); 25 | } 26 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/light_pass/light.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | in vec2 iuv; 4 | out vec4 fragColor; 5 | 6 | vec3 ComputeIllumination(in Surface surface); 7 | 8 | void main() 9 | { 10 | Surface surface = restoreSurface(iuv); 11 | // Compute total illumination 12 | fragColor = vec4(ComputeIllumination(surface), 1.0); 13 | } 14 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/postprocess_pass/postprocess.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec2 vertex; 2 | 3 | uniform mat4 screenMatrix; 4 | uniform vec3 ScreenResolution; 5 | 6 | out vec2 iuv; 7 | out vec2 irgbNW; 8 | out vec2 irgbNE; 9 | out vec2 irgbSW; 10 | out vec2 irgbSE; 11 | out vec2 irgbM; 12 | 13 | // needed for compute fxaa 14 | void texcoords(vec2 fragCoord, vec2 resolution, 15 | out vec2 rgbNW, out vec2 rgbNE, 16 | out vec2 rgbSW, out vec2 rgbSE, 17 | out vec2 rgbM); 18 | 19 | void main() 20 | { 21 | iuv = vertex; 22 | 23 | texcoords(iuv * ScreenResolution.xy, ScreenResolution.xy, irgbNW, irgbNE, irgbSW, irgbSE, irgbM); 24 | gl_Position = screenMatrix * vec4(vertex.xy, 0.0, 1.0); 25 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/shadow_clean_pass/shadow_clean.fs: -------------------------------------------------------------------------------- 1 | void main() 2 | { 3 | gl_FragDepth = 1.0; 4 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/shadow_clean_pass/shadow_clean_split.gs: -------------------------------------------------------------------------------- 1 | layout(triangles) in; 2 | layout(triangle_strip, max_vertices = LITE3D_SPOT_SHADOW_GS_MAX_VERTICES) out; 3 | 4 | layout(std140) uniform ShadowIndex 5 | { 6 | ivec4 shadowIndex[LITE3D_SPOT_SHADOW_MAX_COUNT / 4 + 1]; 7 | }; 8 | 9 | void main() 10 | { 11 | int count = shadowIndex[0].x; 12 | for (int i = 1; i <= count; ++i) 13 | { 14 | gl_Layer = shadowIndex[i/4][int(mod(i, 4))]; 15 | 16 | for (int j = 0; j < 3; ++j) 17 | { 18 | gl_Position = gl_in[j].gl_Position; 19 | EmitVertex(); 20 | } 21 | EndPrimitive(); 22 | } 23 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/shadow_pass/shadow.vs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | layout(location = 0) in vec4 vertex; 4 | layout(location = 2) in vec2 uv; 5 | 6 | uniform mat4 modelMatrix; 7 | 8 | out vec2 iuv_g; 9 | flat out int drawID_g; 10 | 11 | void main() 12 | { 13 | #ifdef LITE3D_BINDLESS_TEXTURE_PIPELINE 14 | ChunkInvocationInfo invInfo = getInvocationInfo(); 15 | drawID_g = gl_DrawIDARB; 16 | // vertex coordinate in world space 17 | gl_Position = invInfo.modelMatrix * vertex; 18 | #else 19 | gl_Position = modelMatrix * vertex; 20 | #endif 21 | 22 | iuv_g = uv; 23 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/shadow_pass/shadow_inst.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec4 vertex; 2 | layout(location = 2) in vec2 uv; 3 | layout(location = 5) in mat4 modelMatrix; 4 | 5 | out vec2 iuv_g; 6 | 7 | void main() 8 | { 9 | iuv_g = uv; 10 | // vertex coordinate in world space 11 | gl_Position = modelMatrix * vertex; 12 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/skybox_pass/skybox.fs: -------------------------------------------------------------------------------- 1 | uniform samplerCube Skybox; 2 | uniform float EmissionStrength; 3 | 4 | in vec3 iuv; 5 | out vec4 fragColor; 6 | 7 | void main() 8 | { 9 | fragColor = vec4(texture(Skybox, iuv).rgb * EmissionStrength, 1.0); 10 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/pipeline/skybox_pass/skybox.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec3 vertex; 2 | 3 | uniform mat4 screenMatrix; 4 | 5 | out vec3 iuv; 6 | 7 | void main() 8 | { 9 | // texture coordinate 10 | iuv = vertex * -1.0; 11 | vec4 pos = screenMatrix * vec4(vertex, 0.0); 12 | gl_Position = pos.xyww; 13 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/reflection_cube.fs: -------------------------------------------------------------------------------- 1 | uniform samplerCube cube; 2 | uniform vec3 eye; 3 | 4 | in vec2 uv; 5 | in vec3 wn; 6 | in vec3 wv; 7 | out vec4 fragcolor; 8 | 9 | const vec3 lightDir = vec3(0.45, -1.0, 1.0); 10 | 11 | void main() 12 | { 13 | vec3 reflected = reflect(normalize(eye - wv), wn); 14 | vec4 dreflect = texture(cube, reflected); 15 | 16 | float nDotL = clamp(dot(wn, lightDir), 0.32, 1.0); 17 | vec3 d = dreflect.xyz * nDotL; 18 | fragcolor = vec4(d, 1.0); 19 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/shadow/none.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | float Shadow(in LightSource source, in Surface surface, in AngularInfo angular) 4 | { 5 | return 1.0; 6 | } 7 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/skybox.fs: -------------------------------------------------------------------------------- 1 | uniform samplerCube skybox; 2 | 3 | in vec3 iuv; 4 | out vec4 fragColor; 5 | 6 | void main() 7 | { 8 | fragColor = texture(skybox, iuv); 9 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/skybox.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec3 vertex; 2 | 3 | uniform mat4 screenMatrix; 4 | 5 | out vec3 iuv; 6 | 7 | void main() 8 | { 9 | // texture coordinate 10 | iuv = vertex * -1.0; 11 | vec4 pos = screenMatrix * vec4(vertex, 0.0); 12 | gl_Position = pos.xyww; 13 | } -------------------------------------------------------------------------------- /media/samples/shaders/sources/ssao/ssao_sample.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D AOMap; 2 | uniform int AOEnabled; 3 | 4 | // Get fragment precalculated Ambient Occlusion with PCF filtration 5 | float getAmbientOcclusion(vec2 uv) 6 | { 7 | if (AOEnabled == 0) 8 | { 9 | return 1.0; 10 | } 11 | 12 | vec2 texelSize = 1.0 / vec2(textureSize(AOMap, 0)); 13 | 14 | float result = 0.0; 15 | for (float x = -1.5; x < 1.5; ++x) 16 | { 17 | for (float y = -1.5; y < 1.5; ++y) 18 | { 19 | vec2 offset = vec2(x, y) * texelSize; 20 | result += texture(AOMap, uv + offset).r; 21 | } 22 | } 23 | 24 | return result / (4.0 * 4.0); 25 | } 26 | -------------------------------------------------------------------------------- /media/samples/shaders/sources/vertex_instancing.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec4 v; 2 | layout(location = 1) in vec3 n; 3 | layout(location = 2) in vec2 tc; 4 | 5 | out vec2 uv; 6 | out vec3 wn; 7 | 8 | // common functions 9 | vec4 rtransform(vec4 v1); 10 | vec3 rntransform(vec3 normal); 11 | 12 | const vec3 startPosition = vec3(-5000, -5000, 0); 13 | const float offset = 1200; 14 | const int rowCount = 10; 15 | 16 | void main() 17 | { 18 | uv = tc; 19 | wn = rntransform(n); 20 | 21 | float xOffset = mod(gl_InstanceID, rowCount) * offset; 22 | float yOffset = int(gl_InstanceID / rowCount) * offset; 23 | 24 | gl_Position = rtransform(v + vec4(startPosition.x + xOffset, startPosition.y + yOffset, startPosition.z, 0)); 25 | } -------------------------------------------------------------------------------- /media/samples/targets/render_to_tex_512.json: -------------------------------------------------------------------------------- 1 | { 2 | "Width": 512, 3 | "Height": 512, 4 | "BackgroundColor": [0.7, 0.7, 0.7, 0 ], 5 | "Priority": 2, 6 | 7 | "ColorAttachments": 8 | { 9 | "Attachments": 10 | [ 11 | { 12 | "TextureName": "color512x512.texture", 13 | "TexturePath": "samples:textures/json/color512x512.json" 14 | } 15 | ] 16 | }, 17 | 18 | "DepthAttachments": 19 | { 20 | "Renderbuffer": true 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /media/samples/textures/images/Robot_Boss_Uberwalker_Loadout_DIF00.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/Robot_Boss_Uberwalker_Loadout_DIF00.tga -------------------------------------------------------------------------------- /media/samples/textures/images/T_UberWalker_Dif.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/T_UberWalker_Dif.tga -------------------------------------------------------------------------------- /media/samples/textures/images/box1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/box1.jpg -------------------------------------------------------------------------------- /media/samples/textures/images/box2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/box2.jpg -------------------------------------------------------------------------------- /media/samples/textures/images/metallic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/metallic.jpg -------------------------------------------------------------------------------- /media/samples/textures/images/minigun.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/minigun.dds -------------------------------------------------------------------------------- /media/samples/textures/images/plasmarif02a.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/plasmarif02a.dds -------------------------------------------------------------------------------- /media/samples/textures/images/plasmarif02b.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/plasmarif02b.dds -------------------------------------------------------------------------------- /media/samples/textures/images/plasmarif02c.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/plasmarif02c.dds -------------------------------------------------------------------------------- /media/samples/textures/images/skymap/MetalBronzeCube_e.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/skymap/MetalBronzeCube_e.dds -------------------------------------------------------------------------------- /media/samples/textures/images/skymap/MetalChrome01Cube_e.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/skymap/MetalChrome01Cube_e.dds -------------------------------------------------------------------------------- /media/samples/textures/images/skymap/MetalCopperShine01Cube_e.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/skymap/MetalCopperShine01Cube_e.dds -------------------------------------------------------------------------------- /media/samples/textures/images/skymap/MetalShineTopCube01_e.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/skymap/MetalShineTopCube01_e.dds -------------------------------------------------------------------------------- /media/samples/textures/images/skymap/Vault111CryoCube.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/skymap/Vault111CryoCube.dds -------------------------------------------------------------------------------- /media/samples/textures/images/skymap/miramar_bk.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/skymap/miramar_bk.tga -------------------------------------------------------------------------------- /media/samples/textures/images/skymap/miramar_ft.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/skymap/miramar_ft.tga -------------------------------------------------------------------------------- /media/samples/textures/images/skymap/miramar_lf.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/skymap/miramar_lf.tga -------------------------------------------------------------------------------- /media/samples/textures/images/skymap/miramar_rt.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/skymap/miramar_rt.tga -------------------------------------------------------------------------------- /media/samples/textures/images/skymap/miramar_up.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/skymap/miramar_up.tga -------------------------------------------------------------------------------- /media/samples/textures/images/t1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/t1.jpg -------------------------------------------------------------------------------- /media/samples/textures/images/vfloor03.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/samples/textures/images/vfloor03.dds -------------------------------------------------------------------------------- /media/samples/textures/json/Robot_Boss_Uberwalker_Loadout_DIF00.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"samples:textures/images/Robot_Boss_Uberwalker_Loadout_DIF00.tga", 4 | "ImageFormat":"tga", 5 | "TextureType":"2D", 6 | "Wrapping":"ClampToEdge" 7 | } -------------------------------------------------------------------------------- /media/samples/textures/json/T_UberWalker_Dif.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"samples:textures/images/T_UberWalker_Dif.tga", 4 | "ImageFormat":"tga", 5 | "TextureType":"2D", 6 | "Wrapping":"ClampToEdge" 7 | } -------------------------------------------------------------------------------- /media/samples/textures/json/arial256x128.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "None", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "RGBA", 7 | "Width": 256, 8 | "Height": 128, 9 | "Font": "samples:fonts/arial.ttf", 10 | "FontSize": 12, 11 | "BlankColor": [ 0.2, 0.2, 0.2, 0.4 ] 12 | } 13 | -------------------------------------------------------------------------------- /media/samples/textures/json/arial512x512.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "None", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "RGBA", 7 | "Width": 512, 8 | "Height": 512, 9 | "Font": "samples:fonts/arial.ttf", 10 | "FontSize": 12, 11 | "BlankColor": [ 0.2, 0.2, 0.2, 0.0 ] 12 | } 13 | -------------------------------------------------------------------------------- /media/samples/textures/json/box1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"samples:textures/images/box1.jpg", 4 | "ImageFormat":"jpg", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/samples/textures/json/box2.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"samples:textures/images/box2.jpg", 4 | "ImageFormat":"jpg", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/samples/textures/json/color512x512.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "Trilinear", 4 | "Wrapping": "Repeat", 5 | "Compression": false, 6 | "TextureFormat": "RGBA", 7 | "Height": 512, 8 | "Width": 512 9 | } 10 | -------------------------------------------------------------------------------- /media/samples/textures/json/depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "None", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "DEPTH" 7 | } 8 | -------------------------------------------------------------------------------- /media/samples/textures/json/minigun.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "Linear", 4 | "Wrapping": "ClampToEdge", 5 | "Image": "samples:textures/images/minigun.dds", 6 | "ImageFormat": "DDS" 7 | } 8 | -------------------------------------------------------------------------------- /media/samples/textures/json/multisample4Depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Compression": false, 4 | "TextureFormat": "DEPTH", 5 | "Samples": 4 6 | } 7 | -------------------------------------------------------------------------------- /media/samples/textures/json/multisample8Depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Compression": false, 4 | "TextureFormat": "DEPTH", 5 | "Samples": 8 6 | } 7 | -------------------------------------------------------------------------------- /media/samples/textures/json/plasmagun_a.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "Trilinear", 4 | "Wrapping": "ClampToEdge", 5 | "Image": "samples:textures/images/plasmarif02a.dds", 6 | "ImageFormat": "DDS" 7 | } 8 | -------------------------------------------------------------------------------- /media/samples/textures/json/plasmagun_b.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "Trilinear", 4 | "Wrapping": "ClampToEdge", 5 | "Image": "samples:textures/images/plasmarif02b.dds", 6 | "ImageFormat": "DDS" 7 | } 8 | -------------------------------------------------------------------------------- /media/samples/textures/json/plasmagun_c.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "Trilinear", 4 | "Wrapping": "ClampToEdge", 5 | "Image": "samples:textures/images/plasmarif02c.dds", 6 | "ImageFormat": "DDS" 7 | } 8 | -------------------------------------------------------------------------------- /media/samples/textures/json/r16fs4.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "Linear", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "RED", 7 | "Scale": 4, // Reduce size at half of screen 8 | "InternalFormat": "R16F" 9 | } 10 | -------------------------------------------------------------------------------- /media/samples/textures/json/rgb32f.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "None", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "RGB", 7 | "InternalFormat": "RGB32F" 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/textures/json/rgba.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "None", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "RGBA" 7 | } 8 | -------------------------------------------------------------------------------- /media/samples/textures/json/rgba16f.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "None", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "RGBA", 7 | "InternalFormat": "RGBA16F" 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/textures/json/rgba32f.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D", 3 | "Filtering": "None", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "RGBA", 7 | "InternalFormat": "RGBA32F" 8 | } 9 | -------------------------------------------------------------------------------- /media/samples/textures/json/rgba32f_array4.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D_ARRAY", 3 | "Filtering": "None", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "RGBA", 7 | "InternalFormat": "RGBA32F", 8 | "Depth": 4 9 | } 10 | -------------------------------------------------------------------------------- /media/samples/textures/json/shadow_2k.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D_SHADOW", 3 | "Filtering": "Linear", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "DEPTH", 7 | "Height": 2048, 8 | "Width": 2048 9 | } 10 | -------------------------------------------------------------------------------- /media/samples/textures/json/shadow_2k_array4.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D_SHADOW_ARRAY", 3 | "Filtering": "Linear", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "DEPTH", 7 | "Height": 2048, 8 | "Width": 2048, 9 | "Depth": 4 10 | } 11 | -------------------------------------------------------------------------------- /media/samples/textures/json/shadow_2k_array5.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D_SHADOW_ARRAY", 3 | "Filtering": "Linear", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "DEPTH", 7 | "Height": 2048, 8 | "Width": 2048, 9 | "Depth": 5 10 | } 11 | -------------------------------------------------------------------------------- /media/samples/textures/json/shadow_4k.json: -------------------------------------------------------------------------------- 1 | { 2 | "TextureType": "2D_SHADOW", 3 | "Filtering": "Linear", 4 | "Wrapping": "ClampToEdge", 5 | "Compression": false, 6 | "TextureFormat": "DEPTH", 7 | "Height": 4096, 8 | "Width": 4096 9 | } 10 | -------------------------------------------------------------------------------- /media/samples/textures/json/skybox_cryo.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Linear", 3 | "ImageFormat":"DDS", 4 | "Image": "samples:textures/images/skymap/Vault111CryoCube.dds", 5 | "Compression": true, 6 | "TextureType":"Cube", 7 | "Wrapping":"ClampToEdge" 8 | } -------------------------------------------------------------------------------- /media/samples/textures/json/skybox_cryo_mip.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "ImageFormat":"DDS", 4 | "Image": "samples:textures/images/skymap/Vault111CryoCube.dds", 5 | "Compression": true, 6 | "TextureType":"Cube", 7 | "Wrapping":"ClampToEdge", 8 | "sRGB": true 9 | } -------------------------------------------------------------------------------- /media/samples/textures/json/skybox_metal_bronze.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "ImageFormat":"DDS", 4 | "Image": "samples:textures/images/skymap/MetalBronzeCube_e.dds", 5 | "Compression": true, 6 | "TextureType":"Cube", 7 | "Wrapping":"ClampToEdge", 8 | "sRGB": true 9 | } -------------------------------------------------------------------------------- /media/samples/textures/json/skybox_metal_chrome.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "ImageFormat":"DDS", 4 | "Image": "samples:textures/images/skymap/MetalChrome01Cube_e.dds", 5 | "Compression": true, 6 | "TextureType":"Cube", 7 | "Wrapping":"ClampToEdge", 8 | "sRGB": true 9 | } -------------------------------------------------------------------------------- /media/samples/textures/json/skybox_metal_copper.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "ImageFormat":"DDS", 4 | "Image": "samples:textures/images/skymap/MetalCopperShine01Cube_e.dds", 5 | "Compression": true, 6 | "TextureType":"Cube", 7 | "Wrapping":"ClampToEdge", 8 | "sRGB": true 9 | } -------------------------------------------------------------------------------- /media/samples/textures/json/skybox_metal_shine.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "ImageFormat":"DDS", 4 | "Image": "samples:textures/images/skymap/MetalShineTopCube01_e.dds", 5 | "Compression": true, 6 | "TextureType":"Cube", 7 | "Wrapping":"ClampToEdge", 8 | "sRGB": true 9 | } -------------------------------------------------------------------------------- /media/samples/textures/json/vfloor03.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"samples:textures/images/vfloor03.dds", 4 | "ImageFormat":"dds", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/sandbox/models/meshes/SandBox.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/sandbox/models/meshes/SandBox.m -------------------------------------------------------------------------------- /media/sandbox/objects/SandBox.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": { 3 | "Name": "SandBox", 4 | "Mesh": { 5 | "Mesh": "sandbox:models/json/SandBox.json", 6 | "Name": "SandBox.mesh" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /media/sandbox/shaders/json/bloom_downsample.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/bigtriangle.vs", 5 | "samples:shaders/sources/bloom/bloom_downsample.fs" 6 | ] 7 | } -------------------------------------------------------------------------------- /media/sandbox/shaders/json/bloom_upsample.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/bigtriangle.vs", 5 | "samples:shaders/sources/bloom/bloom_upsample.fs" 6 | ] 7 | } -------------------------------------------------------------------------------- /media/sandbox/shaders/json/bsdf_regular.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn.vs", 6 | "samples:shaders/sources/pipeline/forward_pass/forward.fs", 7 | "samples:shaders/sources/pbr/pbr.fs", 8 | "samples:shaders/sources/pbr/brdf_oren_nayar_approx.fs", 9 | "samples:shaders/sources/pbr/brdf_indirect.fs,sandbox:shaders/sources/inc/params.def", 10 | "samples:shaders/sources/shadow/pcf.fs,sandbox:shaders/sources/inc/params.def", 11 | "samples:shaders/sources/common/common.fs,sandbox:shaders/sources/inc/params.def", 12 | // Sample specific shaders 13 | "sandbox:shaders/sources/regular.fs" 14 | ] 15 | } -------------------------------------------------------------------------------- /media/sandbox/shaders/json/depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/depth_pass/depth.vs", 6 | "samples:shaders/sources/pipeline/depth_pass/depth.fs", 7 | "samples:shaders/sources/common/common.fs,sandbox:shaders/sources/inc/params.def", 8 | "samples:shaders/sources/common/stub.fs" 9 | ] 10 | } -------------------------------------------------------------------------------- /media/sandbox/shaders/json/post_process.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/postprocess_pass/postprocess.vs", 6 | "samples:shaders/sources/pipeline/postprocess_pass/postprocess_bloom.fs", 7 | "samples:shaders/sources/antialiasing/fxaa.fs", 8 | "samples:shaders/sources/antialiasing/fxaa_texcoords.vs", 9 | "samples:shaders/sources/common/common.fs", 10 | "samples:shaders/sources/common/stub.fs" 11 | ] 12 | } -------------------------------------------------------------------------------- /media/sandbox/shaders/json/shadow.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/shadow_pass/shadow.vs", 6 | "samples:shaders/sources/pipeline/shadow_pass/shadow_split.gs", 7 | "samples:shaders/sources/pipeline/depth_pass/depth.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } -------------------------------------------------------------------------------- /media/sandbox/shaders/json/shadow_map_clean.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/bigtriangle.vs", 6 | "samples:shaders/sources/pipeline/shadow_clean_pass/shadow_clean_split.gs", 7 | "samples:shaders/sources/pipeline/shadow_clean_pass/shadow_clean.fs" 8 | ] 9 | } -------------------------------------------------------------------------------- /media/sandbox/shaders/sources/inc/params.def: -------------------------------------------------------------------------------- 1 | // Environment params 2 | #define LITE3D_ENV_DIFFUSE_STRENGTH 8.5 3 | #define LITE3D_ENV_PROBE_RELATIVE_DISTANCE_THRESHOLD 0.05 4 | #define LITE3D_ENV_PROBE_DIFFUSE_POWER 2.0 5 | #define LITE3D_ENV_PROBE_SPECULAR_POWER 10.0 6 | 7 | // Shadow params 8 | #define LITE3D_SHADOW_MIN_ADAPTIVE_BIAS 0.0005 9 | #define LITE3D_SHADOW_MAX_ADAPTIVE_BIAS 0.0010 10 | #define LITE3D_SHADOW_MIN_ADAPTIVE_FILTER_SIZE 1.0 11 | #define LITE3D_SHADOW_MAX_ADAPTIVE_FILTER_SIZE 1.7 12 | #define LITE3D_SHADOW_MIN_ADAPTIVE_STEP 0.5 13 | -------------------------------------------------------------------------------- /media/screenshots/camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/camera.png -------------------------------------------------------------------------------- /media/screenshots/physics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/physics.png -------------------------------------------------------------------------------- /media/screenshots/reflection1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/reflection1.png -------------------------------------------------------------------------------- /media/screenshots/reflection2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/reflection2.png -------------------------------------------------------------------------------- /media/screenshots/robots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/robots.png -------------------------------------------------------------------------------- /media/screenshots/robots1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/robots1.png -------------------------------------------------------------------------------- /media/screenshots/sandbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/sandbox.png -------------------------------------------------------------------------------- /media/screenshots/sponza.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/sponza.png -------------------------------------------------------------------------------- /media/screenshots/sponza1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/sponza1.png -------------------------------------------------------------------------------- /media/screenshots/vault.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault.png -------------------------------------------------------------------------------- /media/screenshots/vault1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault1.png -------------------------------------------------------------------------------- /media/screenshots/vault2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault2.png -------------------------------------------------------------------------------- /media/screenshots/vault3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault3.png -------------------------------------------------------------------------------- /media/screenshots/vault4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault4.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_0.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_1.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_10.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_11.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_12.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_13.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_14.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_15.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_16.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_17.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_18.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_19.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_2.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_20.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_21.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_22.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_23.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_24.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_25.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_26.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_3.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_4.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_5.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_6.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_7.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_8.png -------------------------------------------------------------------------------- /media/screenshots/vault_111_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_111_9.png -------------------------------------------------------------------------------- /media/screenshots/vault_room_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_room_0.png -------------------------------------------------------------------------------- /media/screenshots/vault_room_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_room_1.png -------------------------------------------------------------------------------- /media/screenshots/vault_room_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_room_2.png -------------------------------------------------------------------------------- /media/screenshots/vault_room_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_room_3.png -------------------------------------------------------------------------------- /media/screenshots/vault_room_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vault_room_4.png -------------------------------------------------------------------------------- /media/screenshots/vss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/vss.png -------------------------------------------------------------------------------- /media/screenshots/warship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/screenshots/warship.png -------------------------------------------------------------------------------- /media/sponza/.gitignore: -------------------------------------------------------------------------------- 1 | textures/* 2 | models/* -------------------------------------------------------------------------------- /media/sponza/shaders/json/bloom_downsample.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/bigtriangle.vs", 5 | "samples:shaders/sources/bloom/bloom_downsample.fs" 6 | ] 7 | } -------------------------------------------------------------------------------- /media/sponza/shaders/json/bloom_upsample.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/bigtriangle.vs", 5 | "samples:shaders/sources/bloom/bloom_upsample.fs" 6 | ] 7 | } -------------------------------------------------------------------------------- /media/sponza/shaders/json/bsdf_direct_alpha.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn.vs", 6 | "samples:shaders/sources/pipeline/forward_pass/forward.fs", 7 | "samples:shaders/sources/pbr/pbr.fs", 8 | "samples:shaders/sources/pbr/brdf_oren_nayar_approx.fs", 9 | "samples:shaders/sources/pbr/brdf_indirect.fs,sponza:shaders/sources/inc/params.def", 10 | "samples:shaders/sources/shadow/simple.fs,sponza:shaders/sources/inc/params.def", 11 | "samples:shaders/sources/common/common.fs", 12 | "samples:shaders/sources/common/common.vs" 13 | ] 14 | } -------------------------------------------------------------------------------- /media/sponza/shaders/json/bsdf_prepare.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn.vs", 6 | "samples:shaders/sources/pipeline/deffered_pass/deffered.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | "samples:shaders/sources/common/common.vs" 9 | ] 10 | } -------------------------------------------------------------------------------- /media/sponza/shaders/json/depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/depth_pass/depth.vs", 6 | "samples:shaders/sources/pipeline/depth_pass/depth.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | "samples:shaders/sources/common/common.vs" 9 | ] 10 | } -------------------------------------------------------------------------------- /media/sponza/shaders/json/env_probe.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/env_pass/env.vs", 6 | "samples:shaders/sources/pipeline/env_pass/env_multi.gs", 7 | "samples:shaders/sources/pipeline/env_pass/forward.fs", 8 | "samples:shaders/sources/pbr/pbr.fs", 9 | "samples:shaders/sources/pbr/brdf_lambert.fs", 10 | "samples:shaders/sources/pbr/brdf_null_env.fs,sponza:shaders/sources/inc/params.def", 11 | "samples:shaders/sources/shadow/simple.fs,sponza:shaders/sources/inc/params.def", 12 | "samples:shaders/sources/common/common.fs", 13 | "samples:shaders/sources/common/common.vs" 14 | ] 15 | } -------------------------------------------------------------------------------- /media/sponza/shaders/json/env_skybox.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/env_pass/env_skybox.vs", 6 | "samples:shaders/sources/pipeline/env_pass/env_multi_skybox.gs", 7 | "samples:shaders/sources/pipeline/skybox_pass/skybox.fs" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /media/sponza/shaders/json/lightpass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/bigtriangle.vs", 6 | "samples:shaders/sources/pipeline/light_pass/light.fs", 7 | "samples:shaders/sources/pbr/pbr.fs", 8 | "samples:shaders/sources/pbr/brdf_oren_nayar_approx.fs", 9 | "samples:shaders/sources/pbr/brdf_indirect.fs,sponza:shaders/sources/inc/params.def", 10 | "samples:shaders/sources/shadow/pcf.fs,sponza:shaders/sources/inc/params.def", 11 | "samples:shaders/sources/ssao/ssao_sample.fs", 12 | "samples:shaders/sources/common/common.fs,sponza:shaders/sources/inc/disable_invocation.def" 13 | ] 14 | } -------------------------------------------------------------------------------- /media/sponza/shaders/json/post_process.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/postprocess_pass/postprocess.vs", 6 | "samples:shaders/sources/pipeline/postprocess_pass/postprocess_bloom.fs", 7 | "samples:shaders/sources/antialiasing/fxaa.fs", 8 | "samples:shaders/sources/antialiasing/fxaa_texcoords.vs", 9 | "samples:shaders/sources/common/utils.fs" 10 | ] 11 | } -------------------------------------------------------------------------------- /media/sponza/shaders/json/shadow.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/shadow_pass/shadow.vs", 6 | "samples:shaders/sources/pipeline/shadow_pass/shadow_split.gs", 7 | "samples:shaders/sources/pipeline/depth_pass/depth.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/common.vs" 10 | ] 11 | } -------------------------------------------------------------------------------- /media/sponza/shaders/json/shadow_map_clean.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/bigtriangle.vs", 6 | "samples:shaders/sources/pipeline/shadow_clean_pass/shadow_clean_split.gs", 7 | "samples:shaders/sources/pipeline/shadow_clean_pass/shadow_clean.fs" 8 | ] 9 | } -------------------------------------------------------------------------------- /media/sponza/shaders/json/skybox.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/skybox_pass/skybox.vs", 6 | "samples:shaders/sources/pipeline/skybox_pass/skybox.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/sponza/shaders/json/ssao.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/bigtriangle.vs", 6 | "samples:shaders/sources/ssao/ssao.fs,sponza:shaders/sources/inc/params.def", 7 | "samples:shaders/sources/common/utils.fs" 8 | ] 9 | } -------------------------------------------------------------------------------- /media/sponza/shaders/sources/inc/disable_invocation.def: -------------------------------------------------------------------------------- 1 | #define LITE3D_DISABLE_INVOCATION_METHOD 2 | -------------------------------------------------------------------------------- /media/starfield/objects/AK47.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": { 3 | "Name": "AK47", 4 | "Mesh": { 5 | "Mesh": "starfield_pak:models/json/AK47.json", 6 | "Name": "AK47.mesh" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /media/starfield/objects/Sun.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": { 3 | "Name": "Sun", 4 | "Light": { 5 | "Type": "Directional", 6 | "Name": "Sun_Sun", 7 | "Diffuse": [ 8 | 1.0, 9 | 1.0, 10 | 1.0 11 | ], 12 | "Radiance": 7.0, 13 | "Direction": [ 14 | 0.0, 15 | 0.0, 16 | -1.0 17 | ], 18 | "Position": [ 19 | 0.0, 20 | 0.0, 21 | 0.0 22 | ] 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /media/starfield/objects/VSS.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": { 3 | "Name": "VSS", 4 | "Mesh": { 5 | "Mesh": "starfield_pak:models/json/VSS.json", 6 | "Name": "VSS.mesh" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /media/starfield/shaders/json/bloom_downsample.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/bigtriangle.vs", 5 | "samples:shaders/sources/bloom/bloom_downsample.fs" 6 | ] 7 | } -------------------------------------------------------------------------------- /media/starfield/shaders/json/bloom_upsample.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/bigtriangle.vs", 5 | "samples:shaders/sources/bloom/bloom_upsample.fs" 6 | ] 7 | } -------------------------------------------------------------------------------- /media/starfield/shaders/json/bsdf_decal.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn.vs", 6 | "samples:shaders/sources/pipeline/forward_pass/forward.fs", 7 | "samples:shaders/sources/pbr/pbr.fs", 8 | "samples:shaders/sources/pbr/brdf_indirect.fs,starfield:shaders/sources/inc/params.def", 9 | "samples:shaders/sources/pbr/brdf_oren_nayar_approx.fs", 10 | "samples:shaders/sources/shadow/pcf.fs,starfield:shaders/sources/inc/params.def", 11 | "samples:shaders/sources/common/common.fs,starfield:shaders/sources/inc/params.def", 12 | // Sample specific shaders 13 | "starfield:shaders/sources/decal.fs" 14 | ] 15 | } -------------------------------------------------------------------------------- /media/starfield/shaders/json/bsdf_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn.vs", 6 | "samples:shaders/sources/pipeline/forward_pass/forward.fs", 7 | "samples:shaders/sources/pbr/pbr.fs", 8 | "samples:shaders/sources/pbr/brdf_indirect.fs,starfield:shaders/sources/inc/params.def", 9 | "samples:shaders/sources/pbr/brdf_oren_nayar_approx.fs", 10 | "samples:shaders/sources/shadow/pcf.fs,starfield:shaders/sources/inc/params.def", 11 | "samples:shaders/sources/common/common.fs,starfield:shaders/sources/inc/params.def", 12 | // Sample specific shaders 13 | "starfield:shaders/sources/glass.fs" 14 | ] 15 | } -------------------------------------------------------------------------------- /media/starfield/shaders/json/bsdf_regular.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn.vs", 6 | "samples:shaders/sources/pipeline/forward_pass/forward.fs", 7 | "samples:shaders/sources/pbr/pbr.fs", 8 | "samples:shaders/sources/pbr/brdf_indirect.fs,starfield:shaders/sources/inc/params.def", 9 | "samples:shaders/sources/pbr/brdf_oren_nayar_approx.fs", 10 | "samples:shaders/sources/shadow/pcf.fs,starfield:shaders/sources/inc/params.def", 11 | "samples:shaders/sources/common/common.fs,starfield:shaders/sources/inc/params.def", 12 | // Sample specific shaders 13 | "starfield:shaders/sources/regular.fs" 14 | ] 15 | } -------------------------------------------------------------------------------- /media/starfield/shaders/json/depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/depth_pass/depth.vs", 6 | "samples:shaders/sources/pipeline/depth_pass/depth.fs", 7 | "samples:shaders/sources/common/common.fs,starfield:shaders/sources/inc/params.def", 8 | "samples:shaders/sources/common/stub.fs" 9 | ] 10 | } -------------------------------------------------------------------------------- /media/starfield/shaders/json/post_process.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/postprocess_pass/postprocess.vs", 6 | "samples:shaders/sources/pipeline/postprocess_pass/postprocess_bloom.fs", 7 | "samples:shaders/sources/antialiasing/fxaa.fs", 8 | "samples:shaders/sources/antialiasing/fxaa_texcoords.vs", 9 | "samples:shaders/sources/common/common.fs,starfield:shaders/sources/inc/params.def", 10 | "samples:shaders/sources/common/stub.fs" 11 | ] 12 | } -------------------------------------------------------------------------------- /media/starfield/shaders/json/shadow.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/shadow_pass/shadow.vs", 6 | "samples:shaders/sources/pipeline/shadow_pass/shadow_split.gs", 7 | "samples:shaders/sources/pipeline/depth_pass/depth.fs", 8 | "samples:shaders/sources/common/common.fs,starfield:shaders/sources/inc/params.def", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } -------------------------------------------------------------------------------- /media/starfield/shaders/json/shadow_map_clean.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/bigtriangle.vs", 6 | "samples:shaders/sources/pipeline/shadow_clean_pass/shadow_clean_split.gs", 7 | "samples:shaders/sources/pipeline/shadow_clean_pass/shadow_clean.fs" 8 | ] 9 | } -------------------------------------------------------------------------------- /media/starfield/shaders/json/skybox.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/skybox_pass/skybox.vs", 6 | "samples:shaders/sources/pipeline/skybox_pass/skybox.fs" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /media/starfield/shaders/sources/glass.fs: -------------------------------------------------------------------------------- 1 | uniform vec4 Albedo; 2 | uniform float Roughness; 3 | 4 | vec4 getAlbedo(vec2 uv) 5 | { 6 | return Albedo; 7 | } 8 | 9 | vec3 getEmission(vec2 uv) 10 | { 11 | return vec3(0.0); 12 | } 13 | 14 | vec3 getNormal(vec2 uv, mat3 tbn) 15 | { 16 | return tbn[2]; 17 | } 18 | 19 | vec3 getSpecular(vec2 uv) 20 | { 21 | vec3 specular = vec3(1.0, Roughness, 0.0); 22 | return clamp(specular, 0.0, 1.0); 23 | } 24 | 25 | float getSpecularAmbient(vec2 uv) 26 | { 27 | return 1.0; 28 | } 29 | 30 | float getAmbientOcclusion(vec2 uv) 31 | { 32 | return 1.0; 33 | } 34 | -------------------------------------------------------------------------------- /media/starfield/shaders/sources/inc/params.def: -------------------------------------------------------------------------------- 1 | #define LITE3D_ENV_DIFFUSE_STRENGTH 0.23 2 | #define LITE3D_CUBE_MAP_UV_SCALE -1.0 3 | 4 | #define LITE3D_SHADOW_MIN_ADAPTIVE_BIAS 0.0005 5 | #define LITE3D_SHADOW_MAX_ADAPTIVE_BIAS 0.0010 6 | #define LITE3D_SHADOW_MIN_ADAPTIVE_FILTER_SIZE 1.0 7 | #define LITE3D_SHADOW_MAX_ADAPTIVE_FILTER_SIZE 2.2 8 | #define LITE3D_SHADOW_MIN_ADAPTIVE_STEP 0.5 -------------------------------------------------------------------------------- /media/tests/meshes/VURmCorner_br.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/tests/meshes/VURmCorner_br.m -------------------------------------------------------------------------------- /media/tests/meshes/VURmCorner_ubr.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/tests/meshes/VURmCorner_ubr.m -------------------------------------------------------------------------------- /media/tests/pack/eev.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/tests/pack/eev.jpg -------------------------------------------------------------------------------- /media/tests/pack/minigun/minigun.3ds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/tests/pack/minigun/minigun.3ds -------------------------------------------------------------------------------- /media/tests/pack/normandy/ref.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/tests/pack/normandy/ref.jpg -------------------------------------------------------------------------------- /media/tests/pack/normandy/t1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/tests/pack/normandy/t1.jpg -------------------------------------------------------------------------------- /media/tests/pack/pack.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/tests/pack/pack.0 -------------------------------------------------------------------------------- /media/tests/pack/pack.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/tests/pack/pack.1 -------------------------------------------------------------------------------- /media/tests/pack/plasmagun/plasmarif.3ds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/tests/pack/plasmagun/plasmarif.3ds -------------------------------------------------------------------------------- /media/vault_111/.gitignore: -------------------------------------------------------------------------------- 1 | textures/* 2 | models/* -------------------------------------------------------------------------------- /media/vault_111/materials/shadow_clean.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass": 1, 5 | "Program":{ 6 | "Name":"shadow_clean.program", 7 | "Path":"vault_111:shaders/json/shadow_clean.json" 8 | }, 9 | "Uniforms":[ 10 | { 11 | "Name":"projViewMatrix" 12 | }, 13 | { 14 | "Name":"ShadowIndex", 15 | "UBOName":"Vault_111_ShadowIndexBuffer", 16 | "Type":"UBO" 17 | } 18 | ] 19 | } 20 | ] 21 | } -------------------------------------------------------------------------------- /media/vault_111/objects/Player.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": { 3 | "Physics": { 4 | "Type": "Dynamic", 5 | "Friction": 0.1, 6 | "RollingFriction": 1.0, 7 | "SpinningFriction": 1.0, 8 | "LinearDamping": 0.15, 9 | // Block rotation for all axis 10 | "AngularFactor": [0.0, 0.0, 0.0], 11 | // Disable deactivation 12 | "AlwaysActive": true 13 | }, 14 | "Name": "Player.Collider", 15 | "CollisionShape": { 16 | "Type": "Capsule", 17 | "Radius": 10.0, 18 | "Height": 110.0, 19 | "Mass": 20.0 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/bloom_downsample.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/bigtriangle.vs", 5 | "samples:shaders/sources/bloom/bloom_downsample.fs" 6 | ] 7 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/bloom_upsample.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "samples:shaders/sources/bigtriangle.vs", 5 | "samples:shaders/sources/bloom/bloom_upsample.fs" 6 | ] 7 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/bsdf_glow_prepare.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn_inst.vs", 6 | "samples:shaders/sources/pipeline/deffered_pass/deffered.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | // Sample specific shaders 9 | "vault_111:shaders/sources/regular.fs,vault_111:shaders/sources/inc/glow.def", 10 | "vault_111:shaders/sources/utils/Normal.fs", 11 | "vault_111:shaders/sources/utils/Specular.fs" 12 | ] 13 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/bsdf_glow_prepare_green.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn_inst.vs", 6 | "samples:shaders/sources/pipeline/deffered_pass/deffered.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | // Sample specific shaders 9 | "vault_111:shaders/sources/regular.fs,vault_111:shaders/sources/inc/glow_green.def", 10 | "vault_111:shaders/sources/utils/Normal.fs", 11 | "vault_111:shaders/sources/utils/Specular.fs" 12 | ] 13 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/bsdf_glow_solid_prepare.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn_inst.vs", 6 | "samples:shaders/sources/pipeline/deffered_pass/deffered.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | // Sample specific shaders 9 | "vault_111:shaders/sources/regular.fs,vault_111:shaders/sources/inc/glow_solid.def" 10 | ] 11 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/bsdf_palete.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn_inst.vs", 6 | "samples:shaders/sources/pipeline/deffered_pass/deffered.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | // Sample specific shaders 9 | "vault_111:shaders/sources/regular.fs,vault_111:shaders/sources/inc/palete_yellow.def", 10 | "vault_111:shaders/sources/utils/Normal.fs", 11 | "vault_111:shaders/sources/utils/Specular.fs" 12 | ] 13 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/bsdf_palete_blue.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn_inst.vs", 6 | "samples:shaders/sources/pipeline/deffered_pass/deffered.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | // Sample specific shaders 9 | "vault_111:shaders/sources/regular.fs,vault_111:shaders/sources/inc/palete_blue.def", 10 | "vault_111:shaders/sources/utils/Normal.fs", 11 | "vault_111:shaders/sources/utils/Specular.fs" 12 | ] 13 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/bsdf_palete_red.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn_inst.vs", 6 | "samples:shaders/sources/pipeline/deffered_pass/deffered.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | // Sample specific shaders 9 | "vault_111:shaders/sources/regular.fs,vault_111:shaders/sources/inc/palete_red.def", 10 | "vault_111:shaders/sources/utils/Normal.fs", 11 | "vault_111:shaders/sources/utils/Specular.fs" 12 | ] 13 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/bsdf_prepare.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn_inst.vs", 6 | "samples:shaders/sources/pipeline/deffered_pass/deffered.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | // Sample specific shaders 9 | "vault_111:shaders/sources/regular.fs", 10 | "vault_111:shaders/sources/utils/Normal.fs", 11 | "vault_111:shaders/sources/utils/Specular.fs" 12 | ] 13 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/bsdf_reactor_glow.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/v_tbn_inst.vs", 6 | "samples:shaders/sources/pipeline/forward_pass/forward.fs", 7 | "samples:shaders/sources/pbr/pbr.fs", 8 | "samples:shaders/sources/pbr/brdf_oren_nayar_approx.fs", 9 | "samples:shaders/sources/pbr/brdf_indirect.fs,vault_111:shaders/sources/inc/pbr_params.def", 10 | "samples:shaders/sources/shadow/pcf.fs,vault_111:shaders/sources/inc/shadow_params.def", 11 | "samples:shaders/sources/common/common.fs", 12 | // Sample specific shaders 13 | "vault_111:shaders/sources/reactor_glow.fs" 14 | ] 15 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/depth_pass/depth.vs", 6 | "samples:shaders/sources/pipeline/depth_pass/depth.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | "samples:shaders/sources/common/stub.fs" 9 | ] 10 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/depth_alpha.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/depth_pass/depth.vs", 6 | "samples:shaders/sources/pipeline/depth_pass/depth.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | // Sample specific shaders 9 | "vault_111:shaders/sources/alpha_depth.fs" 10 | ] 11 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/post_process.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/postprocess_pass/postprocess.vs", 6 | "samples:shaders/sources/pipeline/postprocess_pass/postprocess_bloom.fs", 7 | "samples:shaders/sources/antialiasing/fxaa.fs", 8 | "samples:shaders/sources/antialiasing/fxaa_texcoords.vs", 9 | "samples:shaders/sources/common/common.fs", 10 | "samples:shaders/sources/common/stub.fs" 11 | ] 12 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/shadow.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/shadow_pass/shadow_inst.vs", 6 | "samples:shaders/sources/pipeline/shadow_pass/shadow_split.gs", 7 | "samples:shaders/sources/pipeline/depth_pass/depth.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/shadow_alpha.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/pipeline/shadow_pass/shadow_inst.vs", 6 | "samples:shaders/sources/pipeline/shadow_pass/shadow_split.gs", 7 | "samples:shaders/sources/pipeline/depth_pass/depth.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | // Sample specific shaders 10 | "vault_111:shaders/sources/alpha_depth.fs" 11 | ] 12 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/shadow_map_clean.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/bigtriangle.vs", 6 | "samples:shaders/sources/pipeline/shadow_clean_pass/shadow_clean_split.gs", 7 | "samples:shaders/sources/pipeline/shadow_clean_pass/shadow_clean.fs" 8 | ] 9 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/json/ssao.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | // Standard shaders with params customization 5 | "samples:shaders/sources/bigtriangle.vs", 6 | "samples:shaders/sources/ssao/ssao.fs,vault_111:shaders/sources/inc/ssao_params.def", 7 | "samples:shaders/sources/common/common.fs", 8 | "samples:shaders/sources/common/stub.fs" 9 | ] 10 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/alpha_depth.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D Albedo; 2 | 3 | vec4 getAlbedo(vec2 uv) 4 | { 5 | return texture(Albedo, uv); 6 | } 7 | 8 | vec3 getNormal(vec2 uv, mat3 tbn) 9 | { 10 | return tbn[2]; 11 | } 12 | 13 | vec3 getEmission(vec2 uv) 14 | { 15 | return vec3(0.0); 16 | } 17 | 18 | vec3 getSpecular(vec2 uv) 19 | { 20 | return vec3(1.0, 1.0, 0.0); 21 | } 22 | 23 | float getSpecularAmbient(vec2 uv) 24 | { 25 | return 1.0; 26 | } 27 | 28 | float getAmbientOcclusion(vec2 uv) 29 | { 30 | return 1.0; 31 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/alpha_glow.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D Albedo; 2 | uniform sampler2D Emission; 3 | uniform float EmissionStrength; 4 | 5 | vec4 getAlbedo(vec2 uv) 6 | { 7 | return texture(Albedo, uv); 8 | } 9 | 10 | vec3 getEmission(vec2 uv) 11 | { 12 | return texture(Emission, uv).rgb * EmissionStrength; 13 | } 14 | 15 | vec3 getNormal(vec2 uv, mat3 tbn) 16 | { 17 | return tbn[2]; 18 | } 19 | 20 | vec3 getSpecular(vec2 uv) 21 | { 22 | return vec3(0.5, 1.0, 0.0); 23 | } 24 | 25 | float getAmbientOcclusion(vec2 uv) 26 | { 27 | return 1.0; 28 | } 29 | 30 | float getSpecularAmbient(vec2 uv) 31 | { 32 | return 0.1; 33 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/glow_falloff.fs: -------------------------------------------------------------------------------- 1 | uniform vec4 Emission; 2 | uniform float EmissionStrength; 3 | 4 | vec4 getAlbedo(vec2 uv) 5 | { 6 | float alpha = smoothstep(mix(0.01, 0.5, uv.x), 0.8, uv.x) / 10.0; 7 | return vec4(Emission.rgb, alpha); 8 | } 9 | 10 | vec3 getEmission(vec2 uv) 11 | { 12 | return Emission.rgb * EmissionStrength; 13 | } 14 | 15 | vec3 getNormal(vec2 uv, mat3 tbn) 16 | { 17 | return tbn[2]; 18 | } 19 | 20 | vec3 getSpecular(vec2 uv) 21 | { 22 | return vec3(0.5, 1.0, 0.0); 23 | } 24 | 25 | float getAmbientOcclusion(vec2 uv) 26 | { 27 | return 1.0; 28 | } 29 | 30 | float getSpecularAmbient(vec2 uv) 31 | { 32 | return 0.1; 33 | } 34 | -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/inc/glow.def: -------------------------------------------------------------------------------- 1 | #define MRT_WITH_EMISSION -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/inc/glow_green.def: -------------------------------------------------------------------------------- 1 | #define MRT_WITH_EMISSION 2 | #define EMISSION_GREEN vec3(0.0, 1.0, 0.0) -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/inc/glow_solid.def: -------------------------------------------------------------------------------- 1 | #define MRT_WITH_EMISSION_SOLID -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/inc/palete_blue.def: -------------------------------------------------------------------------------- 1 | #define PALETE_BLUE vec3(0.082, 0.600, 0.941) -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/inc/palete_red.def: -------------------------------------------------------------------------------- 1 | #define PALETE_RED vec3(0.941, 0.095, 0.082) -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/inc/palete_yellow.def: -------------------------------------------------------------------------------- 1 | #define PALETE_YELLOW vec3(0.65, 0.62, 0.34) -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/inc/pbr_params.def: -------------------------------------------------------------------------------- 1 | #define LITE3D_ENV_DIFFUSE_STRENGTH 0.08 2 | #define LITE3D_CUBE_MAP_UV_SCALE -1.0 3 | -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/inc/shadow_params.def: -------------------------------------------------------------------------------- 1 | #define LITE3D_SHADOW_MIN_ADAPTIVE_BIAS 0.00005 2 | #define LITE3D_SHADOW_MAX_ADAPTIVE_BIAS 0.0002 3 | #define LITE3D_SHADOW_MIN_ADAPTIVE_FILTER_SIZE 1.0 4 | #define LITE3D_SHADOW_MAX_ADAPTIVE_FILTER_SIZE 2.4 5 | #define LITE3D_SHADOW_MIN_ADAPTIVE_STEP 0.8 -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/inc/ssao_params.def: -------------------------------------------------------------------------------- 1 | #define LITE3D_SSAO_MAX_DEPTH_SAMPLES 60 2 | #define LITE3D_SSAO_SAMPLE_BIAS 0.030 3 | #define LITE3D_SSAO_POWER 1.0 -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/reactor_glow.fs: -------------------------------------------------------------------------------- 1 | uniform vec4 Emission; 2 | uniform float EmissionStrength; 3 | uniform float Alpha; 4 | 5 | vec4 getAlbedo(vec2 uv) 6 | { 7 | return vec4(Emission.rgb, Alpha); 8 | } 9 | 10 | vec3 getEmission(vec2 uv) 11 | { 12 | return Emission.rgb * EmissionStrength; 13 | } 14 | 15 | vec3 getNormal(vec2 uv, mat3 tbn) 16 | { 17 | return tbn[2]; 18 | } 19 | 20 | vec3 getSpecular(vec2 uv) 21 | { 22 | return vec3(0.5, 1.0, 0.0); 23 | } 24 | 25 | float getAmbientOcclusion(vec2 uv) 26 | { 27 | return 1.0; 28 | } 29 | 30 | float getSpecularAmbient(vec2 uv) 31 | { 32 | return 0.1; 33 | } 34 | -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/regular_alpha.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D Albedo; 2 | uniform float SpecularAmbientFactor; 3 | 4 | vec3 sampleSpecular(vec2 iuv); 5 | vec3 sampleNormal(vec2 iuv, mat3 tbn); 6 | 7 | vec4 getAlbedo(vec2 uv) 8 | { 9 | return texture(Albedo, uv); 10 | } 11 | 12 | vec3 getEmission(vec2 uv) 13 | { 14 | return vec3(0.0); 15 | } 16 | 17 | vec3 getNormal(vec2 uv, mat3 tbn) 18 | { 19 | return sampleNormal(uv, tbn); 20 | } 21 | 22 | vec3 getSpecular(vec2 uv) 23 | { 24 | return sampleSpecular(uv); 25 | } 26 | 27 | float getAmbientOcclusion(vec2 uv) 28 | { 29 | return 1.0; 30 | } 31 | 32 | float getSpecularAmbient(vec2 uv) 33 | { 34 | return SpecularAmbientFactor; 35 | } -------------------------------------------------------------------------------- /media/vault_111/shaders/sources/utils/Specular.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D Specular; 2 | uniform float SpecularFactor; 3 | uniform float MetallicFactor; 4 | 5 | vec3 sampleSpecular(vec2 uv) 6 | { 7 | vec3 specular = texture(Specular, uv).rgb; 8 | specular = vec3(specular.r * SpecularFactor, clamp(1.0 - specular.g, 0.05, 1.0), specular.r * MetallicFactor); 9 | return clamp(specular, 0.0, 1.0); 10 | } -------------------------------------------------------------------------------- /media/vault_df/materials/combine.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1, 5 | "Program":{ 6 | "Name":"combine.program", 7 | "Path":"vaultmat:shaders/json/combine.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"lightMap", 20 | "TextureName": "lightMap.texture", 21 | "Type":"sampler" 22 | }, 23 | { 24 | "Name":"diffuseMap", 25 | "TextureName": "diffuseMap.texture", 26 | "Type":"sampler" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /media/vault_df/materials/eccell.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"eccell.texture", 21 | "TexturePath":"vault:textures/json/eccell.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"eccell_n.texture", 27 | "TexturePath":"vault:textures/json/eccell_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /media/vault_df/materials/laserrifle01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"laserrifle01.texture", 21 | "TexturePath":"vault:textures/json/laserrifle01.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"laserrifle01_n.texture", 27 | "TexturePath":"vault:textures/json/laserrifle01_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/laserrifle02.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"laserrifle02.texture", 21 | "TexturePath":"vault:textures/json/laserrifle02.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"laserrifle02_n.texture", 27 | "TexturePath":"vault:textures/json/laserrifle02_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/lava.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"lava.program", 7 | "Path":"vaultmat:shaders/json/lava.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"animcounter", 20 | "Type":"float", 21 | "Value": 0, 22 | "Scope":"global" 23 | }, 24 | { 25 | "Name":"diffuse", 26 | "TextureName":"lava.texture", 27 | "TexturePath":"vault:textures/json/lava.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/minigun.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"minigun.texture", 21 | "TexturePath":"vault:textures/json/minigun.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"minigun_n.texture", 27 | "TexturePath":"vault:textures/json/minigun_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vconcrete01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vconcrete01.texture", 21 | "TexturePath":"vault:textures/json/vconcrete01.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vconcrete01_n.texture", 27 | "TexturePath":"vault:textures/json/vconcrete01_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vconcrete02.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vconcrete02.texture", 21 | "TexturePath":"vault:textures/json/vconcrete02.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vconcrete02_n.texture", 27 | "TexturePath":"vault:textures/json/vconcrete02_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vconcrete03.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vconcrete03.texture", 21 | "TexturePath":"vault:textures/json/vconcrete03.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vconcrete03_n.texture", 27 | "TexturePath":"vault:textures/json/vconcrete03_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vdoorframe.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vdoor01.texture", 21 | "TexturePath":"vault:textures/json/vdoor01.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vdoor01_n.texture", 27 | "TexturePath":"vault:textures/json/vdoor01_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vfloor02.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vfloor02.texture", 21 | "TexturePath":"vault:textures/json/vfloor02.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vfloor02_n.texture", 27 | "TexturePath":"vault:textures/json/vfloor02_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vfloor03.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vfloor03.texture", 21 | "TexturePath":"vault:textures/json/vfloor03.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vfloor03_n.texture", 27 | "TexturePath":"vault:textures/json/vfloor03_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vmetal01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vmetal01.texture", 21 | "TexturePath":"vault:textures/json/vmetal01.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vmetal01_n.texture", 27 | "TexturePath":"vault:textures/json/vmetal01_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vpipecap01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vpipecap01.texture", 21 | "TexturePath":"vault:textures/json/vpipecap01.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vpipecap01_n.texture", 27 | "TexturePath":"vault:textures/json/vpipecap01_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vquad01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vquad01.texture", 21 | "TexturePath":"vault:textures/json/vquad01.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vquad01_n.texture", 27 | "TexturePath":"vault:textures/json/vquad01_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vtechbox01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vtechbox01.texture", 21 | "TexturePath":"vault:textures/json/vtechbox01.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vtechbox01_n.texture", 27 | "TexturePath":"vault:textures/json/vtechbox01_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vtrim02.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vtrim02.texture", 21 | "TexturePath":"vault:textures/json/vtrim02.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vtrim02_n.texture", 27 | "TexturePath":"vault:textures/json/vtrim02_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vtrim03.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vtrim03.texture", 21 | "TexturePath":"vault:textures/json/vtrim03.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vtrim03_n.texture", 27 | "TexturePath":"vault:textures/json/vtrim03_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vtrim04.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vtrim04.texture", 21 | "TexturePath":"vault:textures/json/vtrim04.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vtrim04_n.texture", 27 | "TexturePath":"vault:textures/json/vtrim04_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/materials/vwall01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1.0000000000, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"vaultmat:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projectionMatrix" 14 | }, 15 | { 16 | "Name":"viewMatrix" 17 | }, 18 | { 19 | "Name":"diffuse", 20 | "TextureName":"vwall01.texture", 21 | "TexturePath":"vault:textures/json/vwall01.json", 22 | "Type":"sampler" 23 | }, 24 | { 25 | "Name":"normals", 26 | "TextureName":"vwall01_n.texture", 27 | "TexturePath":"vault:textures/json/vwall01_n.json", 28 | "Type":"sampler" 29 | } 30 | ] 31 | } -------------------------------------------------------------------------------- /media/vault_df/shaders/json/combine.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/triangle.vs", 5 | "vaultmat:shaders/sources/combine.fs", 6 | "samples:shaders/sources/common/common.fs", 7 | "samples:shaders/sources/common/stub.fs" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /media/vault_df/shaders/json/combine_blend.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/combine_blend.fs", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ubo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_df/shaders/json/combine_blend_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/combine_blend.fs,vaultmat:shaders/sources/def/glass.def", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ubo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_df/shaders/json/combine_blend_illum.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/combine_blend.fs,vaultmat:shaders/sources/def/illum.def", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ubo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_df/shaders/json/lava.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/prepass_lava.fs" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /media/vault_df/shaders/json/lightpass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/triangle.vs", 5 | "vaultmat:shaders/sources/lightpass.fs", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/common/common.fs", 8 | "samples:shaders/sources/common/stub.fs" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /media/vault_df/shaders/json/postprocess.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/postprocess.vs", 5 | "vaultmat:shaders/sources/postprocess.fs", 6 | "samples:shaders/sources/antialiasing/fxaa.fs", 7 | "samples:shaders/sources/antialiasing/fxaa_texcoords.vs" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /media/vault_df/shaders/json/prepass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/prepass.fs", 6 | "samples:shaders/sources/common/common.fs", 7 | "samples:shaders/sources/common/stub.fs" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /media/vault_df/shaders/json/prepass_illum.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/prepass.fs,vaultmat:shaders/sources/def/illum.def", 6 | "samples:shaders/sources/common/common.fs", 7 | "samples:shaders/sources/common/stub.fs" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /media/vault_df/shaders/json/prepass_parallax.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/prepass.fs,vaultmat:shaders/sources/def/parallax.def", 6 | "samples:shaders/sources/common/common.fs", 7 | "samples:shaders/sources/common/stub.fs" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /media/vault_df/shaders/sources/combine.fs: -------------------------------------------------------------------------------- 1 | #include "samples:shaders/sources/common/common_inc.glsl" 2 | 3 | uniform sampler2D lightMap; 4 | uniform sampler2D diffuseMap; 5 | 6 | in vec2 iuv; 7 | out vec4 fragColor; 8 | 9 | const vec3 ambient = vec3(0.07, 0.07, 0.07); 10 | 11 | void main() 12 | { 13 | /* fragment coordinate */ 14 | vec4 diff = texture(diffuseMap, iuv); 15 | /* check fragment not shaded or self-illum material */ 16 | if (isNear(diff.w, 1.0)) 17 | { 18 | fragColor = vec4(diff.xyz, 1.0); 19 | return; 20 | } 21 | 22 | vec3 linear = texture(lightMap, iuv).rgb; 23 | /* result color in LDR */ 24 | fragColor = vec4(diff.rgb * (ambient + linear), 1.0); 25 | } -------------------------------------------------------------------------------- /media/vault_df/shaders/sources/def/glass.def: -------------------------------------------------------------------------------- 1 | #define GLASS 2 | -------------------------------------------------------------------------------- /media/vault_df/shaders/sources/def/illum.def: -------------------------------------------------------------------------------- 1 | #define CALC_ILLUM 2 | -------------------------------------------------------------------------------- /media/vault_df/shaders/sources/def/parallax.def: -------------------------------------------------------------------------------- 1 | #define CALC_PARALLAX 2 | -------------------------------------------------------------------------------- /media/vault_df/shaders/sources/postprocess.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec2 ivertex; 2 | 3 | uniform mat4 projectionMatrix; 4 | uniform mat4 viewMatrix; 5 | uniform vec3 screenResolution; 6 | 7 | out vec2 iuv; 8 | out vec2 irgbNW; 9 | out vec2 irgbNE; 10 | out vec2 irgbSW; 11 | out vec2 irgbSE; 12 | out vec2 irgbM; 13 | 14 | // needed for compute fxaa 15 | void texcoords(vec2 fragCoord, vec2 resolution, 16 | out vec2 rgbNW, out vec2 rgbNE, 17 | out vec2 rgbSW, out vec2 rgbSE, 18 | out vec2 rgbM); 19 | 20 | void main() 21 | { 22 | iuv = ivertex; 23 | gl_Position = projectionMatrix * viewMatrix * vec4(ivertex.xy, 0.0, 1.0); 24 | 25 | texcoords(iuv * screenResolution.xy, screenResolution.xy, irgbNW, irgbNE, irgbSW, irgbSE, irgbM); 26 | } -------------------------------------------------------------------------------- /media/vault_df/shaders/sources/prepass_lava.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D diffuse; 2 | uniform float animcounter; // [0..1] 3 | 4 | in vec2 iuv; 5 | in vec3 ivv; 6 | in vec3 wnorm; 7 | 8 | layout(location = 0) out vec4 coord; 9 | layout(location = 1) out vec4 norm; 10 | layout(location = 2) out vec4 color; 11 | 12 | void main() 13 | { 14 | // sampling diffuse color 15 | vec4 fragDiffuse = vec4(texture(diffuse, vec2(iuv.x, iuv.y + animcounter)).rgb, 1.0); 16 | coord = vec4(ivv, gl_FragCoord.z / gl_FragCoord.w); 17 | norm = vec4(wnorm, 0); 18 | color = fragDiffuse; 19 | } -------------------------------------------------------------------------------- /media/vault_df/shaders/sources/triangle.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec2 ivertex; 2 | 3 | uniform mat4 projectionMatrix; 4 | uniform mat4 viewMatrix; 5 | 6 | out vec2 iuv; 7 | 8 | void main() 9 | { 10 | iuv = ivertex; 11 | gl_Position = projectionMatrix * viewMatrix * vec4(ivertex.xy, 0.0, 1.0); 12 | } -------------------------------------------------------------------------------- /media/vault_df/targets/combine.json: -------------------------------------------------------------------------------- 1 | { 2 | "Width": 0, // use screen wight 3 | "Height": 0, // use screen height 4 | "BackgroundColor": [0.0, 0.0, 0.0, 1.0], 5 | "Priority": 3, // render after lightpass target 6 | "CleanColorBuf": false, 7 | "CleanDepthBuf": false, 8 | "CleanStencilBuf": false, 9 | 10 | "ColorAttachments": 11 | { 12 | "Attachments": 13 | [ 14 | { 15 | "TextureName": "combined.texture", 16 | "TexturePath": "samples:textures/json/rgba.json" 17 | } 18 | ] 19 | }, 20 | 21 | "DepthAttachments": 22 | { 23 | "TextureName": "prepassDepth.texture" 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /media/vault_df/targets/lightpass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Width": 0, // use screen wight 3 | "Height": 0, // use screen height 4 | "BackgroundColor": [0.0, 0.0, 0.0, 1.0], 5 | "Priority": 2, // render after prepass target 6 | "CleanColorBuf": true, 7 | "CleanDepthBuf": false, 8 | "CleanStencilBuf": false, 9 | 10 | "ColorAttachments": 11 | { 12 | "Attachments": 13 | [ 14 | { 15 | "TextureName": "lightMap.texture", 16 | "TexturePath": "samples:textures/json/rgba.json" 17 | } 18 | ] 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /media/vault_dr_ssbo/shaders/json/lava.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultshader:shaders/sources/prepass.vs", 5 | "vaultshader:shaders/sources/prepass_lava.fs" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /media/vault_dr_ssbo/shaders/json/postprocess.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultshader:shaders/sources/postprocess.vs", 5 | "vaultshader:shaders/sources/postprocess.fs", 6 | "samples:shaders/sources/antialiasing/fxaa.fs", 7 | "samples:shaders/sources/antialiasing/fxaa_texcoords.vs" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /media/vault_dr_ssbo/shaders/json/prepass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultshader:shaders/sources/prepass.vs", 5 | "vaultshader:shaders/sources/prepass.fs", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ssbo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_dr_ssbo/shaders/json/prepass_depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultshader:shaders/sources/depth.vs", 5 | "vaultshader:shaders/sources/depth.fs" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /media/vault_dr_ssbo/shaders/json/prepass_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultshader:shaders/sources/prepass.vs", 5 | "vaultshader:shaders/sources/prepass.fs,vaultshader:shaders/sources/def/glass.def", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ssbo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_dr_ssbo/shaders/json/prepass_illum.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultshader:shaders/sources/prepass.vs", 5 | "vaultshader:shaders/sources/prepass.fs,vaultshader:shaders/sources/def/illum.def", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ssbo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_dr_ssbo/shaders/json/prepass_parallax.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultshader:shaders/sources/prepass.vs", 5 | "vaultshader:shaders/sources/prepass.fs,vaultshader:shaders/sources/def/parallax.def", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ssbo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_dr_ssbo/targets/combine.json: -------------------------------------------------------------------------------- 1 | { 2 | "Width": 0, // use screen wight 3 | "Height": 0, // use screen height 4 | "BackgroundColor": [0.0, 0.0, 0.0, 1.0], 5 | "Priority": 3, // render after depth pass 6 | "CleanColorBuf": true, 7 | "CleanDepthBuf": false, 8 | "CleanStencilBuf": false, 9 | 10 | "ColorAttachments": 11 | { 12 | "Attachments": 13 | [ 14 | { 15 | "TextureName": "combined.texture", 16 | "TexturePath": "samples:textures/json/rgba.json" 17 | } 18 | ] 19 | }, 20 | 21 | "DepthAttachments": 22 | { 23 | "TextureName": "prepassDepth.texture" 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /media/vault_dr_ssbo/targets/depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "Width": 0, // use screen wight 3 | "Height": 0, // use screen height 4 | "BackgroundColor": [0.0, 0.0, 0.0, 1.0], 5 | "Priority": 1, // render first 6 | "CleanColorBuf": false, 7 | "CleanDepthBuf": true, 8 | "CleanStencilBuf": false, 9 | 10 | "DepthAttachments": 11 | { 12 | "TextureName": "prepassDepth.texture", 13 | "TexturePath": "samples:textures/json/depth.json" 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/json/lava.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/prepass_lava.fs" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/json/postprocess.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/postprocess.vs", 5 | "vaultmat:shaders/sources/postprocess.fs", 6 | "samples:shaders/sources/antialiasing/fxaa.fs", 7 | "samples:shaders/sources/antialiasing/fxaa_texcoords.vs" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/json/prepass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/prepass.fs", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ubo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/json/prepass_depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/depth.vs", 5 | "vaultmat:shaders/sources/depth.fs" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/json/prepass_glass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/prepass.fs,vaultmat:shaders/sources/def/glass.def", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ubo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/json/prepass_illum.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/prepass.fs,vaultmat:shaders/sources/def/illum.def", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ubo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/json/prepass_parallax.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "vaultmat:shaders/sources/prepass.vs", 5 | "vaultmat:shaders/sources/prepass.fs,vaultmat:shaders/sources/def/parallax.def", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ubo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/sources/def/glass.def: -------------------------------------------------------------------------------- 1 | #define GLASS 2 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/sources/def/illum.def: -------------------------------------------------------------------------------- 1 | #define CALC_ILLUM 2 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/sources/def/parallax.def: -------------------------------------------------------------------------------- 1 | #define CALC_PARALLAX 2 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/sources/depth.fs: -------------------------------------------------------------------------------- 1 | out vec4 fragColor; 2 | 3 | void main() 4 | { 5 | fragColor = vec4(0.0, 0.0, 0.0, 1.0); 6 | } -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/sources/depth.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec3 vertex; 2 | layout(location = 1) in vec3 normal; 3 | layout(location = 2) in vec2 uv; 4 | layout(location = 3) in vec3 tang; 5 | layout(location = 4) in mat4 modelMatrix; 6 | 7 | uniform mat4 projectionMatrix; 8 | uniform mat4 viewMatrix; 9 | 10 | void main() 11 | { 12 | // vertex coordinate in world space 13 | vec4 wv = modelMatrix * vec4(vertex, 1); 14 | gl_Position = projectionMatrix * viewMatrix * wv; 15 | } -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/sources/postprocess.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec2 ivertex; 2 | 3 | uniform mat4 projectionMatrix; 4 | uniform mat4 viewMatrix; 5 | uniform vec3 screenResolution; 6 | 7 | out vec2 iuv; 8 | out vec2 irgbNW; 9 | out vec2 irgbNE; 10 | out vec2 irgbSW; 11 | out vec2 irgbSE; 12 | out vec2 irgbM; 13 | 14 | // needed for compute fxaa 15 | void texcoords(vec2 fragCoord, vec2 resolution, 16 | out vec2 rgbNW, out vec2 rgbNE, 17 | out vec2 rgbSW, out vec2 rgbSE, 18 | out vec2 rgbM); 19 | 20 | void main() 21 | { 22 | iuv = ivertex; 23 | gl_Position = projectionMatrix * viewMatrix * vec4(ivertex.xy, 0.0, 1.0); 24 | 25 | texcoords(iuv * screenResolution.xy, screenResolution.xy, irgbNW, irgbNE, irgbSW, irgbSE, irgbM); 26 | } -------------------------------------------------------------------------------- /media/vault_dr_ubo/shaders/sources/prepass_lava.fs: -------------------------------------------------------------------------------- 1 | uniform sampler2D diffuse; 2 | uniform float animcounter; // [0..1] 3 | 4 | in vec2 iuv; 5 | in vec3 ivv; 6 | in vec3 wnorm; 7 | 8 | out vec4 fragColor; 9 | 10 | const vec3 fogColor = vec3(0.0, 0.95, 0.89); 11 | 12 | vec3 fogFunc(vec3 frag, vec3 fc) 13 | { 14 | const float density = 0.0005; 15 | const float LOG2 = 1.442695; 16 | 17 | float zfactor = gl_FragCoord.z / gl_FragCoord.w; 18 | float fogFactor = clamp(exp2(-density * density * zfactor * zfactor * LOG2), 0.0, 1.0); 19 | return mix(fc, frag, fogFactor); 20 | } 21 | 22 | void main() 23 | { 24 | /* calculate fog factor */ 25 | fragColor = vec4(fogFunc(texture(diffuse, vec2(iuv.x, iuv.y + animcounter)).rgb, fogColor), 1.0); 26 | } -------------------------------------------------------------------------------- /media/vault_dr_ubo/targets/combine.json: -------------------------------------------------------------------------------- 1 | { 2 | "Width": 0, // use screen wight 3 | "Height": 0, // use screen height 4 | "BackgroundColor": [0.0, 0.0, 0.0, 1.0], 5 | "Priority": 3, // render after depth pass 6 | "CleanColorBuf": true, 7 | "CleanDepthBuf": false, 8 | "CleanStencilBuf": false, 9 | 10 | "ColorAttachments": 11 | { 12 | "Attachments": 13 | [ 14 | { 15 | "TextureName": "combined.texture", 16 | "TexturePath": "samples:textures/json/rgba.json" 17 | } 18 | ] 19 | }, 20 | 21 | "DepthAttachments": 22 | { 23 | "TextureName": "prepassDepth.texture" 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /media/vault_dr_ubo/targets/depth.json: -------------------------------------------------------------------------------- 1 | { 2 | "Width": 0, // use screen wight 3 | "Height": 0, // use screen height 4 | "BackgroundColor": [0.0, 0.0, 0.0, 1.0], 5 | "Priority": 1, // render first 6 | "CleanColorBuf": false, 7 | "CleanDepthBuf": true, 8 | "CleanStencilBuf": false, 9 | 10 | "DepthAttachments": 11 | { 12 | "TextureName": "prepassDepth.texture", 13 | "TexturePath": "samples:textures/json/depth.json" 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /media/warship/materials/rcsidepanel01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"warship:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projViewMatrix" 14 | }, 15 | { 16 | "Name":"diffuse", 17 | "TextureName":"rcsidepanel01.texture", 18 | "TexturePath":"warship:textures/json/rcsidepanel01.json", 19 | "Type":"sampler" 20 | }, 21 | { 22 | "Name":"normals", 23 | "TextureName":"rcsidepanel01_n.texture", 24 | "TexturePath":"warship:textures/json/rcsidepanel01_n.json", 25 | "Type":"sampler" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /media/warship/materials/rcsidepanel02.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"warship:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projViewMatrix" 14 | }, 15 | { 16 | "Name":"diffuse", 17 | "TextureName":"rcsidepanel02.texture", 18 | "TexturePath":"warship:textures/json/rcsidepanel02.json", 19 | "Type":"sampler" 20 | }, 21 | { 22 | "Name":"normals", 23 | "TextureName":"rcsidepanel02_n.texture", 24 | "TexturePath":"warship:textures/json/rcsidepanel02_n.json", 25 | "Type":"sampler" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /media/warship/materials/rcsidepanel03.json: -------------------------------------------------------------------------------- 1 | { 2 | "Passes":[ 3 | { 4 | "Pass":1, 5 | "Program":{ 6 | "Name":"prepass.program", 7 | "Path":"warship:shaders/json/prepass.json" 8 | } 9 | } 10 | ], 11 | "Uniforms":[ 12 | { 13 | "Name":"projViewMatrix" 14 | }, 15 | { 16 | "Name":"diffuse", 17 | "TextureName":"rcsidepanel03.texture", 18 | "TexturePath":"warship:textures/json/rcsidepanel03.json", 19 | "Type":"sampler" 20 | }, 21 | { 22 | "Name":"normals", 23 | "TextureName":"rcsidepanel03_n.texture", 24 | "TexturePath":"warship:textures/json/rcsidepanel03_n.json", 25 | "Type":"sampler" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /media/warship/models/json/BigTriangle.json: -------------------------------------------------------------------------------- 1 | { 2 | "Model":"BigTriangle", 3 | "Dynamic": false 4 | } -------------------------------------------------------------------------------- /media/warship/models/json/RCHallSm1Way02.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec":"m", 3 | "MaterialMapping":[ 4 | { 5 | "Material":{ 6 | "Material":"warship:materials/rcsidepanel01.json", 7 | "Name":"rcsidepanel01.material" 8 | }, 9 | "MaterialIndex":0.0000000000 10 | }, 11 | { 12 | "Material":{ 13 | "Material":"warship:materials/rcsidepanel02.json", 14 | "Name":"rcsidepanel02.material" 15 | }, 16 | "MaterialIndex":1.0000000000 17 | }, 18 | { 19 | "Material":{ 20 | "Material":"warship:materials/rcsidepanel03.json", 21 | "Name":"rcsidepanel03.material" 22 | }, 23 | "MaterialIndex":2.0000000000 24 | } 25 | ], 26 | "Model":"warship:models/meshes/RCHallSm1Way02.m" 27 | } -------------------------------------------------------------------------------- /media/warship/models/json/RCHallSm1Way03.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec":"m", 3 | "MaterialMapping":[ 4 | { 5 | "Material":{ 6 | "Material":"warship:materials/rcsidepanel01.json", 7 | "Name":"rcsidepanel01.material" 8 | }, 9 | "MaterialIndex":0.0000000000 10 | }, 11 | { 12 | "Material":{ 13 | "Material":"warship:materials/rcsidepanel02.json", 14 | "Name":"rcsidepanel02.material" 15 | }, 16 | "MaterialIndex":1.0000000000 17 | }, 18 | { 19 | "Material":{ 20 | "Material":"warship:materials/rcsidepanel03.json", 21 | "Name":"rcsidepanel03.material" 22 | }, 23 | "MaterialIndex":2.0000000000 24 | } 25 | ], 26 | "Model":"warship:models/meshes/RCHallSm1Way03.m" 27 | } -------------------------------------------------------------------------------- /media/warship/models/json/RCHallSm1Way04.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec":"m", 3 | "MaterialMapping":[ 4 | { 5 | "Material":{ 6 | "Material":"warship:materials/rcsidepanel01.json", 7 | "Name":"rcsidepanel01.material" 8 | }, 9 | "MaterialIndex":0.0000000000 10 | }, 11 | { 12 | "Material":{ 13 | "Material":"warship:materials/rcsidepanel02.json", 14 | "Name":"rcsidepanel02.material" 15 | }, 16 | "MaterialIndex":1.0000000000 17 | }, 18 | { 19 | "Material":{ 20 | "Material":"warship:materials/rcsidepanel03.json", 21 | "Name":"rcsidepanel03.material" 22 | }, 23 | "MaterialIndex":2.0000000000 24 | } 25 | ], 26 | "Model":"warship:models/meshes/RCHallSm1Way04.m" 27 | } -------------------------------------------------------------------------------- /media/warship/models/json/RCHallSm1Way05.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec":"m", 3 | "MaterialMapping":[ 4 | { 5 | "Material":{ 6 | "Material":"warship:materials/rcsidepanel01.json", 7 | "Name":"rcsidepanel01.material" 8 | }, 9 | "MaterialIndex":0.0000000000 10 | }, 11 | { 12 | "Material":{ 13 | "Material":"warship:materials/rcsidepanel02.json", 14 | "Name":"rcsidepanel02.material" 15 | }, 16 | "MaterialIndex":1.0000000000 17 | }, 18 | { 19 | "Material":{ 20 | "Material":"warship:materials/rcsidepanel03.json", 21 | "Name":"rcsidepanel03.material" 22 | }, 23 | "MaterialIndex":2.0000000000 24 | } 25 | ], 26 | "Model":"warship:models/meshes/RCHallSm1Way05.m" 27 | } -------------------------------------------------------------------------------- /media/warship/models/json/RCHallSm1Way06.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec":"m", 3 | "MaterialMapping":[ 4 | { 5 | "Material":{ 6 | "Material":"warship:materials/rcsidepanel01.json", 7 | "Name":"rcsidepanel01.material" 8 | }, 9 | "MaterialIndex":0.0000000000 10 | }, 11 | { 12 | "Material":{ 13 | "Material":"warship:materials/rcsidepanel02.json", 14 | "Name":"rcsidepanel02.material" 15 | }, 16 | "MaterialIndex":1.0000000000 17 | }, 18 | { 19 | "Material":{ 20 | "Material":"warship:materials/rcsidepanel03.json", 21 | "Name":"rcsidepanel03.material" 22 | }, 23 | "MaterialIndex":2.0000000000 24 | } 25 | ], 26 | "Model":"warship:models/meshes/RCHallSm1Way06.m" 27 | } -------------------------------------------------------------------------------- /media/warship/models/json/RCHallSm1WayEnd01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec":"m", 3 | "MaterialMapping":[ 4 | { 5 | "Material":{ 6 | "Material":"warship:materials/rcsidepanel01.json", 7 | "Name":"rcsidepanel01.material" 8 | }, 9 | "MaterialIndex":0.0000000000 10 | }, 11 | { 12 | "Material":{ 13 | "Material":"warship:materials/rcsidepanel02.json", 14 | "Name":"rcsidepanel02.material" 15 | }, 16 | "MaterialIndex":1.0000000000 17 | }, 18 | { 19 | "Material":{ 20 | "Material":"warship:materials/rcsidepanel03.json", 21 | "Name":"rcsidepanel03.material" 22 | }, 23 | "MaterialIndex":2.0000000000 24 | } 25 | ], 26 | "Model":"warship:models/meshes/RCHallSm1WayEnd01.m" 27 | } -------------------------------------------------------------------------------- /media/warship/models/json/RCHallSm1WayEnd02.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec":"m", 3 | "MaterialMapping":[ 4 | { 5 | "Material":{ 6 | "Material":"warship:materials/rcsidepanel01.json", 7 | "Name":"rcsidepanel01.material" 8 | }, 9 | "MaterialIndex":0.0000000000 10 | }, 11 | { 12 | "Material":{ 13 | "Material":"warship:materials/rcsidepanel02.json", 14 | "Name":"rcsidepanel02.material" 15 | }, 16 | "MaterialIndex":1.0000000000 17 | }, 18 | { 19 | "Material":{ 20 | "Material":"warship:materials/rcsidepanel03.json", 21 | "Name":"rcsidepanel03.material" 22 | }, 23 | "MaterialIndex":2.0000000000 24 | } 25 | ], 26 | "Model":"warship:models/meshes/RCHallSm1WayEnd02.m" 27 | } -------------------------------------------------------------------------------- /media/warship/models/json/RCLightBox.json: -------------------------------------------------------------------------------- 1 | { 2 | "Codec":"m", 3 | "MaterialMapping":[ 4 | { 5 | "Material":{ 6 | "Material":"warship:materials/rclight01.json", 7 | "Name":"rclight01.material" 8 | }, 9 | "MaterialIndex":3.0000000000 10 | } 11 | ], 12 | "Model":"warship:models/meshes/RCLightBox.m" 13 | } -------------------------------------------------------------------------------- /media/warship/models/meshes/RCHallSm1Way02.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/models/meshes/RCHallSm1Way02.m -------------------------------------------------------------------------------- /media/warship/models/meshes/RCHallSm1Way03.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/models/meshes/RCHallSm1Way03.m -------------------------------------------------------------------------------- /media/warship/models/meshes/RCHallSm1Way04.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/models/meshes/RCHallSm1Way04.m -------------------------------------------------------------------------------- /media/warship/models/meshes/RCHallSm1Way05.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/models/meshes/RCHallSm1Way05.m -------------------------------------------------------------------------------- /media/warship/models/meshes/RCHallSm1Way06.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/models/meshes/RCHallSm1Way06.m -------------------------------------------------------------------------------- /media/warship/models/meshes/RCHallSm1WayEnd01.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/models/meshes/RCHallSm1WayEnd01.m -------------------------------------------------------------------------------- /media/warship/models/meshes/RCHallSm1WayEnd02.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/models/meshes/RCHallSm1WayEnd02.m -------------------------------------------------------------------------------- /media/warship/models/meshes/RCLightBox.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/models/meshes/RCLightBox.m -------------------------------------------------------------------------------- /media/warship/objects/warship_combine_tri.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": 3 | { 4 | "Name": "BigTriangle.root", 5 | "Mesh": 6 | { 7 | "Name": "BigTriangle.mesh", 8 | "Mesh": "warship:models/json/BigTriangle.json", 9 | "MaterialMapping": 10 | [ 11 | { 12 | "MaterialIndex": 0, 13 | "Material": 14 | { 15 | "Name": "combine.material", 16 | "Material": "warship:materials/combine.json" 17 | } 18 | } 19 | ] 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /media/warship/objects/warship_postprocess_tri.json: -------------------------------------------------------------------------------- 1 | { 2 | "Root": 3 | { 4 | "Name": "BigTriangle.root", 5 | "Mesh": 6 | { 7 | "Name": "BigTriangle.mesh", 8 | "Mesh": "warship:models/json/BigTriangle.json", 9 | "MaterialMapping": 10 | [ 11 | { 12 | "MaterialIndex": 0, 13 | "Material": 14 | { 15 | "Name": "postprocess.material", 16 | "Material": "warship:materials/postprocess.json" 17 | } 18 | } 19 | ] 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /media/warship/shaders/json/combine.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "warship:shaders/sources/combine.vs", 5 | "warship:shaders/sources/combine.fs", 6 | "samples:shaders/sources/phong/phong_blinn_single.fs", 7 | "samples:shaders/sources/phong/lighting_ubo.fs", 8 | "samples:shaders/sources/common/common.fs", 9 | "samples:shaders/sources/common/stub.fs" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /media/warship/shaders/json/postprocess.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "warship:shaders/sources/postprocess.vs", 5 | "warship:shaders/sources/postprocess.fs", 6 | "samples:shaders/sources/antialiasing/fxaa.fs", 7 | "samples:shaders/sources/antialiasing/fxaa_texcoords.vs" 8 | ], 9 | 10 | "AttributesOrder": 11 | [ 12 | "ivertex" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /media/warship/shaders/json/prepass.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "warship:shaders/sources/prepass.vs", 5 | "warship:shaders/sources/prepass.fs" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /media/warship/shaders/json/prepass_illum.json: -------------------------------------------------------------------------------- 1 | { 2 | "Sources": 3 | [ 4 | "warship:shaders/sources/prepass.vs", 5 | "warship:shaders/sources/prepass_illum.fs", 6 | "samples:shaders/sources/common/common.fs", 7 | "samples:shaders/sources/common/stub.fs" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /media/warship/shaders/sources/combine.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec2 ivertex; 2 | 3 | uniform mat4 screenMatrix; 4 | 5 | out vec2 iuv; 6 | 7 | void main() 8 | { 9 | iuv = ivertex; 10 | gl_Position = screenMatrix * vec4(ivertex.xy, 0.0, 1.0); 11 | } -------------------------------------------------------------------------------- /media/warship/shaders/sources/postprocess.vs: -------------------------------------------------------------------------------- 1 | layout(location = 0) in vec2 ivertex; 2 | 3 | uniform mat4 screenMatrix; 4 | uniform vec3 screenResolution; 5 | 6 | out vec2 iuv; 7 | out vec2 irgbNW; 8 | out vec2 irgbNE; 9 | out vec2 irgbSW; 10 | out vec2 irgbSE; 11 | out vec2 irgbM; 12 | 13 | // needed for compute fxaa 14 | void texcoords(vec2 fragCoord, vec2 resolution, 15 | out vec2 rgbNW, out vec2 rgbNE, 16 | out vec2 rgbSW, out vec2 rgbSE, 17 | out vec2 rgbM); 18 | 19 | void main() 20 | { 21 | iuv = ivertex; 22 | gl_Position = screenMatrix * vec4(ivertex.xy, 0.0, 1.0); 23 | 24 | texcoords(iuv * screenResolution.xy, screenResolution.xy, irgbNW, irgbNE, irgbSW, irgbSE, irgbM); 25 | } -------------------------------------------------------------------------------- /media/warship/textures/images/rclight01.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/textures/images/rclight01.dds -------------------------------------------------------------------------------- /media/warship/textures/images/rclight01_g.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/textures/images/rclight01_g.dds -------------------------------------------------------------------------------- /media/warship/textures/images/rclight01_n.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/textures/images/rclight01_n.dds -------------------------------------------------------------------------------- /media/warship/textures/images/rcsidepanel01.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/textures/images/rcsidepanel01.dds -------------------------------------------------------------------------------- /media/warship/textures/images/rcsidepanel01_n.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/textures/images/rcsidepanel01_n.dds -------------------------------------------------------------------------------- /media/warship/textures/images/rcsidepanel02.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/textures/images/rcsidepanel02.dds -------------------------------------------------------------------------------- /media/warship/textures/images/rcsidepanel02_n.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/textures/images/rcsidepanel02_n.dds -------------------------------------------------------------------------------- /media/warship/textures/images/rcsidepanel03.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/textures/images/rcsidepanel03.dds -------------------------------------------------------------------------------- /media/warship/textures/images/rcsidepanel03_n.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/media/warship/textures/images/rcsidepanel03_n.dds -------------------------------------------------------------------------------- /media/warship/textures/json/rclight01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"warship:textures/images/rclight01.dds", 4 | "ImageFormat":"dds", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/warship/textures/json/rclight01_g.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"warship:textures/images/rclight01_g.dds", 4 | "ImageFormat":"dds", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/warship/textures/json/rclight01_n.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"warship:textures/images/rclight01_n.dds", 4 | "ImageFormat":"dds", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/warship/textures/json/rcsidepanel01.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"warship:textures/images/rcsidepanel01.dds", 4 | "ImageFormat":"dds", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/warship/textures/json/rcsidepanel01_n.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"warship:textures/images/rcsidepanel01_n.dds", 4 | "ImageFormat":"dds", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/warship/textures/json/rcsidepanel02.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"warship:textures/images/rcsidepanel02.dds", 4 | "ImageFormat":"dds", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/warship/textures/json/rcsidepanel02_n.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"warship:textures/images/rcsidepanel02_n.dds", 4 | "ImageFormat":"dds", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/warship/textures/json/rcsidepanel03.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"warship:textures/images/rcsidepanel03.dds", 4 | "ImageFormat":"dds", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /media/warship/textures/json/rcsidepanel03_n.json: -------------------------------------------------------------------------------- 1 | { 2 | "Filtering":"Trilinear", 3 | "Image":"warship:textures/images/rcsidepanel03_n.dds", 4 | "ImageFormat":"dds", 5 | "TextureType":"2D", 6 | "Wrapping":"Repeat" 7 | } -------------------------------------------------------------------------------- /tools/blender/custom_props.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/tools/blender/custom_props.png -------------------------------------------------------------------------------- /tools/blender/io_scene_lite3d/io.py: -------------------------------------------------------------------------------- 1 | import json 2 | from io_scene_lite3d.logger import log 3 | class IO: 4 | JsonIndent = 2 5 | 6 | @staticmethod 7 | def saveJson(path, collect): 8 | with open(path, 'w') as file: 9 | json.dump(collect, file, indent = IO.JsonIndent) 10 | log.info(f"saved ok {path}") 11 | -------------------------------------------------------------------------------- /tools/blender/origin_prop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/tools/blender/origin_prop.png -------------------------------------------------------------------------------- /tools/blender/params.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/tools/blender/params.png -------------------------------------------------------------------------------- /tools/cacl_attenuation.py: -------------------------------------------------------------------------------- 1 | 2 | distance = 600 3 | attenuation = 150.0 * distance * distance + 1500.0 * distance 4 | radiance = 120000.0 / attenuation 5 | print(f"radiance: {radiance}") -------------------------------------------------------------------------------- /vcpkg-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "default-registry": { 3 | "kind": "git", 4 | "baseline": "04b0cf2b3fd1752d3c3db969cbc10ba0a4613cee", 5 | "repository": "https://github.com/microsoft/vcpkg" 6 | }, 7 | "registries": [ 8 | { 9 | "kind": "artifact", 10 | "location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip", 11 | "name": "microsoft" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "3dlite", 3 | "version": "2.1.2", 4 | "dependencies": [ 5 | "assimp", 6 | "bullet3", 7 | "devil", 8 | "sdl2", 9 | "freetype" 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /winres/Resource.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/winres/Resource.rc -------------------------------------------------------------------------------- /winres/ResourceSample.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/winres/ResourceSample.rc -------------------------------------------------------------------------------- /winres/samples.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Siriuscoder/3dlite/b27eca8f15148f7bf313cd3ca0356db8e172ea3b/winres/samples.ico --------------------------------------------------------------------------------