├── .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 |
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 |
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 | 
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
--------------------------------------------------------------------------------