├── .gitignore ├── Assets ├── Models │ └── .gitkeep ├── Shaders │ ├── Main.ps.hlsl │ ├── Main.vs.hlsl │ ├── Skybox.ps.hlsl │ ├── Skybox.vs.hlsl │ ├── Terrain.ps.hlsl │ └── Terrain.vs.hlsl ├── Textures │ ├── .gitkeep │ ├── 10x10.png │ ├── 256x256.png │ ├── Skybox.png │ ├── T_Froge.dds │ ├── darkbox.png │ ├── default.png │ ├── greenbox.png │ ├── greyscale_generator.py │ ├── half.png │ ├── neo.png │ └── white.png └── config.json ├── Build.lua ├── Engine-Core ├── Build-Core.lua ├── Engine-Core.vcxproj ├── Engine-Core.vcxproj.filters ├── Engine-Core.vcxproj.user └── Source │ ├── DirectXTex │ ├── include │ │ ├── DirectXTex.h │ │ └── DirectXTex.inl │ └── lib │ │ ├── Debug │ │ └── DirectXTex.lib │ │ └── Release │ │ └── DirectXTex.lib │ ├── Engine │ ├── 3DObjects │ │ ├── Heightmap.cpp │ │ └── Terrain.cpp │ ├── Application │ │ ├── Application.cpp │ │ └── RenderingApplication3D.cpp │ ├── Config │ │ └── ConfigManager.cpp │ ├── ECS │ │ ├── Archetype.cpp │ │ ├── Component.cpp │ │ ├── ComponentIdentifier.cpp │ │ ├── ComponentVector.cpp │ │ ├── Components │ │ │ ├── CameraComponent.cpp │ │ │ ├── DirectionalLightComponent.cpp │ │ │ ├── LightComponent.cpp │ │ │ ├── MaterialComponent.cpp │ │ │ ├── MeshComponent.cpp │ │ │ ├── ProfilerComponent.cpp │ │ │ ├── TerrainComponent.cpp │ │ │ └── TransformComponent.cpp │ │ ├── ECS.cpp │ │ ├── ECSDebugger.cpp │ │ ├── Entity.cpp │ │ ├── IComponentVector.cpp │ │ ├── Registries │ │ │ └── CerealRegistry.cpp │ │ ├── System.cpp │ │ └── Systems │ │ │ ├── CameraSystem.cpp │ │ │ ├── EntityMonitoringSystem.cpp │ │ │ ├── InstanceRendererSystem.cpp │ │ │ ├── LightingSystem.cpp │ │ │ └── ProfilerSystem.cpp │ ├── GraphicsAPI │ │ ├── DirectX11Context.cpp │ │ ├── GraphicsContext.cpp │ │ └── VulkanContext.cpp │ ├── Input │ │ └── InputSystem.cpp │ ├── Registries │ │ └── ComponentRegistry.cpp │ ├── Shaders │ │ ├── ConstantBufferBinder.cpp │ │ ├── ShaderCollection.cpp │ │ ├── ShaderManager.cpp │ │ └── TextureManager.cpp │ ├── Vectors │ │ └── IntVectors.cpp │ ├── World │ │ └── World.cpp │ ├── out.json │ ├── test.cpp │ ├── test.exp │ └── test.lib │ ├── FreeImage │ ├── include │ │ └── FreeImage.h │ └── lib │ │ └── FreeImage.lib │ ├── cereal │ └── cereal │ │ ├── access.hpp │ │ ├── archives │ │ ├── adapters.hpp │ │ ├── binary.hpp │ │ ├── json.hpp │ │ ├── portable_binary.hpp │ │ └── xml.hpp │ │ ├── cereal.hpp │ │ ├── details │ │ ├── helpers.hpp │ │ ├── polymorphic_impl.hpp │ │ ├── polymorphic_impl_fwd.hpp │ │ ├── static_object.hpp │ │ ├── traits.hpp │ │ └── util.hpp │ │ ├── external │ │ ├── LICENSE │ │ ├── base64.hpp │ │ ├── rapidjson │ │ │ ├── LICENSE │ │ │ ├── allocators.h │ │ │ ├── cursorstreamwrapper.h │ │ │ ├── document.h │ │ │ ├── encodedstream.h │ │ │ ├── encodings.h │ │ │ ├── error │ │ │ │ ├── en.h │ │ │ │ └── error.h │ │ │ ├── filereadstream.h │ │ │ ├── filewritestream.h │ │ │ ├── fwd.h │ │ │ ├── internal │ │ │ │ ├── biginteger.h │ │ │ │ ├── diyfp.h │ │ │ │ ├── dtoa.h │ │ │ │ ├── ieee754.h │ │ │ │ ├── itoa.h │ │ │ │ ├── meta.h │ │ │ │ ├── pow10.h │ │ │ │ ├── regex.h │ │ │ │ ├── stack.h │ │ │ │ ├── strfunc.h │ │ │ │ ├── strtod.h │ │ │ │ └── swap.h │ │ │ ├── istreamwrapper.h │ │ │ ├── memorybuffer.h │ │ │ ├── memorystream.h │ │ │ ├── msinttypes │ │ │ │ ├── LICENSE │ │ │ │ ├── inttypes.h │ │ │ │ └── stdint.h │ │ │ ├── ostreamwrapper.h │ │ │ ├── pointer.h │ │ │ ├── prettywriter.h │ │ │ ├── rapidjson.h │ │ │ ├── reader.h │ │ │ ├── schema.h │ │ │ ├── stream.h │ │ │ ├── stringbuffer.h │ │ │ └── writer.h │ │ └── rapidxml │ │ │ ├── license.txt │ │ │ ├── manual.html │ │ │ ├── rapidxml.hpp │ │ │ ├── rapidxml_iterators.hpp │ │ │ ├── rapidxml_print.hpp │ │ │ └── rapidxml_utils.hpp │ │ ├── macros.hpp │ │ ├── specialize.hpp │ │ ├── types │ │ ├── array.hpp │ │ ├── atomic.hpp │ │ ├── base_class.hpp │ │ ├── bitset.hpp │ │ ├── boost_variant.hpp │ │ ├── chrono.hpp │ │ ├── common.hpp │ │ ├── complex.hpp │ │ ├── concepts │ │ │ └── pair_associative_container.hpp │ │ ├── deque.hpp │ │ ├── forward_list.hpp │ │ ├── functional.hpp │ │ ├── list.hpp │ │ ├── map.hpp │ │ ├── memory.hpp │ │ ├── optional.hpp │ │ ├── polymorphic.hpp │ │ ├── queue.hpp │ │ ├── set.hpp │ │ ├── stack.hpp │ │ ├── string.hpp │ │ ├── tuple.hpp │ │ ├── unordered_map.hpp │ │ ├── unordered_set.hpp │ │ ├── utility.hpp │ │ ├── valarray.hpp │ │ ├── variant.hpp │ │ └── vector.hpp │ │ └── version.hpp │ ├── glfw-3.3.8.bin.WIN64 │ ├── LICENSE.md │ ├── README.md │ ├── docs │ │ └── html │ │ │ ├── bc_s.png │ │ │ ├── bdwn.png │ │ │ ├── build_8dox.html │ │ │ ├── build_guide.html │ │ │ ├── closed.png │ │ │ ├── compat_8dox.html │ │ │ ├── compat_guide.html │ │ │ ├── compile_8dox.html │ │ │ ├── compile_guide.html │ │ │ ├── context_8dox.html │ │ │ ├── context_guide.html │ │ │ ├── deprecated.html │ │ │ ├── dir_1dfd43b3952c5bc1ba15d15b12afff7b.html │ │ │ ├── dir_4351554941a2744586042c1cf3cf139a.html │ │ │ ├── dir_f6ba4c3dca55a8d4e7d63c8235e0ad43.html │ │ │ ├── dir_fda32cf7bec00275262cb8799a618f76.html │ │ │ ├── doc.png │ │ │ ├── doxygen.css │ │ │ ├── doxygen.svg │ │ │ ├── dynsections.js │ │ │ ├── extra.css │ │ │ ├── files.html │ │ │ ├── folderclosed.png │ │ │ ├── folderopen.png │ │ │ ├── glfw3_8h.html │ │ │ ├── glfw3_8h_source.html │ │ │ ├── glfw3native_8h.html │ │ │ ├── glfw3native_8h_source.html │ │ │ ├── group__buttons.html │ │ │ ├── group__context.html │ │ │ ├── group__errors.html │ │ │ ├── group__gamepad__axes.html │ │ │ ├── group__gamepad__buttons.html │ │ │ ├── group__hat__state.html │ │ │ ├── group__init.html │ │ │ ├── group__input.html │ │ │ ├── group__joysticks.html │ │ │ ├── group__keys.html │ │ │ ├── group__mods.html │ │ │ ├── group__monitor.html │ │ │ ├── group__native.html │ │ │ ├── group__shapes.html │ │ │ ├── group__vulkan.html │ │ │ ├── group__window.html │ │ │ ├── index.html │ │ │ ├── input_8dox.html │ │ │ ├── input_guide.html │ │ │ ├── internal_8dox.html │ │ │ ├── internals_guide.html │ │ │ ├── intro_8dox.html │ │ │ ├── intro_guide.html │ │ │ ├── jquery.js │ │ │ ├── main_8dox.html │ │ │ ├── menu.js │ │ │ ├── menudata.js │ │ │ ├── modules.html │ │ │ ├── monitor_8dox.html │ │ │ ├── monitor_guide.html │ │ │ ├── moving_8dox.html │ │ │ ├── moving_guide.html │ │ │ ├── nav_f.png │ │ │ ├── nav_g.png │ │ │ ├── nav_h.png │ │ │ ├── news.html │ │ │ ├── news_8dox.html │ │ │ ├── open.png │ │ │ ├── pages.html │ │ │ ├── quick_8dox.html │ │ │ ├── quick_guide.html │ │ │ ├── search │ │ │ ├── all_0.html │ │ │ ├── all_0.js │ │ │ ├── all_1.html │ │ │ ├── all_1.js │ │ │ ├── all_10.html │ │ │ ├── all_10.js │ │ │ ├── all_11.html │ │ │ ├── all_11.js │ │ │ ├── all_2.html │ │ │ ├── all_2.js │ │ │ ├── all_3.html │ │ │ ├── all_3.js │ │ │ ├── all_4.html │ │ │ ├── all_4.js │ │ │ ├── all_5.html │ │ │ ├── all_5.js │ │ │ ├── all_6.html │ │ │ ├── all_6.js │ │ │ ├── all_7.html │ │ │ ├── all_7.js │ │ │ ├── all_8.html │ │ │ ├── all_8.js │ │ │ ├── all_9.html │ │ │ ├── all_9.js │ │ │ ├── all_a.html │ │ │ ├── all_a.js │ │ │ ├── all_b.html │ │ │ ├── all_b.js │ │ │ ├── all_c.html │ │ │ ├── all_c.js │ │ │ ├── all_d.html │ │ │ ├── all_d.js │ │ │ ├── all_e.html │ │ │ ├── all_e.js │ │ │ ├── all_f.html │ │ │ ├── all_f.js │ │ │ ├── classes_0.html │ │ │ ├── classes_0.js │ │ │ ├── close.svg │ │ │ ├── defines_0.html │ │ │ ├── defines_0.js │ │ │ ├── files_0.html │ │ │ ├── files_0.js │ │ │ ├── files_1.html │ │ │ ├── files_1.js │ │ │ ├── files_2.html │ │ │ ├── files_2.js │ │ │ ├── files_3.html │ │ │ ├── files_3.js │ │ │ ├── files_4.html │ │ │ ├── files_4.js │ │ │ ├── files_5.html │ │ │ ├── files_5.js │ │ │ ├── files_6.html │ │ │ ├── files_6.js │ │ │ ├── files_7.html │ │ │ ├── files_7.js │ │ │ ├── files_8.html │ │ │ ├── files_8.js │ │ │ ├── functions_0.html │ │ │ ├── functions_0.js │ │ │ ├── groups_0.html │ │ │ ├── groups_0.js │ │ │ ├── groups_1.html │ │ │ ├── groups_1.js │ │ │ ├── groups_2.html │ │ │ ├── groups_2.js │ │ │ ├── groups_3.html │ │ │ ├── groups_3.js │ │ │ ├── groups_4.html │ │ │ ├── groups_4.js │ │ │ ├── groups_5.html │ │ │ ├── groups_5.js │ │ │ ├── groups_6.html │ │ │ ├── groups_6.js │ │ │ ├── groups_7.html │ │ │ ├── groups_7.js │ │ │ ├── groups_8.html │ │ │ ├── groups_8.js │ │ │ ├── groups_9.html │ │ │ ├── groups_9.js │ │ │ ├── groups_a.html │ │ │ ├── groups_a.js │ │ │ ├── mag_sel.svg │ │ │ ├── nomatches.html │ │ │ ├── pages_0.html │ │ │ ├── pages_0.js │ │ │ ├── pages_1.html │ │ │ ├── pages_1.js │ │ │ ├── pages_2.html │ │ │ ├── pages_2.js │ │ │ ├── pages_3.html │ │ │ ├── pages_3.js │ │ │ ├── pages_4.html │ │ │ ├── pages_4.js │ │ │ ├── pages_5.html │ │ │ ├── pages_5.js │ │ │ ├── pages_6.html │ │ │ ├── pages_6.js │ │ │ ├── pages_7.html │ │ │ ├── pages_7.js │ │ │ ├── pages_8.html │ │ │ ├── pages_8.js │ │ │ ├── pages_9.html │ │ │ ├── pages_9.js │ │ │ ├── pages_a.html │ │ │ ├── pages_a.js │ │ │ ├── search.css │ │ │ ├── search.js │ │ │ ├── search_l.png │ │ │ ├── search_m.png │ │ │ ├── search_r.png │ │ │ ├── searchdata.js │ │ │ ├── typedefs_0.html │ │ │ ├── typedefs_0.js │ │ │ ├── variables_0.html │ │ │ ├── variables_0.js │ │ │ ├── variables_1.html │ │ │ ├── variables_1.js │ │ │ ├── variables_2.html │ │ │ ├── variables_2.js │ │ │ ├── variables_3.html │ │ │ ├── variables_3.js │ │ │ ├── variables_4.html │ │ │ ├── variables_4.js │ │ │ ├── variables_5.html │ │ │ ├── variables_5.js │ │ │ ├── variables_6.html │ │ │ ├── variables_6.js │ │ │ ├── variables_7.html │ │ │ └── variables_7.js │ │ │ ├── spaces.svg │ │ │ ├── splitbar.png │ │ │ ├── structGLFWgamepadstate.html │ │ │ ├── structGLFWgammaramp.html │ │ │ ├── structGLFWimage.html │ │ │ ├── structGLFWvidmode.html │ │ │ ├── sync_off.png │ │ │ ├── sync_on.png │ │ │ ├── tab_a.png │ │ │ ├── tab_b.png │ │ │ ├── tab_h.png │ │ │ ├── tab_s.png │ │ │ ├── tabs.css │ │ │ ├── vulkan_8dox.html │ │ │ ├── vulkan_guide.html │ │ │ ├── window_8dox.html │ │ │ └── window_guide.html │ ├── include │ │ └── GLFW │ │ │ ├── glfw3.h │ │ │ └── glfw3native.h │ └── lib-vc2022 │ │ ├── glfw3.lib │ │ ├── glfw3_mt.lib │ │ └── glfw3dll.lib │ ├── imgui.ini │ ├── imgui │ ├── imgui.cpp │ ├── imgui_demo.cpp │ ├── imgui_draw.cpp │ ├── imgui_impl_dx11.cpp │ ├── imgui_impl_glfw.cpp │ ├── imgui_impl_win32.cpp │ ├── imgui_tables.cpp │ ├── imgui_widgets.cpp │ └── include │ │ ├── imconfig.h │ │ ├── imgui.h │ │ ├── imgui_impl_dx11.h │ │ ├── imgui_impl_glfw.h │ │ ├── imgui_impl_win32.h │ │ ├── imgui_internal.h │ │ ├── imstb_rectpack.h │ │ ├── imstb_textedit.h │ │ └── imstb_truetype.h │ ├── include │ ├── 3DObjects │ │ ├── Heightmap.hpp │ │ └── Terrain.hpp │ ├── Application │ │ ├── Application.hpp │ │ └── RenderingApplication3D.hpp │ ├── Config │ │ └── ConfigManager.hpp │ ├── ConstantBufferDefinitions.hpp │ ├── Constants.hpp │ ├── Definitions.hpp │ ├── DirectXSerialization.hpp │ ├── ECS │ │ ├── Archetype.hpp │ │ ├── Component.hpp │ │ ├── ComponentIdentifier.hpp │ │ ├── ComponentVector.hpp │ │ ├── Components │ │ │ ├── CameraComponent.hpp │ │ │ ├── DirectionalLightComponent.hpp │ │ │ ├── LightComponent.hpp │ │ │ ├── MaterialComponent.hpp │ │ │ ├── MeshComponent.hpp │ │ │ ├── ProfilerComponent.hpp │ │ │ ├── TerrainComponent.hpp │ │ │ └── TransformComponent.hpp │ │ ├── ECS.hpp │ │ ├── ECSDebugger.hpp │ │ ├── Entity.hpp │ │ ├── IComponentVector.hpp │ │ ├── System.hpp │ │ └── Systems │ │ │ ├── CameraSystem.hpp │ │ │ ├── EntityMonitoringSystem.hpp │ │ │ ├── InstanceRendererSystem.hpp │ │ │ ├── LightingSystem.hpp │ │ │ └── ProfilerSystem.hpp │ ├── EcsSerialization.hpp │ ├── GraphicsAPI │ │ ├── DirectX11Context.hpp │ │ ├── GraphicsContext.hpp │ │ └── VulkanContext.hpp │ ├── IMonitorable.hpp │ ├── Input │ │ └── InputSystem.hpp │ ├── IntVectors.hpp │ ├── Logging.hpp │ ├── Registries │ │ ├── CerealRegistry.hpp │ │ └── ComponentRegistry.hpp │ ├── ResourceMonitor.hpp │ ├── Shaders │ │ ├── ConstantBufferBinder.hpp │ │ ├── ShaderCollection.hpp │ │ ├── ShaderManager.hpp │ │ └── TextureManager.hpp │ ├── VertexType.hpp │ └── World │ │ └── World.hpp │ └── nlohmannjson │ └── json.hpp ├── Engine-Editor ├── Build-Editor.lua ├── Engine-Editor.vcxproj ├── Engine-Editor.vcxproj.filters ├── Engine-Editor.vcxproj.user ├── Source │ ├── Editor.cpp │ ├── Editor.hpp │ ├── EditorCerealRegistry.cpp │ ├── EditorUIManagerSystem.cpp │ ├── EditorUIManagerSystem.hpp │ ├── EntityEditor.cpp │ ├── EntityEditor.hpp │ ├── Main.cpp │ ├── WorldHierarchy.cpp │ ├── WorldHierarchy.hpp │ ├── WorldHierarchyComponent.cpp │ └── WorldHierarchyComponent.hpp ├── imgui.ini └── output.json ├── Engine.sln ├── LICENSE ├── README.md ├── Scripts ├── Setup-Linux.sh └── Setup-Windows.bat └── Vendor └── Binaries └── Premake ├── LICENSE.txt ├── Linux └── premake5 ├── Windows └── premake5.exe └── macOS └── premake5 /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | 28 | # Executables 29 | *.exe 30 | *.out 31 | *.app 32 | 33 | x64 34 | 35 | # Directories 36 | .vs/ 37 | Binaries/ 38 | 39 | # Files 40 | *.vcxproj 41 | *.vcxproj.user 42 | *.vcxproj.filters 43 | *.sln 44 | *.log 45 | Makefile 46 | 47 | # Exclude 48 | !Vendor/Binaries 49 | -------------------------------------------------------------------------------- /Assets/Models/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Models/.gitkeep -------------------------------------------------------------------------------- /Assets/Shaders/Main.ps.hlsl: -------------------------------------------------------------------------------- 1 | struct Material 2 | { 3 | float4 matAmbient; 4 | float4 matDiffuse; 5 | float4 matSpecular; 6 | float matShininess; 7 | }; 8 | 9 | cbuffer Camera : register(b1) 10 | { 11 | float3 camPosition; 12 | }; 13 | 14 | cbuffer DirectionalLight : register(b2) 15 | { 16 | float4 direction; 17 | float4 ambient; 18 | float4 diffuse; 19 | float4 specular; 20 | }; 21 | 22 | struct PSInput 23 | { 24 | float4 Position : SV_Position; 25 | float2 Uv : TEXCOORD0; 26 | float3 Normal : NORMAL; 27 | float3 PositionWorld : POSITIONWORLD; 28 | Material Material : MATERIAL; 29 | }; 30 | 31 | float4 Main(PSInput input) : SV_Target 32 | { 33 | float3 normal = normalize(input.Normal); 34 | float3 lightDir = normalize(-direction.xyz); 35 | 36 | // Ambient 37 | float3 ambientColor = input.Material.matAmbient.rgb * ambient.rgb; 38 | 39 | // Diffuse 40 | float3 diff = max(dot(normal, lightDir), 0.0) * input.Material.matDiffuse.rgb * diffuse.rgb; 41 | 42 | // Specular 43 | float3 viewDir = normalize(camPosition - input.PositionWorld); 44 | float3 reflectDir = reflect(-lightDir, normal); 45 | float specStrength = pow(max(dot(viewDir, reflectDir), 0.0), input.Material.matShininess); 46 | float3 specularColor = specStrength * input.Material.matSpecular.rgb * specular.rgb; 47 | 48 | // Fresnel Effect 49 | float fresnel = pow(1.0 - max(dot(viewDir, normal), 0.0), 3.0) * 0.5 + 0.5; 50 | specularColor *= fresnel; 51 | 52 | // Combine lighting components 53 | float3 result = ambientColor + diff + specularColor; 54 | return float4(result, 1.0); 55 | } -------------------------------------------------------------------------------- /Assets/Shaders/Main.vs.hlsl: -------------------------------------------------------------------------------- 1 | struct Material 2 | { 3 | float4 matAmbient; 4 | float4 matDiffuse; 5 | float4 matSpecular; 6 | float matShininess; 7 | }; 8 | 9 | struct DirectionalLight 10 | { 11 | float4 direction; 12 | float4 ambient; 13 | float4 diffuse; 14 | float4 specular; 15 | }; 16 | 17 | cbuffer PerFrame : register(b0) 18 | { 19 | matrix viewprojection; 20 | }; 21 | 22 | struct PerInstanceData 23 | { 24 | float4x4 worldMatrix; 25 | Material material; 26 | }; 27 | 28 | cbuffer PerInstance : register(b3) 29 | { 30 | PerInstanceData instanceData[256]; // Max batch size 31 | }; 32 | 33 | struct VSInput 34 | { 35 | float3 Position : POSITION; 36 | float3 Normal : NORMAL; 37 | float2 Uv : TEXCOORD0; 38 | }; 39 | 40 | struct VSOutput 41 | { 42 | float4 Position : SV_Position; 43 | float2 Uv : TEXCOORD0; 44 | float3 Normal : NORMAL; 45 | float3 PositionWorld : POSITIONWORLD; 46 | Material Material : MATERIAL; 47 | }; 48 | 49 | VSOutput Main(VSInput input, uint instanceID : SV_InstanceID) 50 | { 51 | VSOutput output = (VSOutput) 0; 52 | 53 | matrix world = mul(viewprojection, instanceData[instanceID].worldMatrix); 54 | output.Position = mul(world, float4(input.Position, 1.0)); 55 | 56 | output.Uv = input.Uv; 57 | 58 | output.Normal = mul(input.Normal, (float3x3)instanceData[instanceID].worldMatrix); 59 | 60 | output.PositionWorld = mul(float4(input.Position, 1.0), instanceData[instanceID].worldMatrix).xyz; 61 | 62 | output.Material = instanceData[instanceID].material; 63 | 64 | return output; 65 | } -------------------------------------------------------------------------------- /Assets/Shaders/Skybox.ps.hlsl: -------------------------------------------------------------------------------- 1 | struct Material 2 | { 3 | float4 matAmbient; 4 | float4 matDiffuse; 5 | float4 matSpecular; 6 | float matShininess; 7 | }; 8 | 9 | cbuffer Camera : register(b1) 10 | { 11 | float3 camPosition; 12 | }; 13 | 14 | cbuffer Light : register(b2) 15 | { 16 | float4 lightPosition; 17 | float4 lightAmbient; 18 | float4 lightDiffuse; 19 | float4 lightSpecular; 20 | }; 21 | 22 | struct PSInput 23 | { 24 | float4 Position : SV_Position; 25 | float2 Uv : TEXCOORD0; 26 | float3 Normal : NORMAL; 27 | float3 PositionWorld : POSITIONWORLD; 28 | Material Material : MATERIAL; 29 | }; 30 | 31 | TextureCube skyboxTexture : register(t0); 32 | SamplerState skyboxSampler : register(s0); 33 | 34 | float4 Main(PSInput input) : SV_Target 35 | { 36 | 37 | float3 direction = normalize(input.PositionWorld); 38 | float4 sampledColor = skyboxTexture.Sample(skyboxSampler, direction); 39 | return sampledColor; 40 | } 41 | 42 | -------------------------------------------------------------------------------- /Assets/Textures/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/.gitkeep -------------------------------------------------------------------------------- /Assets/Textures/10x10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/10x10.png -------------------------------------------------------------------------------- /Assets/Textures/256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/256x256.png -------------------------------------------------------------------------------- /Assets/Textures/Skybox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/Skybox.png -------------------------------------------------------------------------------- /Assets/Textures/T_Froge.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/T_Froge.dds -------------------------------------------------------------------------------- /Assets/Textures/darkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/darkbox.png -------------------------------------------------------------------------------- /Assets/Textures/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/default.png -------------------------------------------------------------------------------- /Assets/Textures/greenbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/greenbox.png -------------------------------------------------------------------------------- /Assets/Textures/half.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/half.png -------------------------------------------------------------------------------- /Assets/Textures/neo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/neo.png -------------------------------------------------------------------------------- /Assets/Textures/white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Assets/Textures/white.png -------------------------------------------------------------------------------- /Assets/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "VSConstantBuffers": { 3 | "PerFrame": 0, 4 | "Camera": 1, 5 | "DirectionalLight": 2, 6 | "PerObject": 3 7 | }, 8 | "PSConstantBuffers": { 9 | "PerFrame": 0, 10 | "Camera": 1, 11 | "DirectionalLight": 2, 12 | "PerObject": 3 13 | } 14 | } -------------------------------------------------------------------------------- /Build.lua: -------------------------------------------------------------------------------- 1 | workspace "Engine" 2 | architecture "x64" 3 | configurations { "Debug_DX11", "Release_DX11", "Debug_Vulkan", "Release_Vulkan"} 4 | startproject "Engine-Editor" 5 | 6 | -- Workspace-wide build options for MSVC 7 | filter "system:windows" 8 | buildoptions { "/EHsc", "/Zc:preprocessor", "/Zc:__cplusplus" } 9 | 10 | -- Add Vulkan SDK directories 11 | vulkanSDK = os.getenv("VULKAN_SDK") 12 | includedirs { "%{vulkanSDK}/Include" } 13 | libdirs { "%{vulkanSDK}/Lib" } 14 | 15 | OutputDir = "%{cfg.system}-%{cfg.architecture}/%{cfg.buildcfg}" 16 | 17 | group "Engine-Core" 18 | include "Engine-Core/Build-Core.lua" 19 | group "Engine-Editor" 20 | include "Engine-Editor/Build-Editor.lua" 21 | -------------------------------------------------------------------------------- /Engine-Core/Build-Core.lua: -------------------------------------------------------------------------------- 1 | project "Engine-Core" 2 | kind "StaticLib" 3 | language "C++" 4 | cppdialect "C++20" 5 | targetdir "Binaries/%{cfg.buildcfg}" 6 | staticruntime "off" 7 | 8 | files { "Source/**.h", "Source/**.hpp", "Source/**.cpp" } 9 | 10 | includedirs 11 | { 12 | "Source", 13 | "Source/include", 14 | "Source/include/Application", 15 | "Source/include/GraphicsAPI", 16 | "Source/include/Config", 17 | "Source/include/3DObjects", 18 | "Source/include/ECS", 19 | "Source/include/ECS/Components", 20 | "Source/include/ECS/Systems", 21 | "Source/include/Input", 22 | "Source/include/Registries", 23 | "Source/include/Shaders", 24 | "Source/include/World", 25 | "Source/cereal", 26 | "Source/imgui/include", 27 | "Source/glfw-3.3.8.bin.WIN64/include", 28 | "Source/FreeImage/include", 29 | "%{vulkanSDK}/Include", 30 | "Source/Engine/Graphics", 31 | "Source/nlohmannjson" 32 | } 33 | 34 | targetdir ("../Binaries/" .. OutputDir .. "/%{prj.name}") 35 | objdir ("../Binaries/Intermediates/" .. OutputDir .. "/%{prj.name}") 36 | 37 | filter "system:windows" 38 | systemversion "latest" 39 | defines { } 40 | 41 | filter "configurations:Debug_DX11" 42 | defines { "DEBUG", "USE_DIRECTX11" } 43 | runtime "Debug" 44 | symbols "On" 45 | 46 | filter "configurations:Release_DX11" 47 | defines { "RELEASE", "USE_DIRECTX11" } 48 | runtime "Release" 49 | optimize "On" 50 | symbols "On" 51 | 52 | filter "configurations:Debug_Vulkan" 53 | defines { "DEBUG", "USE_VULKAN" } 54 | runtime "Debug" 55 | symbols "On" 56 | 57 | filter "configurations:Release_Vulkan" 58 | defines { "RELEASE", "USE_VULKAN" } 59 | runtime "Release" 60 | optimize "On" 61 | symbols "On" 62 | -------------------------------------------------------------------------------- /Engine-Core/Engine-Core.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Engine-Core/Source/DirectXTex/lib/Debug/DirectXTex.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/DirectXTex/lib/Debug/DirectXTex.lib -------------------------------------------------------------------------------- /Engine-Core/Source/DirectXTex/lib/Release/DirectXTex.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/DirectXTex/lib/Release/DirectXTex.lib -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/3DObjects/Heightmap.cpp: -------------------------------------------------------------------------------- 1 | #include "Heightmap.hpp" 2 | 3 | Heightmap::Heightmap(unsigned int width, unsigned int height) 4 | : _width(width), _height(height) 5 | { 6 | _heights.resize(_width); 7 | for (unsigned int i = 0; i < _width; ++i) { 8 | _heights[i].resize(_height, 0.0f); 9 | } 10 | } 11 | 12 | Heightmap::Heightmap(const std::vector>& heights) 13 | { 14 | _heights = heights; 15 | } 16 | 17 | 18 | // TODO Implement exceptions 19 | float Heightmap::GetPointHeight(unsigned int x, unsigned int y) const 20 | { 21 | //if(x < _width && y < _height) 22 | return _heights[x][y]; 23 | } 24 | 25 | void Heightmap::SetHeight(unsigned int x, unsigned int y, float height) 26 | { 27 | _heights[x][y] = height; 28 | } 29 | 30 | unsigned int Heightmap::GetWidth() const 31 | { 32 | return _width; 33 | } 34 | 35 | unsigned int Heightmap::GetHeight() const 36 | { 37 | return _height; 38 | } 39 | 40 | void Heightmap::SaveToFile() const 41 | { 42 | } 43 | 44 | void Heightmap::LoadFromFile() 45 | { 46 | } 47 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/3DObjects/Terrain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/Engine/3DObjects/Terrain.cpp -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/Config/ConfigManager.cpp: -------------------------------------------------------------------------------- 1 | #include "ConfigManager.hpp" 2 | 3 | ConfigManager::ConfigManager(const std::string& fileName) 4 | { 5 | std::ifstream file(fileName); 6 | if (file.is_open()) 7 | { 8 | std::cout << "[Config] File found\n"; 9 | file >> _configData; 10 | 11 | if (_configData.contains("VSConstantBuffers")) 12 | { 13 | for (auto& [key, value] : _configData["VSConstantBuffers"].items()) 14 | { 15 | _vsBufferSlots[key] = value; 16 | } 17 | std::cout << "[Config] VS CBs loaded\n"; 18 | } 19 | if (_configData.contains("PSConstantBuffers")) 20 | { 21 | for (auto& [key, value] : _configData["PSConstantBuffers"].items()) 22 | { 23 | _psBufferSlots[key] = value; 24 | } 25 | std::cout << "[Config] PS CBs loaded\n"; 26 | } 27 | } 28 | else 29 | { 30 | throw std::runtime_error("Unable to open config file"); 31 | } 32 | } 33 | 34 | int ConfigManager::GetVSConstantBufferSlot(const std::string& bufferName) 35 | { 36 | return _vsBufferSlots.at(bufferName); 37 | } 38 | 39 | int ConfigManager::GetPSConstantBufferSlot(const std::string& bufferName) 40 | { 41 | return _psBufferSlots.at(bufferName); 42 | } 43 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/Archetype.cpp: -------------------------------------------------------------------------------- 1 | #include "Archetype.hpp" 2 | 3 | 4 | Archetype::Archetype(const ComponentSignature& signature) : _signature(signature) 5 | { 6 | } 7 | 8 | void Archetype::DestroyEntity(Entity entity) 9 | { 10 | // take each vector and remove entity data from it 11 | for (auto& typeToComponentVector : _typeToComponentVector) 12 | { 13 | // clears component data linked to an entity (swap + pop removal) 14 | typeToComponentVector.second->RemoveComponent(entity); 15 | } 16 | 17 | } 18 | 19 | const std::unordered_map>& Archetype::GetTypeToComponentVector() const 20 | { 21 | return _typeToComponentVector; 22 | } 23 | 24 | IComponentVector* Archetype::GetComponentVector(ComponentType componentType) const 25 | { 26 | auto it = _typeToComponentVector.find(componentType); 27 | if (it != _typeToComponentVector.end()) 28 | return it->second.get(); 29 | 30 | return nullptr; 31 | } 32 | 33 | ComponentSignature Archetype::GetSignature() const 34 | { 35 | return _signature; 36 | } 37 | 38 | bool Archetype::SignatureContainsBit(uint16_t bit) const 39 | { 40 | return _signature.test(bit); 41 | } 42 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/Component.cpp: -------------------------------------------------------------------------------- 1 | #include "Component.hpp" -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/ComponentIdentifier.cpp: -------------------------------------------------------------------------------- 1 | #include "ComponentIdentifier.hpp" 2 | 3 | ComponentIdentifier::ComponentIdentifier(int id) : _id(id) 4 | { 5 | } 6 | 7 | void ComponentIdentifier::SetId(int id) 8 | { 9 | _id = id; 10 | } 11 | 12 | int ComponentIdentifier::GetId() const 13 | { 14 | return _id; 15 | } 16 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/ComponentVector.cpp: -------------------------------------------------------------------------------- 1 | #include "ComponentVector.hpp" -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/Components/CameraComponent.cpp: -------------------------------------------------------------------------------- 1 | #include "CameraComponent.hpp" 2 | 3 | CameraComponent::CameraComponent() 4 | { 5 | } 6 | 7 | 8 | CameraComponent::CameraComponent(ID3D11Device* device, DirectX::XMFLOAT3 rotation, float moveSpeed, float rotationSpeed) 9 | : _rotation(rotation), _moveSpeed(moveSpeed), _rotationSpeed(rotationSpeed) 10 | { 11 | CreateConstantBuffers(device); 12 | } 13 | CameraComponent::~CameraComponent() 14 | { 15 | } 16 | 17 | DirectX::XMFLOAT3& CameraComponent::GetRotationByRef() 18 | { 19 | return _rotation; 20 | } 21 | 22 | float CameraComponent::GetMoveSpeed() const 23 | { 24 | return _moveSpeed; 25 | } 26 | 27 | float CameraComponent::GetRotationSpeed() const 28 | { 29 | return _rotationSpeed; 30 | } 31 | 32 | WRL::ComPtr CameraComponent::GetCameraConstantBuffer() 33 | { 34 | return _cameraConstantBuffer; 35 | } 36 | 37 | void CameraComponent::CreateConstantBuffers(ID3D11Device* device) 38 | { 39 | D3D11_BUFFER_DESC desc{}; 40 | desc.Usage = D3D11_USAGE::D3D11_USAGE_DYNAMIC; 41 | desc.BindFlags = D3D11_BIND_FLAG::D3D11_BIND_CONSTANT_BUFFER; 42 | desc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE; 43 | 44 | desc.ByteWidth = sizeof(CameraConstantBuffer); 45 | device->CreateBuffer(&desc, nullptr, &_cameraConstantBuffer); 46 | 47 | } -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/Components/LightComponent.cpp: -------------------------------------------------------------------------------- 1 | #include "LightComponent.hpp" 2 | 3 | LightComponent::LightComponent() 4 | { 5 | } 6 | 7 | LightComponent::LightComponent( 8 | int id, 9 | const DirectX::XMFLOAT4& position, 10 | const DirectX::XMFLOAT4& ambient, 11 | const DirectX::XMFLOAT4& diffuse, 12 | const DirectX::XMFLOAT4& specular) : _position(position), _ambient(ambient), _diffuse(diffuse), _specular(specular) 13 | { 14 | } 15 | 16 | DirectX::XMFLOAT4 LightComponent::GetPosition() const 17 | { 18 | return _position; 19 | } 20 | 21 | 22 | DirectX::XMFLOAT4 LightComponent::GetAmbient() const 23 | { 24 | return _ambient; 25 | } 26 | 27 | DirectX::XMFLOAT4 LightComponent::GetDiffuse() const 28 | { 29 | return _diffuse; 30 | } 31 | 32 | DirectX::XMFLOAT4 LightComponent::GetSpecular() const 33 | { 34 | return _specular; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/Components/TerrainComponent.cpp: -------------------------------------------------------------------------------- 1 | #include "TerrainComponent.hpp" 2 | 3 | 4 | TerrainComponent::TerrainComponent() 5 | { 6 | } 7 | 8 | TerrainComponent::TerrainComponent(const Heightmap& heightmap, MeshComponent* mesh) 9 | : _terrainChunkMesh(mesh) 10 | { 11 | 12 | // non ECS mesh does not need identification or world references 13 | // mesh.SetId(geometry.GetId()); 14 | //_world->AddComponent(geometry.GetId(), mesh); 15 | } 16 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/ECSDebugger.cpp: -------------------------------------------------------------------------------- 1 | #include "ECSDebugger.hpp" 2 | 3 | ECSDebugger::ECSDebugger() : _ecs(nullptr) 4 | { 5 | } 6 | 7 | ECSDebugger::ECSDebugger(ECS* ecs) : _ecs(ecs) 8 | { 9 | } 10 | 11 | ECSDebugger::~ECSDebugger() 12 | { 13 | } 14 | 15 | void ECSDebugger::Update(float deltaTime) 16 | { 17 | } 18 | 19 | void ECSDebugger::PeriodicUpdate(float deltaTime) 20 | { 21 | } 22 | 23 | void ECSDebugger::Render() 24 | { 25 | if (!_enabled) 26 | return; 27 | 28 | ImGui::Begin("ECS Debugger"); 29 | ImGui::Text("Entity Count: %d", _ecs->GetEntityCount()); 30 | ImGui::Text("Archetype Count: %d", _ecs->GetArchetypeCount()); 31 | 32 | if (ImGui::BeginTable("ArchetypeTable", 1, ImGuiTableFlags_Borders)) 33 | { 34 | auto& signatureToArchetype = _ecs->GetSignatureToArchetype(); 35 | 36 | for (auto& signatureIt : signatureToArchetype) 37 | { 38 | ImGui::TableNextRow(); 39 | ImGui::TableSetColumnIndex(0); 40 | 41 | auto signature = signatureIt.second->GetSignature(); 42 | 43 | auto fullBitsetStr = signature.to_string(); 44 | int firstOnePos = fullBitsetStr.find('1'); 45 | auto bitsetStr = fullBitsetStr.substr(firstOnePos); 46 | //ImGui::Text("%s", bitsetStr.c_str()); 47 | if (ImGui::TreeNode(bitsetStr.c_str())) 48 | { 49 | auto& typeToComponentVector = signatureIt.second.get()->GetTypeToComponentVector(); 50 | for (auto& typeIt : typeToComponentVector) 51 | { 52 | ImGui::Text("Type: %d Count: %d", typeIt.first, typeIt.second.get()->GetComponentCount()); 53 | } 54 | ImGui::TreePop(); 55 | } 56 | } 57 | ImGui::EndTable(); 58 | } 59 | ImGui::End(); 60 | } 61 | 62 | void ECSDebugger::Toggle() 63 | { 64 | _enabled = !_enabled; 65 | } 66 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/Entity.cpp: -------------------------------------------------------------------------------- 1 | #include "Entity.hpp" 2 | // 3 | //Entity::Entity() 4 | //{ 5 | //} 6 | // 7 | //Entity::Entity(size_t id): _id(id) 8 | //{ 9 | //} 10 | // 11 | //size_t Entity::GetId() const 12 | //{ 13 | // return _id; 14 | //} 15 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/IComponentVector.cpp: -------------------------------------------------------------------------------- 1 | #include "IComponentVector.hpp" -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/System.cpp: -------------------------------------------------------------------------------- 1 | #include "System.hpp" -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/ECS/Systems/EntityMonitoringSystem.cpp: -------------------------------------------------------------------------------- 1 | #include "EntityMonitoringSystem.hpp" 2 | 3 | EntityMonitoringSystem::EntityMonitoringSystem() 4 | { 5 | } 6 | 7 | EntityMonitoringSystem::EntityMonitoringSystem(ECS* ecs) : _ecs(ecs) 8 | { 9 | } 10 | 11 | EntityMonitoringSystem::~EntityMonitoringSystem() 12 | { 13 | } 14 | 15 | void EntityMonitoringSystem::Render() 16 | { 17 | if (!_enabled) 18 | return; 19 | 20 | auto entityToArchetype = _ecs->GetAllEntities(); 21 | ImGui::Begin("EMS"); 22 | for (const auto& [entity, signature] : entityToArchetype) 23 | { 24 | ImGui::Text("E %d", entity); 25 | auto archetype = _ecs->GetEntityArchetype(entity); 26 | 27 | //auto x = archetype->GetComponent(); 28 | //ImGui::BulletText("%s", ComponentRegistry::GetComponentName()) 29 | } 30 | 31 | ImGui::End(); 32 | } 33 | 34 | void EntityMonitoringSystem::Update(float deltaTime) 35 | { 36 | } 37 | 38 | void EntityMonitoringSystem::PeriodicUpdate(float deltaTime) 39 | { 40 | } 41 | 42 | void EntityMonitoringSystem::Toggle() 43 | { 44 | _enabled = !_enabled; 45 | } 46 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/GraphicsAPI/GraphicsContext.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/Engine/GraphicsAPI/GraphicsContext.cpp -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/GraphicsAPI/VulkanContext.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/Engine/GraphicsAPI/VulkanContext.cpp -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/Registries/ComponentRegistry.cpp: -------------------------------------------------------------------------------- 1 | #include "ComponentRegistry.hpp" 2 | 3 | // static member allocation 4 | ComponentType ComponentRegistry::_nextComponentType = 0; 5 | std::unordered_map ComponentRegistry::_componentTypes; 6 | std::unordered_map ComponentRegistry::_componentNames; 7 | std::unordered_map ComponentRegistry::_componentTypeNames; 8 | std::unordered_map()>> ComponentRegistry::_vectorFactories; 9 | std::unordered_map()>> ComponentRegistry::_uiFactories; -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/Shaders/ConstantBufferBinder.cpp: -------------------------------------------------------------------------------- 1 | #include "ConstantBufferBinder.hpp" 2 | 3 | ConstantBufferBinder::ConstantBufferBinder() 4 | { 5 | } 6 | 7 | void ConstantBufferBinder::Initialize(ID3D11DeviceContext* deviceContext) 8 | { 9 | _deviceContext = deviceContext; 10 | } 11 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/Shaders/ShaderManager.cpp: -------------------------------------------------------------------------------- 1 | #include "ShaderManager.hpp" 2 | 3 | ShaderManager::ShaderManager(ID3D11Device* device) : _device(device) 4 | { 5 | } 6 | 7 | bool ShaderManager::LoadShaderCollection(const std::wstring& id, const ShaderCollectionDescriptor& descriptor) 8 | { 9 | auto collection = ShaderCollection::CreateShaderCollection(descriptor, _device); 10 | //TODO ADD VALIDATION 11 | _shaderCollections[id] = std::make_unique(std::move(collection)); 12 | return true; 13 | } 14 | 15 | ShaderCollection* ShaderManager::GetShaderCollection(const std::wstring& id) 16 | { 17 | auto it = _shaderCollections.find(id); 18 | if (it != _shaderCollections.end()) 19 | return it->second.get(); 20 | 21 | return nullptr; 22 | } 23 | 24 | void ShaderManager::ApplyToContext(const std::wstring& id, ID3D11DeviceContext* context) 25 | { 26 | auto it = _shaderCollections.find(id); 27 | if (it != _shaderCollections.end()) 28 | { 29 | it->second->ApplyToContext(context); 30 | return; 31 | } 32 | 33 | std::cerr << "Could not find the requested shader collection!\n"; 34 | } 35 | 36 | std::wstring ShaderManager::GetCurrentShaderId() const 37 | { 38 | return _currentShaderId; 39 | } 40 | 41 | void ShaderManager::Destroy() 42 | { 43 | for (auto& pair : _shaderCollections) 44 | { 45 | if (pair.second) 46 | pair.second->Destroy(); 47 | } 48 | } 49 | 50 | 51 | -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/Vectors/IntVectors.cpp: -------------------------------------------------------------------------------- 1 | #include "IntVectors.hpp" 2 | 3 | Int3::Int3(const int x, const int y, const int z): x(x), y(y), z(z) 4 | { 5 | } 6 | 7 | Int3 Int3::operator+(const Int3& other) const 8 | { 9 | return Int3(x + other.x, y + other.y, z + other.z); 10 | } 11 | 12 | Int3 Int3::operator-(const Int3& other) const 13 | { 14 | return Int3(x - other.x, y - other.y, z - other.z); 15 | } -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/out.json: -------------------------------------------------------------------------------- 1 | { 2 | "typeMap": [ 3 | { 4 | "key": "camera", 5 | "value": { 6 | "polymorphic_id": 2147483649, 7 | "polymorphic_name": "ComponentVector", 8 | "ptr_wrapper": { 9 | "valid": 1, 10 | "data": { 11 | "value0": 999 12 | } 13 | } 14 | } 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/test.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/Engine/test.exp -------------------------------------------------------------------------------- /Engine-Core/Source/Engine/test.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/Engine/test.lib -------------------------------------------------------------------------------- /Engine-Core/Source/FreeImage/include/FreeImage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/FreeImage/include/FreeImage.h -------------------------------------------------------------------------------- /Engine-Core/Source/FreeImage/lib/FreeImage.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/FreeImage/lib/FreeImage.lib -------------------------------------------------------------------------------- /Engine-Core/Source/cereal/cereal/external/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2004-2008 René Nyffenegger 2 | 3 | This source code is provided 'as-is', without any express or implied 4 | warranty. In no event will the author be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this source code must not be misrepresented; you must not 12 | claim that you wrote the original source code. If you use this source code 13 | in a product, an acknowledgment in the product documentation would be 14 | appreciated but is not required. 15 | 16 | 2. Altered source versions must be plainly marked as such, and must not be 17 | misrepresented as being the original source code. 18 | 19 | 3. This notice may not be removed or altered from any source distribution. 20 | 21 | René Nyffenegger rene.nyffenegger@adp-gmbh.ch 22 | -------------------------------------------------------------------------------- /Engine-Core/Source/cereal/cereal/external/rapidjson/LICENSE: -------------------------------------------------------------------------------- 1 | Tencent is pleased to support the open source community by making RapidJSON available. 2 | 3 | Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. 4 | 5 | Licensed under the MIT License (the "License"); you may not use this file except 6 | in compliance with the License. You may obtain a copy of the License at 7 | 8 | http://opensource.org/licenses/MIT 9 | 10 | Unless required by applicable law or agreed to in writing, software distributed 11 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 12 | CONDITIONS OF ANY KIND, either express or implied. See the License for the 13 | specific language governing permissions and limitations under the License. 14 | -------------------------------------------------------------------------------- /Engine-Core/Source/cereal/cereal/external/rapidjson/internal/swap.h: -------------------------------------------------------------------------------- 1 | // Tencent is pleased to support the open source community by making RapidJSON available. 2 | // 3 | // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. 4 | // 5 | // Licensed under the MIT License (the "License"); you may not use this file except 6 | // in compliance with the License. You may obtain a copy of the License at 7 | // 8 | // http://opensource.org/licenses/MIT 9 | // 10 | // Unless required by applicable law or agreed to in writing, software distributed 11 | // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 12 | // CONDITIONS OF ANY KIND, either express or implied. See the License for the 13 | // specific language governing permissions and limitations under the License. 14 | 15 | #ifndef CEREAL_RAPIDJSON_INTERNAL_SWAP_H_ 16 | #define CEREAL_RAPIDJSON_INTERNAL_SWAP_H_ 17 | 18 | #include "../rapidjson.h" 19 | 20 | #if defined(__clang__) 21 | CEREAL_RAPIDJSON_DIAG_PUSH 22 | CEREAL_RAPIDJSON_DIAG_OFF(c++98-compat) 23 | #endif 24 | 25 | CEREAL_RAPIDJSON_NAMESPACE_BEGIN 26 | namespace internal { 27 | 28 | //! Custom swap() to avoid dependency on C++ header 29 | /*! \tparam T Type of the arguments to swap, should be instantiated with primitive C++ types only. 30 | \note This has the same semantics as std::swap(). 31 | */ 32 | template 33 | inline void Swap(T& a, T& b) CEREAL_RAPIDJSON_NOEXCEPT { 34 | T tmp = a; 35 | a = b; 36 | b = tmp; 37 | } 38 | 39 | } // namespace internal 40 | CEREAL_RAPIDJSON_NAMESPACE_END 41 | 42 | #if defined(__clang__) 43 | CEREAL_RAPIDJSON_DIAG_POP 44 | #endif 45 | 46 | #endif // CEREAL_RAPIDJSON_INTERNAL_SWAP_H_ 47 | -------------------------------------------------------------------------------- /Engine-Core/Source/cereal/cereal/external/rapidjson/msinttypes/LICENSE: -------------------------------------------------------------------------------- 1 | ISO C9x compliant stdint.h for Microsoft Visual Studio 2 | Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 3 | 4 | Copyright (c) 2006-2013 Alexander Chemeris 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, 10 | this list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright 13 | notice, this list of conditions and the following disclaimer in the 14 | documentation and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the product nor the names of its contributors may 17 | be used to endorse or promote products derived from this software 18 | without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 21 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 22 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 23 | EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 25 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 26 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 27 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 28 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 29 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2006 Marcus Geelnard 2 | 3 | Copyright (c) 2006-2019 Camilla Löwy 4 | 5 | This software is provided 'as-is', without any express or implied 6 | warranty. In no event will the authors be held liable for any damages 7 | arising from the use of this software. 8 | 9 | Permission is granted to anyone to use this software for any purpose, 10 | including commercial applications, and to alter it and redistribute it 11 | freely, subject to the following restrictions: 12 | 13 | 1. The origin of this software must not be misrepresented; you must not 14 | claim that you wrote the original software. If you use this software 15 | in a product, an acknowledgment in the product documentation would 16 | be appreciated but is not required. 17 | 18 | 2. Altered source versions must be plainly marked as such, and must not 19 | be misrepresented as being the original software. 20 | 21 | 3. This notice may not be removed or altered from any source 22 | distribution. 23 | 24 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/bc_s.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/bdwn.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/closed.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/doc.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/folderclosed.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/folderopen.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/menudata.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | var menudata={children:[ 26 | {text:"Introduction",url:"index.html"}, 27 | {text:"Tutorial",url:"quick_guide.html"}, 28 | {text:"Guides",url:"pages.html"}, 29 | {text:"Reference",url:"modules.html"}, 30 | {text:"Files",url:"files.html"}]} 31 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/nav_f.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/nav_g.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/nav_h.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/open.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['axes_0',['axes',['../structGLFWgamepadstate.html#a8b2c8939b1d31458de5359998375c189',1,'GLFWgamepadstate']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['blue_0',['blue',['../structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b',1,'GLFWgammaramp']]], 4 | ['bluebits_1',['blueBits',['../structGLFWvidmode.html#af310977f58d2e3b188175b6e3d314047',1,'GLFWvidmode']]], 5 | ['build_2edox_2',['build.dox',['../build_8dox.html',1,'']]], 6 | ['building_20applications_3',['Building applications',['../build_guide.html',1,'']]], 7 | ['buttons_4',['buttons',['../structGLFWgamepadstate.html#a27e9896b51c65df15fba2c7139bfdb9a',1,'GLFWgamepadstate']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_10.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vulkan_20guide_0',['Vulkan guide',['../vulkan_guide.html',1,'']]], 4 | ['vulkan_20support_20reference_1',['Vulkan support reference',['../group__vulkan.html',1,'']]], 5 | ['vulkan_2edox_2',['vulkan.dox',['../vulkan_8dox.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_11.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_11.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['width_0',['width',['../structGLFWvidmode.html#a698dcb200562051a7249cb6ae154c71d',1,'GLFWvidmode::width()'],['../structGLFWimage.html#af6a71cc999fe6d3aea31dd7e9687d835',1,'GLFWimage::width()']]], 4 | ['window_20guide_1',['Window guide',['../window_guide.html',1,'']]], 5 | ['window_20reference_2',['Window reference',['../group__window.html',1,'']]], 6 | ['window_2edox_3',['window.dox',['../window_8dox.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compat_2edox_0',['compat.dox',['../compat_8dox.html',1,'']]], 4 | ['compile_2edox_1',['compile.dox',['../compile_8dox.html',1,'']]], 5 | ['compiling_20glfw_2',['Compiling GLFW',['../compile_guide.html',1,'']]], 6 | ['context_20guide_3',['Context guide',['../context_guide.html',1,'']]], 7 | ['context_20reference_4',['Context reference',['../group__context.html',1,'']]], 8 | ['context_2edox_5',['context.dox',['../context_8dox.html',1,'']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['deprecated_20list_0',['Deprecated List',['../deprecated.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_20codes_0',['Error codes',['../group__errors.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['height_0',['height',['../structGLFWvidmode.html#ac65942a5f6981695517437a9d571d03c',1,'GLFWvidmode::height()'],['../structGLFWimage.html#a0b7d95368f0c80d5e5c9875057c7dbec',1,'GLFWimage::height()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['initialization_2c_20version_20and_20error_20reference_0',['Initialization, version and error reference',['../group__init.html',1,'']]], 4 | ['input_20guide_1',['Input guide',['../input_guide.html',1,'']]], 5 | ['input_20reference_2',['Input reference',['../group__input.html',1,'']]], 6 | ['input_2edox_3',['input.dox',['../input_8dox.html',1,'']]], 7 | ['internal_20structure_4',['Internal structure',['../internals_guide.html',1,'']]], 8 | ['internal_2edox_5',['internal.dox',['../internal_8dox.html',1,'']]], 9 | ['intro_2edox_6',['intro.dox',['../intro_8dox.html',1,'']]], 10 | ['introduction_20to_20the_20api_7',['Introduction to the API',['../intro_guide.html',1,'']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['joystick_20hat_20states_0',['Joystick hat states',['../group__hat__state.html',1,'']]], 4 | ['joysticks_1',['Joysticks',['../group__joysticks.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboard_20keys_0',['Keyboard keys',['../group__keys.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['main_2edox_0',['main.dox',['../main_8dox.html',1,'']]], 4 | ['modifier_20key_20flags_1',['Modifier key flags',['../group__mods.html',1,'']]], 5 | ['monitor_20guide_2',['Monitor guide',['../monitor_guide.html',1,'']]], 6 | ['monitor_20reference_3',['Monitor reference',['../group__monitor.html',1,'']]], 7 | ['monitor_2edox_4',['monitor.dox',['../monitor_8dox.html',1,'']]], 8 | ['mouse_20buttons_5',['Mouse buttons',['../group__buttons.html',1,'']]], 9 | ['moving_20from_20glfw_202_20to_203_6',['Moving from GLFW 2 to 3',['../moving_guide.html',1,'']]], 10 | ['moving_2edox_7',['moving.dox',['../moving_8dox.html',1,'']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['native_20access_0',['Native access',['../group__native.html',1,'']]], 4 | ['news_2edox_1',['news.dox',['../news_8dox.html',1,'']]], 5 | ['notitle_2',['notitle',['../index.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pixels_0',['pixels',['../structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quick_2edox_0',['quick.dox',['../quick_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['red_0',['red',['../structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138',1,'GLFWgammaramp']]], 4 | ['redbits_1',['redBits',['../structGLFWvidmode.html#a6066c4ecd251098700062d3b735dba1b',1,'GLFWvidmode']]], 5 | ['refreshrate_2',['refreshRate',['../structGLFWvidmode.html#a791bdd6c7697b09f7e9c97054bf05649',1,'GLFWvidmode']]], 6 | ['release_20notes_3',['Release notes',['../news.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_f.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/all_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['size_0',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]], 4 | ['standard_20cursor_20shapes_1',['Standard cursor shapes',['../group__shapes.html',1,'']]], 5 | ['standards_20conformance_2',['Standards conformance',['../compat_guide.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['glfwgamepadstate_0',['GLFWgamepadstate',['../structGLFWgamepadstate.html',1,'']]], 4 | ['glfwgammaramp_1',['GLFWgammaramp',['../structGLFWgammaramp.html',1,'']]], 5 | ['glfwimage_2',['GLFWimage',['../structGLFWimage.html',1,'']]], 6 | ['glfwvidmode_3',['GLFWvidmode',['../structGLFWvidmode.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 16 | 18 | image/svg+xml 19 | 21 | 22 | 23 | 24 | 25 | 27 | 31 | 32 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/defines_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['build_2edox_0',['build.dox',['../build_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compat_2edox_0',['compat.dox',['../compat_8dox.html',1,'']]], 4 | ['compile_2edox_1',['compile.dox',['../compile_8dox.html',1,'']]], 5 | ['context_2edox_2',['context.dox',['../context_8dox.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['glfw3_2eh_0',['glfw3.h',['../glfw3_8h.html',1,'']]], 4 | ['glfw3native_2eh_1',['glfw3native.h',['../glfw3native_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['input_2edox_0',['input.dox',['../input_8dox.html',1,'']]], 4 | ['internal_2edox_1',['internal.dox',['../internal_8dox.html',1,'']]], 5 | ['intro_2edox_2',['intro.dox',['../intro_8dox.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['main_2edox_0',['main.dox',['../main_8dox.html',1,'']]], 4 | ['monitor_2edox_1',['monitor.dox',['../monitor_8dox.html',1,'']]], 5 | ['moving_2edox_2',['moving.dox',['../moving_8dox.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['news_2edox_0',['news.dox',['../news_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quick_2edox_0',['quick.dox',['../quick_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vulkan_2edox_0',['vulkan.dox',['../vulkan_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/files_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_2edox_0',['window.dox',['../window_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/functions_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['context_20reference_0',['Context reference',['../group__context.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_20codes_0',['Error codes',['../group__errors.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['gamepad_20axes_0',['Gamepad axes',['../group__gamepad__axes.html',1,'']]], 4 | ['gamepad_20buttons_1',['Gamepad buttons',['../group__gamepad__buttons.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['initialization_2c_20version_20and_20error_20reference_0',['Initialization, version and error reference',['../group__init.html',1,'']]], 4 | ['input_20reference_1',['Input reference',['../group__input.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['joystick_20hat_20states_0',['Joystick hat states',['../group__hat__state.html',1,'']]], 4 | ['joysticks_1',['Joysticks',['../group__joysticks.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboard_20keys_0',['Keyboard keys',['../group__keys.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['modifier_20key_20flags_0',['Modifier key flags',['../group__mods.html',1,'']]], 4 | ['monitor_20reference_1',['Monitor reference',['../group__monitor.html',1,'']]], 5 | ['mouse_20buttons_2',['Mouse buttons',['../group__buttons.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['native_20access_0',['Native access',['../group__native.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standard_20cursor_20shapes_0',['Standard cursor shapes',['../group__shapes.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vulkan_20support_20reference_0',['Vulkan support reference',['../group__vulkan.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/groups_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_20reference_0',['Window reference',['../group__window.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 |
No Matches
11 |
12 | 13 | 14 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['building_20applications_0',['Building applications',['../build_guide.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compiling_20glfw_0',['Compiling GLFW',['../compile_guide.html',1,'']]], 4 | ['context_20guide_1',['Context guide',['../context_guide.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['deprecated_20list_0',['Deprecated List',['../deprecated.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['getting_20started_0',['Getting started',['../quick_guide.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['input_20guide_0',['Input guide',['../input_guide.html',1,'']]], 4 | ['internal_20structure_1',['Internal structure',['../internals_guide.html',1,'']]], 5 | ['introduction_20to_20the_20api_2',['Introduction to the API',['../intro_guide.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['monitor_20guide_0',['Monitor guide',['../monitor_guide.html',1,'']]], 4 | ['moving_20from_20glfw_202_20to_203_1',['Moving from GLFW 2 to 3',['../moving_guide.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['notitle_0',['notitle',['../index.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['release_20notes_0',['Release notes',['../news.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standards_20conformance_0',['Standards conformance',['../compat_guide.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vulkan_20guide_0',['Vulkan guide',['../vulkan_guide.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/pages_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_20guide_0',['Window guide',['../window_guide.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/search_l.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/search_m.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/search_r.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "abcdeghijkmnpqrsvw", 4 | 1: "g", 5 | 2: "bcgimnqvw", 6 | 3: "g", 7 | 4: "abghprsw", 8 | 5: "g", 9 | 6: "g", 10 | 7: "cegijkmnsvw", 11 | 8: "bcdgimnrsvw" 12 | }; 13 | 14 | var indexSectionNames = 15 | { 16 | 0: "all", 17 | 1: "classes", 18 | 2: "files", 19 | 3: "functions", 20 | 4: "variables", 21 | 5: "typedefs", 22 | 6: "defines", 23 | 7: "groups", 24 | 8: "pages" 25 | }; 26 | 27 | var indexSectionLabels = 28 | { 29 | 0: "All", 30 | 1: "Data Structures", 31 | 2: "Files", 32 | 3: "Functions", 33 | 4: "Variables", 34 | 5: "Typedefs", 35 | 6: "Macros", 36 | 7: "Modules", 37 | 8: "Pages" 38 | }; 39 | 40 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/typedefs_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['axes_0',['axes',['../structGLFWgamepadstate.html#a8b2c8939b1d31458de5359998375c189',1,'GLFWgamepadstate']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['blue_0',['blue',['../structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b',1,'GLFWgammaramp']]], 4 | ['bluebits_1',['blueBits',['../structGLFWvidmode.html#af310977f58d2e3b188175b6e3d314047',1,'GLFWvidmode']]], 5 | ['buttons_2',['buttons',['../structGLFWgamepadstate.html#a27e9896b51c65df15fba2c7139bfdb9a',1,'GLFWgamepadstate']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['green_0',['green',['../structGLFWgammaramp.html#affccc6f5df47820b6562d709da3a5a3a',1,'GLFWgammaramp']]], 4 | ['greenbits_1',['greenBits',['../structGLFWvidmode.html#a292fdd281f3485fb3ff102a5bda43faa',1,'GLFWvidmode']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['height_0',['height',['../structGLFWvidmode.html#ac65942a5f6981695517437a9d571d03c',1,'GLFWvidmode::height()'],['../structGLFWimage.html#a0b7d95368f0c80d5e5c9875057c7dbec',1,'GLFWimage::height()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pixels_0',['pixels',['../structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['red_0',['red',['../structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138',1,'GLFWgammaramp']]], 4 | ['redbits_1',['redBits',['../structGLFWvidmode.html#a6066c4ecd251098700062d3b735dba1b',1,'GLFWvidmode']]], 5 | ['refreshrate_2',['refreshRate',['../structGLFWvidmode.html#a791bdd6c7697b09f7e9c97054bf05649',1,'GLFWvidmode']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['size_0',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
Loading...
13 |
14 | 19 |
Searching...
20 |
No Matches
21 | 35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/search/variables_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['width_0',['width',['../structGLFWvidmode.html#a698dcb200562051a7249cb6ae154c71d',1,'GLFWvidmode::width()'],['../structGLFWimage.html#af6a71cc999fe6d3aea31dd7e9687d835',1,'GLFWimage::width()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/splitbar.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/sync_off.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/sync_on.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/tab_a.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/tab_b.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/tab_h.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/docs/html/tab_s.png -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/lib-vc2022/glfw3.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/lib-vc2022/glfw3.lib -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/lib-vc2022/glfw3_mt.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/lib-vc2022/glfw3_mt.lib -------------------------------------------------------------------------------- /Engine-Core/Source/glfw-3.3.8.bin.WIN64/lib-vc2022/glfw3dll.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/glfw-3.3.8.bin.WIN64/lib-vc2022/glfw3dll.lib -------------------------------------------------------------------------------- /Engine-Core/Source/imgui.ini: -------------------------------------------------------------------------------- 1 | [Window][Debug##Default] 2 | Pos=60,60 3 | Size=400,400 4 | Collapsed=0 5 | 6 | [Window][Dear ImGui Demo] 7 | Pos=650,20 8 | Size=550,680 9 | Collapsed=0 10 | 11 | [Window][Hello, world!] 12 | Pos=6,3 13 | Size=201,311 14 | Collapsed=0 15 | 16 | [Window][Debug Info] 17 | Pos=331,249 18 | Size=252,124 19 | Collapsed=0 20 | 21 | [Window][World Hierarchy] 22 | Pos=334,374 23 | Size=248,474 24 | Collapsed=0 25 | 26 | -------------------------------------------------------------------------------- /Engine-Core/Source/include/3DObjects/Heightmap.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | class Heightmap 6 | { 7 | std::vector> _heights; 8 | unsigned int _width; 9 | unsigned int _height; 10 | 11 | public: 12 | Heightmap(unsigned int width, unsigned int height); 13 | Heightmap(const std::vector>& heights); 14 | 15 | float GetPointHeight(unsigned int x, unsigned int y) const; 16 | void SetHeight(unsigned int x, unsigned int y, float height); 17 | 18 | unsigned int GetWidth() const; 19 | unsigned int GetHeight() const; 20 | 21 | void SaveToFile() const; 22 | void LoadFromFile(); 23 | 24 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/3DObjects/Terrain.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | class Terrain 5 | { 6 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/Config/ConfigManager.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include "nlohmannjson/json.hpp" 7 | 8 | class ConfigManager 9 | { 10 | nlohmann::json _configData; 11 | std::unordered_map _vsBufferSlots; 12 | std::unordered_map _psBufferSlots; 13 | 14 | ConfigManager(const std::string& fileName); 15 | 16 | public: 17 | ConfigManager(const ConfigManager&) = delete; 18 | ConfigManager& operator=(const ConfigManager&) = delete; 19 | 20 | static ConfigManager& GetInstance(const std::string& fileName = "../../../../Assets/config.json") 21 | { 22 | static ConfigManager instance(fileName); 23 | return instance; 24 | } 25 | 26 | int GetVSConstantBufferSlot(const std::string& bufferName); 27 | int GetPSConstantBufferSlot(const std::string& bufferName); 28 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/ConstantBufferDefinitions.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | 6 | struct PerFrameConstantBuffer 7 | { 8 | DirectX::XMFLOAT4X4 viewProjectionMatrix; 9 | }; 10 | 11 | struct PerObjectConstantBuffer 12 | { 13 | DirectX::XMFLOAT4X4 modelMatrix; 14 | DirectX::XMFLOAT4X4 normalMatrix; 15 | }; 16 | 17 | struct CameraConstantBuffer 18 | { 19 | DirectX::XMFLOAT3 cameraPosition; 20 | float padding; 21 | }; 22 | 23 | struct LightConstantBuffer 24 | { 25 | DirectX::XMFLOAT4 Position; 26 | DirectX::XMFLOAT4 Ambient; 27 | DirectX::XMFLOAT4 Diffuse; 28 | DirectX::XMFLOAT4 Specular; 29 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/Constants.hpp: -------------------------------------------------------------------------------- 1 | #ifndef CONSTANTS_HPP 2 | #define CONSTANTS_HPP 3 | #include 4 | 5 | 6 | //TODO REMOVE BECAUSE Gfx apis have their own definitions 7 | namespace Constants 8 | { 9 | const double DegreesToRadiansConst = M_PI * 2.0 / 360.0; 10 | 11 | inline double DegreesToRadians(double degrees) 12 | { 13 | return DegreesToRadiansConst * degrees; 14 | } 15 | 16 | const double G = 6.67430e-11; 17 | } 18 | 19 | #endif -------------------------------------------------------------------------------- /Engine-Core/Source/include/Definitions.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace WRL = Microsoft::WRL; -------------------------------------------------------------------------------- /Engine-Core/Source/include/DirectXSerialization.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | namespace cereal 5 | { 6 | template 7 | void serialize(Archive& archive, DirectX::XMFLOAT4& vector4) 8 | { 9 | archive(cereal::make_nvp("x", vector4.x), cereal::make_nvp("y", vector4.y), cereal::make_nvp("z", vector4.z), cereal::make_nvp("w", vector4.w)); 10 | } 11 | 12 | template 13 | void serialize(Archive& archive, DirectX::XMFLOAT3& vector3) 14 | { 15 | archive(cereal::make_nvp("x", vector3.x), cereal::make_nvp("y", vector3.y), cereal::make_nvp("z", vector3.z)); 16 | } 17 | 18 | template 19 | void serialize(Archive& archive, DirectX::XMFLOAT2& vector2) 20 | { 21 | archive(cereal::make_nvp("x", vector2.x), cereal::make_nvp("y", vector2.y)); 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Component.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | #include 11 | 12 | #include "Entity.hpp" 13 | 14 | constexpr size_t MAX_COMPONENTS = 64; 15 | using ComponentSignature = std::bitset; 16 | using ComponentType = std::uint16_t; 17 | 18 | class Component 19 | { 20 | public: 21 | virtual ~Component() = default; 22 | 23 | template 24 | void save(Archive& archive) const 25 | { 26 | 27 | } 28 | 29 | template 30 | void load(Archive& archive) const 31 | { 32 | 33 | } 34 | }; 35 | 36 | class ComponentUI 37 | { 38 | public: 39 | ComponentUI() = default; 40 | virtual ~ComponentUI() = default; 41 | virtual void RenderUI(Component& component) = 0; 42 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/ComponentIdentifier.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class ComponentIdentifier 4 | { 5 | int _id; 6 | public: 7 | ComponentIdentifier(int id); 8 | 9 | void SetId(int id); 10 | int GetId() const; 11 | }; 12 | 13 | 14 | -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Components/CameraComponent.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | #include "Component.hpp" 6 | #include "ComponentIdentifier.hpp" 7 | #include "ConstantBufferDefinitions.hpp" 8 | #include "Definitions.hpp" 9 | 10 | // Debug tools 11 | #include "IMonitorable.hpp" 12 | 13 | 14 | class CameraComponent : public Component 15 | { 16 | DirectX::XMFLOAT3 _rotation; 17 | 18 | float _moveSpeed; 19 | float _rotationSpeed; 20 | 21 | WRL::ComPtr _cameraConstantBuffer = nullptr; 22 | 23 | // TODO ADD FOV AND OTHER STUFF LIKE RENDER MASKS, MODES, FLAGS 24 | 25 | public: 26 | CameraComponent(); 27 | CameraComponent(ID3D11Device* device, DirectX::XMFLOAT3 rotation, float moveSpeed, float rotationSpeed); 28 | ~CameraComponent(); 29 | 30 | DirectX::XMFLOAT3& GetRotationByRef(); 31 | float GetMoveSpeed() const; 32 | float GetRotationSpeed() const; 33 | 34 | WRL::ComPtr GetCameraConstantBuffer(); 35 | void CreateConstantBuffers(ID3D11Device* device); 36 | 37 | // Serialization 38 | 39 | template 40 | void save(Archive& archive) const 41 | { 42 | archive(CEREAL_NVP(_rotation)); 43 | } 44 | 45 | template 46 | void load(Archive& archive) 47 | { 48 | } 49 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Components/DirectionalLightComponent.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "ECS.hpp" 4 | 5 | struct DirectionalLightConstantBuffer 6 | { 7 | DirectX::XMFLOAT4 direction; 8 | DirectX::XMFLOAT4 ambient; 9 | DirectX::XMFLOAT4 diffuse; 10 | DirectX::XMFLOAT4 specular; 11 | 12 | DirectionalLightConstantBuffer(); 13 | DirectionalLightConstantBuffer( 14 | const DirectX::XMFLOAT4& direction, 15 | const DirectX::XMFLOAT4& ambient, 16 | const DirectX::XMFLOAT4& diffuse, 17 | const DirectX::XMFLOAT4& specular 18 | ); 19 | }; 20 | 21 | class DirectionalLightComponent : public Component 22 | { 23 | DirectionalLightConstantBuffer _directionalLightConstantBuffer; 24 | 25 | public: 26 | DirectionalLightComponent(); 27 | DirectionalLightComponent( 28 | const DirectX::XMFLOAT4& direction, 29 | const DirectX::XMFLOAT4& ambient, 30 | const DirectX::XMFLOAT4& diffuse, 31 | const DirectX::XMFLOAT4& specular 32 | ); 33 | 34 | DirectX::XMFLOAT4 GetDirection() const; 35 | DirectX::XMFLOAT4 GetAmbient() const; 36 | DirectX::XMFLOAT4 GetDiffuse() const; 37 | DirectX::XMFLOAT4 GetSpecular() const; 38 | 39 | DirectionalLightConstantBuffer GetConstantBuffer(); 40 | 41 | void SetDirection(const DirectX::XMFLOAT4& direction); 42 | void SetAmbient(const DirectX::XMFLOAT4& ambient); 43 | void SetDiffuse(const DirectX::XMFLOAT4& diffuse); 44 | void SetSpecular(const DirectX::XMFLOAT4& specular); 45 | 46 | // Serialization 47 | 48 | template 49 | void save(Archive& archive) const 50 | { 51 | } 52 | 53 | template 54 | void load(Archive& archive) 55 | { 56 | } 57 | }; 58 | 59 | -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Components/LightComponent.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "Component.hpp" 4 | 5 | class LightComponent : Component 6 | { 7 | DirectX::XMFLOAT4 _position; 8 | DirectX::XMFLOAT4 _ambient; 9 | DirectX::XMFLOAT4 _diffuse; 10 | DirectX::XMFLOAT4 _specular; 11 | 12 | public: 13 | LightComponent(); 14 | LightComponent(int id, const DirectX::XMFLOAT4& position, const DirectX::XMFLOAT4& ambient, const DirectX::XMFLOAT4& diffuse, const DirectX::XMFLOAT4& specular); 15 | 16 | DirectX::XMFLOAT4 GetPosition() const; 17 | DirectX::XMFLOAT4 GetAmbient() const; 18 | DirectX::XMFLOAT4 GetDiffuse() const; 19 | DirectX::XMFLOAT4 GetSpecular() const; 20 | 21 | // Serialization 22 | 23 | template 24 | void save(Archive& archive) const 25 | { 26 | } 27 | 28 | template 29 | void load(Archive& archive) 30 | { 31 | } 32 | }; 33 | 34 | -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Components/TerrainComponent.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #pragma once 3 | #include 4 | #include 5 | #include 6 | 7 | #include "Definitions.hpp" 8 | #include "VertexType.hpp" 9 | #include "ComponentIdentifier.hpp" 10 | #include "Heightmap.hpp" 11 | #include "Terrain.hpp" 12 | #include 13 | 14 | class TerrainComponent : public Component 15 | { 16 | float _chunkWidth; 17 | float _chunkHeight; 18 | int _chunkDensityX; 19 | int _chunkDdensityY; 20 | 21 | // testing component relations 22 | MeshComponent* _terrainChunkMesh; 23 | 24 | public: 25 | TerrainComponent(); 26 | TerrainComponent(const Heightmap& heightmap, MeshComponent* mesh); 27 | 28 | // Serialization 29 | 30 | template 31 | void save(Archive& archive) const 32 | { 33 | //archive(cereal::make_nvp("_id", GetId()), CEREAL_NVP(_instancePoolIndex), CEREAL_NVP(_path)); 34 | } 35 | 36 | template 37 | void load(Archive& archive) 38 | { 39 | //archive(cereal::make_nvp("_id", GetId()), CEREAL_NVP(_instancePoolIndex), CEREAL_NVP(_path)); 40 | //FinalizeLoading(); 41 | } 42 | }; 43 | 44 | -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Components/TransformComponent.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include "ComponentIdentifier.hpp" 5 | #include "DirectXSerialization.hpp" 6 | #include "ComponentRegistry.hpp" 7 | #include 8 | #include 9 | #include 10 | #include 11 | //#include "ComponentUIRegistry.hpp" 12 | 13 | class TransformComponent : public Component 14 | { 15 | DirectX::XMFLOAT3 _position; 16 | DirectX::XMFLOAT3 _rotation; 17 | DirectX::XMFLOAT3 _scale; 18 | bool _isDirty = true; // TODO consider using flag systems (&) 19 | 20 | public: 21 | TransformComponent(); 22 | TransformComponent(const DirectX::XMFLOAT3& pos, const DirectX::XMFLOAT3& rot, const DirectX::XMFLOAT3& scale); 23 | 24 | void SetPosition(const DirectX::XMFLOAT3& position); 25 | void SetRotation(const DirectX::XMFLOAT3& rotation); 26 | void SetScale(const DirectX::XMFLOAT3& scale); 27 | 28 | DirectX::XMFLOAT3 GetPosition() const; 29 | DirectX::XMFLOAT3 GetRotation() const; 30 | DirectX::XMFLOAT3 GetScale() const; 31 | 32 | //TODO CONSIDER USING REFS IS GOOD OR BAD 33 | DirectX::XMFLOAT3& GetPositionByRef(); 34 | DirectX::XMFLOAT3& GetRotationByRef(); 35 | DirectX::XMFLOAT3& GetScaleByRef(); 36 | 37 | DirectX::XMMATRIX GetWorldMatrix() const; 38 | 39 | bool IsDirty() const; 40 | void SetIsDirty(bool isDirty); 41 | 42 | friend std::ostream& operator<<(std::ostream& os, const TransformComponent& transform); 43 | 44 | template 45 | void serialize(Archive& archive) 46 | { 47 | //archive(CEREAL_NVP(_isDirty), CEREAL_NVP(_position), CEREAL_NVP(_rotation), CEREAL_NVP(_scale)); 48 | } 49 | }; 50 | 51 | class TransformComponentUI : public ComponentUI 52 | { 53 | public: 54 | void RenderUI(Component& component) override; 55 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/ECSDebugger.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include "ECS.hpp" 10 | 11 | /* Debugger class for Core ECS that provides a UI 12 | to visually diagnose problems, should be completely disabled in release config 13 | */ 14 | class ECSDebugger : public System 15 | { 16 | ECS* _ecs; 17 | bool _enabled = false; 18 | 19 | public: 20 | ECSDebugger(); 21 | ECSDebugger(ECS* ecs); 22 | ~ECSDebugger(); 23 | 24 | void Update(float deltaTime) override; 25 | void PeriodicUpdate(float deltaTime) override; 26 | void Render() override; 27 | 28 | void Toggle(); 29 | 30 | template 31 | void serialize(Archive& archive) 32 | { 33 | 34 | } 35 | }; 36 | 37 | #include 38 | CEREAL_REGISTER_TYPE(ECSDebugger) 39 | CEREAL_REGISTER_POLYMORPHIC_RELATION(System, ECSDebugger) -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Entity.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | using Entity = std::uint32_t; 5 | -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/IComponentVector.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | #include "Entity.hpp" 5 | class IComponentVector 6 | { 7 | public: 8 | virtual ~IComponentVector() = default; 9 | virtual void* GetComponent(Entity entity) = 0; 10 | virtual void CloneComponent(Entity entity, IComponentVector& target) const = 0; 11 | virtual void TransferComponent(Entity entity, IComponentVector& target) const = 0; 12 | virtual void RemoveComponent(Entity entity) = 0; 13 | virtual size_t GetComponentCount() const = 0; 14 | 15 | template 16 | void save(Archive& archive) const 17 | { 18 | } 19 | 20 | template 21 | void load(Archive& archive) 22 | { 23 | } 24 | }; 25 | 26 | class IComponentVectorFactory 27 | { 28 | public: 29 | virtual ~IComponentVectorFactory(); 30 | 31 | }; 32 | 33 | -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/System.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | class System { 5 | public: 6 | virtual ~System() = default; 7 | 8 | virtual void Render() = 0; 9 | virtual void Update(float deltaTime) = 0; 10 | virtual void PeriodicUpdate(float deltaTime) = 0; 11 | 12 | template 13 | void serialize(Archive& archive) {} 14 | }; 15 | 16 | #include 17 | CEREAL_REGISTER_TYPE(System) -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Systems/CameraSystem.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "CameraComponent.hpp" 3 | #include "ECS.hpp"; 4 | #include "Constants.hpp" 5 | #include "RenderingApplication3D.hpp" 6 | #include "ConstantBufferBinder.hpp" 7 | 8 | class CameraSystem : public System 9 | { 10 | RenderingApplication3D* _renderingApplication = nullptr; 11 | ECS* _ecs = nullptr; 12 | 13 | void BindCameraConstantBuffer(const WRL::ComPtr& cameraConstantBuffer, const DirectX::XMFLOAT3& cameraPosition) const; 14 | public: 15 | CameraSystem(); 16 | CameraSystem(RenderingApplication3D* renderingApplication, ECS* ecs); 17 | ~CameraSystem(); 18 | 19 | void Render() override; 20 | void Update(float deltaTime) override; 21 | void PeriodicUpdate(float deltaTime) override; 22 | 23 | template 24 | void serialize(Archive& archive) 25 | { 26 | 27 | } 28 | }; 29 | 30 | #include 31 | CEREAL_REGISTER_TYPE(CameraSystem) 32 | CEREAL_REGISTER_POLYMORPHIC_RELATION(System, CameraSystem) -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Systems/EntityMonitoringSystem.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | #include "ECS.hpp"; 8 | #include "Constants.hpp" 9 | #include "RenderingApplication3D.hpp" 10 | 11 | class EntityMonitoringSystem : public System 12 | { 13 | ECS* _ecs = nullptr; 14 | bool _enabled = false; 15 | public: 16 | EntityMonitoringSystem(); 17 | EntityMonitoringSystem(ECS* ecs); 18 | ~EntityMonitoringSystem(); 19 | 20 | void Render() override; 21 | void Update(float deltaTime) override; 22 | void PeriodicUpdate(float deltaTime) override; 23 | 24 | void Toggle(); 25 | 26 | template 27 | void serialize(Archive& archive) 28 | { 29 | 30 | } 31 | }; 32 | 33 | #include 34 | CEREAL_REGISTER_TYPE(EntityMonitoringSystem) 35 | CEREAL_REGISTER_POLYMORPHIC_RELATION(System, EntityMonitoringSystem) -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Systems/LightingSystem.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | #include "ECS.hpp"; 5 | #include "DirectionalLightComponent.hpp" 6 | #include "ConfigManager.hpp" 7 | #include "ConstantBufferBinder.hpp" 8 | 9 | enum ConstantBuffers 10 | { 11 | PerFrame, 12 | Camera, 13 | DirectionalLight, 14 | PerObject 15 | }; 16 | 17 | class LightingSystem : public System 18 | { 19 | WRL::ComPtr _device = nullptr; 20 | WRL::ComPtr _deviceContext = nullptr; 21 | ECS* _ecs; 22 | 23 | WRL::ComPtr _directionalLightConstantBuffer = nullptr; 24 | public: 25 | LightingSystem(); 26 | LightingSystem(ID3D11Device* device, ID3D11DeviceContext* deviceContext, ECS* ecs); 27 | 28 | void InitializeBuffers(); 29 | 30 | void Render() override; 31 | void Update(float deltaTime) override; 32 | void PeriodicUpdate(float deltaTime) override; 33 | 34 | void UpdateDirectionalLightBuffer(const DirectionalLightConstantBuffer& directionalLightBuffer); 35 | 36 | template 37 | void serialize(Archive& archive) 38 | { 39 | 40 | } 41 | }; 42 | 43 | #include 44 | CEREAL_REGISTER_TYPE(LightingSystem) 45 | CEREAL_REGISTER_POLYMORPHIC_RELATION(System, LightingSystem) -------------------------------------------------------------------------------- /Engine-Core/Source/include/ECS/Systems/ProfilerSystem.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | #include "ECS.hpp"; 8 | #include "ProfilerComponent.hpp" 9 | 10 | class ProfilerSystem : public System 11 | { 12 | ECS* _ecs = nullptr; 13 | bool _enabled = false; 14 | 15 | public: 16 | ProfilerSystem(); 17 | ProfilerSystem(ECS* ecs); 18 | ~ProfilerSystem(); 19 | 20 | void Render() override; 21 | void Update(float deltaTime) override; 22 | void PeriodicUpdate(float deltaTime) override; 23 | 24 | void Toggle(); 25 | 26 | template 27 | void serialize(Archive& archive) 28 | { 29 | 30 | } 31 | }; 32 | 33 | #include 34 | CEREAL_REGISTER_TYPE(ProfilerSystem) 35 | CEREAL_REGISTER_POLYMORPHIC_RELATION(System, ProfilerSystem) -------------------------------------------------------------------------------- /Engine-Core/Source/include/EcsSerialization.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | namespace cereal 6 | { 7 | template 8 | void save(Archive& archive, std::bitset const& bitset) 9 | { 10 | std::string bitString = bitset.to_string(); 11 | archive(bitString); 12 | } 13 | 14 | template 15 | void load(Archive& archive, std::bitset const& bitset) 16 | { 17 | std::string bitString; 18 | archive(bitString); 19 | bitset = std::bitset(bitString); 20 | } 21 | } -------------------------------------------------------------------------------- /Engine-Core/Source/include/GraphicsAPI/GraphicsContext.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class GraphicsContext 4 | { 5 | public: 6 | virtual ~GraphicsContext() = default; 7 | 8 | virtual bool Initialize() = 0; 9 | virtual void Cleanup() = 0; 10 | virtual void Render() = 0; 11 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/GraphicsAPI/VulkanContext.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Engine-Core/Source/include/GraphicsAPI/VulkanContext.hpp -------------------------------------------------------------------------------- /Engine-Core/Source/include/IMonitorable.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class IMonitorable 4 | { 5 | public: 6 | virtual void RenderMonitorUI() const = 0; 7 | virtual ~IMonitorable() = default; 8 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/IntVectors.hpp: -------------------------------------------------------------------------------- 1 | struct Int3 { 2 | int x; 3 | int y; 4 | int z; 5 | 6 | Int3() { x = 0; y = 0; z = 0; }; 7 | Int3(const int x, const int y, const int z); 8 | ~Int3() {} 9 | 10 | Int3 operator+(const Int3& other) const; 11 | Int3 operator-(const Int3& other) const; 12 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/Logging.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | class IDebuggable 3 | { 4 | public: 5 | virtual int GetOwnershipCount() const = 0; 6 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/Registries/CerealRegistry.hpp: -------------------------------------------------------------------------------- 1 | //#include "Component.hpp" 2 | //#include 3 | // 4 | //#include "CameraComponent.hpp" 5 | //#include "DirectionalLightComponent.hpp" 6 | //#include "LightComponent.hpp" 7 | //#include "MaterialComponent.hpp" 8 | //#include "MeshComponent.hpp" 9 | //#include "ProfilerComponent.hpp" 10 | //#include "TerrainComponent.hpp" 11 | //#include "TransformComponent.hpp" 12 | // 13 | //#include "VertexType.hpp" 14 | // 15 | //CEREAL_REGISTER_TYPE(IComponentVector); 16 | // 17 | //CEREAL_REGISTER_TYPE(ComponentVector); 18 | //CEREAL_REGISTER_TYPE(ComponentVector); 19 | //CEREAL_REGISTER_TYPE(ComponentVector); 20 | //CEREAL_REGISTER_TYPE(ComponentVector); 21 | //CEREAL_REGISTER_TYPE(ComponentVector>); 22 | //CEREAL_REGISTER_TYPE(ComponentVector); 23 | //CEREAL_REGISTER_TYPE(ComponentVector); 24 | //CEREAL_REGISTER_TYPE(ComponentVector); 25 | // 26 | //CEREAL_REGISTER_POLYMORPHIC_RELATION(IComponentVector, ComponentVector) 27 | //CEREAL_REGISTER_POLYMORPHIC_RELATION(IComponentVector, ComponentVector) 28 | //CEREAL_REGISTER_POLYMORPHIC_RELATION(IComponentVector, ComponentVector) 29 | //CEREAL_REGISTER_POLYMORPHIC_RELATION(IComponentVector, ComponentVector) 30 | //CEREAL_REGISTER_POLYMORPHIC_RELATION(IComponentVector, ComponentVector>) 31 | //CEREAL_REGISTER_POLYMORPHIC_RELATION(IComponentVector, ComponentVector) 32 | //CEREAL_REGISTER_POLYMORPHIC_RELATION(IComponentVector, ComponentVector) 33 | //CEREAL_REGISTER_POLYMORPHIC_RELATION(IComponentVector, ComponentVector) -------------------------------------------------------------------------------- /Engine-Core/Source/include/Shaders/ConstantBufferBinder.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "DirectionalLightComponent.hpp" 4 | 5 | class ConstantBufferBinder 6 | { 7 | ID3D11DeviceContext* _deviceContext = nullptr; 8 | ConstantBufferBinder(); 9 | public: 10 | ConstantBufferBinder(const ConstantBufferBinder&) = delete; 11 | ConstantBufferBinder& operator=(const ConstantBufferBinder&) = delete; 12 | 13 | static ConstantBufferBinder& GetInstance() 14 | { 15 | static ConstantBufferBinder instance; 16 | return instance; 17 | } 18 | void Initialize(ID3D11DeviceContext* deviceContext); 19 | 20 | template 21 | void BindConstantBuffer(ID3D11Buffer* buffer, const T& data, UINT slot, bool isVertexShader = true, bool isPixelShader = true) 22 | { 23 | if (!_deviceContext) throw std::runtime_error("Device context not initialized"); 24 | 25 | D3D11_MAPPED_SUBRESOURCE mappedResource; 26 | _deviceContext->Map(buffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource); 27 | memcpy(mappedResource.pData, &data, sizeof(T)); 28 | _deviceContext->Unmap(buffer, 0); 29 | 30 | if (isVertexShader) 31 | _deviceContext->VSSetConstantBuffers(slot, 1, &buffer); 32 | if (isPixelShader) 33 | _deviceContext->PSSetConstantBuffers(slot, 1, &buffer); 34 | } 35 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/Shaders/ShaderManager.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | 9 | //#include "VertexType.hpp" 10 | //#include "Definitions.hpp" 11 | //#include 12 | //#include 13 | //#include 14 | //#include 15 | 16 | class ShaderManager { 17 | ID3D11Device* _device; 18 | std::wstring _currentShaderId; 19 | // Collection can be [pixel + vertex] 20 | std::unordered_map> _shaderCollections; 21 | 22 | public: 23 | ShaderManager() {}; 24 | ShaderManager(ID3D11Device* device); 25 | 26 | bool LoadShaderCollection(const std::wstring& id, const ShaderCollectionDescriptor& descriptor); 27 | ShaderCollection* GetShaderCollection(const std::wstring& id); 28 | 29 | void ApplyToContext(const std::wstring& id, ID3D11DeviceContext* context); 30 | 31 | std::wstring GetCurrentShaderId() const; 32 | 33 | void Destroy(); 34 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/Shaders/TextureManager.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define NOMINMAX // prevents windows headers from creating min max macros 3 | #include 4 | #include 5 | #include "Definitions.hpp" 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | // Could be stored in entities 14 | // Loads textures and generates unique wstring IDs associated with them 15 | class TextureManager 16 | { 17 | std::unordered_map> _idToTexture; 18 | std::wstring GenerateUniqueId(const std::wstring& baseId) const; 19 | public: 20 | std::wstring LoadTexture(ID3D11Device* device, const std::wstring& filePath); 21 | std::wstring LoadTextureCubeFromSingleImage(ID3D11Device* device, const std::wstring& filePath); 22 | std::wstring CreateTextureNormalMapFromImage(ID3D11Device* device, const std::wstring& filePath); 23 | WRL::ComPtr CreateTextureFromImage(ID3D11Device* device, const std::wstring& filePath); 24 | WRL::ComPtr CreateTextureCubeFromSingleImage(ID3D11Device* device, const std::wstring& filePath); 25 | WRL::ComPtr CreateNormalMapFromImage(ID3D11Device* device, const std::wstring& filePath); 26 | ID3D11ShaderResourceView* GetTexture(const std::wstring& id) const; 27 | 28 | std::vector SplitCubeImage(FIBITMAP* image); 29 | 30 | FIBITMAP* GenerateNormalMapFromHeightmap(FIBITMAP* heightMap); 31 | float GetPixelHeightClamped(unsigned int x, unsigned int y, FIBITMAP* heightMap); 32 | float GetPixelHeightNoWrap(unsigned int x, unsigned int y, FIBITMAP* heightMap); 33 | }; -------------------------------------------------------------------------------- /Engine-Core/Source/include/VertexType.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | enum class VertexType 6 | { 7 | PositionNormalUv, 8 | PositionNormalUvHeight 9 | }; 10 | 11 | using Position = DirectX::XMFLOAT3; 12 | using Normal = DirectX::XMFLOAT3; 13 | using Uv = DirectX::XMFLOAT2; 14 | 15 | 16 | struct VertexPositionNormalUv 17 | { 18 | // 32 bytes 19 | Position position; // 12 20 | Normal normal; // 12 21 | Uv uv; // 8 22 | }; 23 | 24 | struct VertexPositionNormalUvHeight 25 | { 26 | // 48 bytes 27 | Position position; // 12 28 | Normal normal; // 12 29 | Uv uv; // 8 30 | float height; // 4 31 | 32 | float padding[3]; // 12 33 | }; -------------------------------------------------------------------------------- /Engine-Editor/Engine-Editor.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {3824E0A7-24C6-0A7E-0D81-1ED2F9C191CE} 6 | 7 | 8 | {1101E1D1-FDCE-D4D7-E662-45FED2CFB03C} 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Engine-Editor/Engine-Editor.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ..\Binaries\windows-x86_64\Debug_DX11\$(ProjectName) 5 | WindowsLocalDebugger 6 | 7 | 8 | ..\Binaries\windows-x86_64\Release_DX11\$(ProjectName) 9 | WindowsLocalDebugger 10 | 11 | 12 | ..\Binaries\windows-x86_64\Debug_Vulkan\$(ProjectName) 13 | WindowsLocalDebugger 14 | 15 | 16 | ..\Binaries\windows-x86_64\Release_Vulkan\$(ProjectName) 17 | WindowsLocalDebugger 18 | 19 | -------------------------------------------------------------------------------- /Engine-Editor/Source/Editor.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "RenderingApplication3D.hpp" 4 | #include "World.hpp" 5 | #include 6 | #include 7 | #include 8 | #include "ConstantBufferBinder.hpp" 9 | #include "EditorUIManagerSystem.hpp" 10 | #include "EntityMonitoringSystem.hpp" 11 | #include "ProfilerSystem.hpp" 12 | #include "WorldHierarchy.hpp" 13 | 14 | class Editor 15 | { 16 | public: 17 | Editor(); 18 | void Run(); 19 | 20 | void LoadSystems(ECS* ecs, World& world, HWND hwnd, HANDLE handle); 21 | }; 22 | 23 | -------------------------------------------------------------------------------- /Engine-Editor/Source/EditorCerealRegistry.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include "IComponentVector.hpp" 6 | #include "ComponentVector.hpp" 7 | #include "WorldHierarchyComponent.hpp" 8 | 9 | CEREAL_REGISTER_TYPE(ComponentVector); 10 | CEREAL_REGISTER_POLYMORPHIC_RELATION(IComponentVector, ComponentVector) 11 | -------------------------------------------------------------------------------- /Engine-Editor/Source/EditorUIManagerSystem.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include "ECS.hpp" 7 | 8 | #include "ProfilerSystem.hpp" 9 | #include "ECSDebugger.hpp" 10 | #include "EntityMonitoringSystem.hpp" 11 | #include "WorldHierarchy.hpp" 12 | #include "EntityEditor.hpp" 13 | 14 | #include "RenderingApplication3D.hpp" 15 | // TODO Load windows from editor files (windows should not be hardcoded in code at some point likely) 16 | 17 | 18 | class EditorUIManagerSystem : public System 19 | { 20 | ECS* _ecs = nullptr; 21 | bool _showWorldHierarchy = false; 22 | bool _showEcsDebugger = false; 23 | bool _showEMS = false; 24 | bool _showProfiler = false; 25 | bool _showEntityEditor = false; 26 | 27 | bool _isDraggingWindow = false; 28 | double _dragStartMouseX = 0.0, _dragStartMouseY = 0.0; 29 | int _dragStartWindowX = 0, _dragStartWindowY = 0; 30 | double _dragOffsetX = 0.0, _dragOffsetY = 0.0; 31 | 32 | public: 33 | EditorUIManagerSystem(); 34 | EditorUIManagerSystem(ECS* ecs); 35 | 36 | void Render() override; 37 | void Update(float deltaTime) override; 38 | void PeriodicUpdate(float deltaTime) override; 39 | 40 | void RenderMenuBar(); 41 | void RenderMenuBarMenuButtons(); 42 | void RenderMenuBarControlButtons(int controlButtonStackWidth); 43 | void RenderMenuBarInvisibleDragButton(int controlButtonStackWidth); 44 | void RenderWindowInvisibleResizePanels(); 45 | 46 | bool Splitter(bool split_vertically, float thickness, float* size1, float* size2, float min_size1, float min_size2); 47 | 48 | template 49 | void serialize(Archive& archive) 50 | { 51 | 52 | } 53 | }; 54 | 55 | #include 56 | CEREAL_REGISTER_TYPE(EditorUIManagerSystem) 57 | CEREAL_REGISTER_POLYMORPHIC_RELATION(System, EditorUIManagerSystem) -------------------------------------------------------------------------------- /Engine-Editor/Source/EntityEditor.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | #include 8 | 9 | #include "ECS.hpp" 10 | #include "WorldHierarchy.hpp" 11 | 12 | //#include "ProfilerSystem.hpp" 13 | //#include "ECSDebugger.hpp" 14 | //#include "EntityMonitoringSystem.hpp" 15 | //#include "WorldHierarchy.hpp" 16 | 17 | //#include "RenderingApplication3D.hpp" 18 | // TODO Load windows from editor files (windows should not be hardcoded in code at some point likely) 19 | 20 | 21 | class EntityEditor : public System 22 | { 23 | ECS* _ecs = nullptr; 24 | bool _enabled = false; 25 | Entity _selected; 26 | 27 | public: 28 | EntityEditor(); 29 | EntityEditor(ECS* ecs); 30 | 31 | void Render() override; 32 | void Update(float deltaTime) override; 33 | void PeriodicUpdate(float deltaTime) override; 34 | 35 | void Toggle(); 36 | 37 | template 38 | void serialize(Archive& archive) 39 | { 40 | 41 | } 42 | }; 43 | 44 | #include 45 | CEREAL_REGISTER_TYPE(EntityEditor) 46 | CEREAL_REGISTER_POLYMORPHIC_RELATION(System, EntityEditor) -------------------------------------------------------------------------------- /Engine-Editor/Source/Main.cpp: -------------------------------------------------------------------------------- 1 | #include "Editor.hpp" 2 | #include "CerealRegistry.hpp" 3 | void LogCerealRegistration(); 4 | 5 | int main(int argc, char* argv[]) 6 | { 7 | LogCerealRegistration(); 8 | Editor editor; 9 | editor.Run(); 10 | } -------------------------------------------------------------------------------- /Engine-Editor/Source/WorldHierarchy.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | #include "TransformComponent.hpp" 17 | #include "TerrainComponent.hpp" 18 | #include "WorldHierarchyComponent.hpp" 19 | 20 | #include "ECS.hpp" 21 | //#include "World.hpp" 22 | 23 | class World; // forward declaration 24 | 25 | class WorldHierarchy : public System 26 | { 27 | ECS* _ecs; 28 | World* _world = nullptr; // non owning 29 | 30 | bool _enabled = false; 31 | 32 | Entity _selectedEntity; 33 | 34 | public: 35 | WorldHierarchy(); 36 | WorldHierarchy(ECS* ecs, World* world); 37 | 38 | void Render() override; 39 | void Update(float deltaTime) override; 40 | void PeriodicUpdate(float deltaTime) override; 41 | 42 | Entity GetSelectedEntity(); 43 | 44 | int CreatePrimitiveGeometry3D(PrimitiveGeometryType3D type, std::string name, std::unordered_map& entityToName); 45 | 46 | void SetWorld(World* world); 47 | 48 | void Toggle(); 49 | 50 | template 51 | void serialize(Archive& archive) 52 | { 53 | 54 | } 55 | }; 56 | 57 | #include 58 | CEREAL_REGISTER_TYPE(WorldHierarchy) 59 | CEREAL_REGISTER_POLYMORPHIC_RELATION(System, WorldHierarchy) 60 | 61 | -------------------------------------------------------------------------------- /Engine-Editor/Source/WorldHierarchyComponent.cpp: -------------------------------------------------------------------------------- 1 | #include "WorldHierarchyComponent.hpp" 2 | 3 | WorldHierarchyComponent::WorldHierarchyComponent() 4 | { 5 | } 6 | 7 | int WorldHierarchyComponent::CreatePrimitiveGeometry3D(PrimitiveGeometryType3D type, std::string name) 8 | { 9 | //auto geometry = _world->CreateEntity(); 10 | //auto transform = TransformComponent(); 11 | //_world->AddComponent(geometry, transform); 12 | 13 | ////temporary to check system TODO SEPARATE 14 | 15 | //if (type == PrimitiveGeometryType3D::TerrainChunk) 16 | //{ 17 | // std::vector> heights; 18 | // heights.resize(256); 19 | // for (unsigned int i = 0; i < 256; ++i) { 20 | // heights[i].resize(256, 0); 21 | // } 22 | // Heightmap heightmap = Heightmap(heights); 23 | // auto mesh = MeshComponent::GenerateTerrainMeshComponent(type, heightmap); 24 | // auto terrain = TerrainComponent(heightmap, &mesh); 25 | // _world->AddComponent(geometry, mesh); 26 | // _world->AddComponent(geometry, terrain); 27 | //} 28 | //else 29 | //{ 30 | // auto mesh = MeshComponent::GeneratePrimitiveMeshComponent(type); 31 | // _world->AddComponent(geometry, mesh); 32 | //} 33 | 34 | //auto material = MaterialComponent::GetDefaultMaterialComponent(); 35 | //_world->AddComponent(geometry, material); 36 | 37 | //_entityToName[geometry] = name; 38 | 39 | //return geometry; 40 | return 0; 41 | } 42 | 43 | std::unordered_map& WorldHierarchyComponent::GetEntityToNameRef() 44 | { 45 | return _entityToName; 46 | } 47 | 48 | const std::unordered_map& WorldHierarchyComponent::GetEntityToNameConstRef() const 49 | { 50 | return _entityToName; 51 | } 52 | 53 | std::string WorldHierarchyComponent::GetEntityName(int entityId) const 54 | { 55 | return std::string(); 56 | } 57 | 58 | void WorldHierarchyComponent::Clear() 59 | { 60 | _entityToName.clear(); 61 | } 62 | -------------------------------------------------------------------------------- /Engine-Editor/Source/WorldHierarchyComponent.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "MeshComponent.hpp" 3 | #include 4 | 5 | class WorldHierarchyComponent : public Component 6 | { 7 | std::unordered_map _entityToName; 8 | 9 | public: 10 | 11 | WorldHierarchyComponent(); 12 | int CreatePrimitiveGeometry3D(PrimitiveGeometryType3D type, std::string name); 13 | 14 | 15 | std::unordered_map& GetEntityToNameRef(); 16 | const std::unordered_map& GetEntityToNameConstRef() const; 17 | std::string GetEntityName(int entityId) const; 18 | 19 | void Clear(); 20 | 21 | template 22 | void save(Archive& archive) const 23 | { 24 | } 25 | 26 | template 27 | void load(Archive& archive) 28 | { 29 | } 30 | }; -------------------------------------------------------------------------------- /Engine-Editor/imgui.ini: -------------------------------------------------------------------------------- 1 | [Window][Debug##Default] 2 | Pos=60,60 3 | Size=400,400 4 | Collapsed=0 5 | 6 | [Window][Debug Info] 7 | Pos=80,343 8 | Size=188,163 9 | Collapsed=0 10 | 11 | [Window][World Hierarchy] 12 | Pos=48,22 13 | Size=357,297 14 | Collapsed=0 15 | 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Code-Gains 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DX11-Engine 2 | ![Engine-Editor_dwFxeoMlfQ](https://github.com/Code-Gains/DX11-Engine/assets/22920179/44b86a64-15df-4df1-a277-324a2928773a) 3 | 4 | 5 | ## I am currently implementing features and fixing architecture as much as I can to prepare to implement Vulkan API. 6 | I am building a DirectX11 graphics engine to learn the basics of graphics programming. The project is setup in a way, that you can clone it, open the solution with VS2022 and run it. 7 | 8 | I am making a YouTube series along the way https://youtube.com/@Code_Gains 9 | ## Current project 10 | 11 | ## Contributing 12 | I don't really have guidelines for contributions yet, however you are free to fork the repository, make some improvements and open a pull request. Just have in mind that I will be able to freely edit, merge or close the pull requests you make. I might have to come up with a different solution if interest in the project increases. 13 | 14 | -------------------------------------------------------------------------------- /Scripts/Setup-Linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | pushd .. 4 | Vendor/Binaries/Premake/Linux/premake5 --cc=clang --file=Build.lua gmake2 5 | popd 6 | -------------------------------------------------------------------------------- /Scripts/Setup-Windows.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | pushd .. 4 | Vendor\Binaries\Premake\Windows\premake5.exe --file=Build.lua vs2022 5 | popd 6 | pause -------------------------------------------------------------------------------- /Vendor/Binaries/Premake/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2022 Jason Perkins and individual contributors. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | 1. Redistributions of source code must retain the above copyright notice, 8 | this list of conditions and the following disclaimer. 9 | 10 | 2. Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | 3. Neither the name of Premake nor the names of its contributors may be 15 | used to endorse or promote products derived from this software without 16 | specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 19 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /Vendor/Binaries/Premake/Linux/premake5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Vendor/Binaries/Premake/Linux/premake5 -------------------------------------------------------------------------------- /Vendor/Binaries/Premake/Windows/premake5.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Vendor/Binaries/Premake/Windows/premake5.exe -------------------------------------------------------------------------------- /Vendor/Binaries/Premake/macOS/premake5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Gains/DX11-Engine/14e2f54cb7ea6ea0cc6dd7bf2dcf82d373c3cd0a/Vendor/Binaries/Premake/macOS/premake5 --------------------------------------------------------------------------------