7 | #include "exception\exception.hpp"
8 | #include "logging\dump.hpp"
9 | #include "ui\window.hpp"
10 |
11 | #pragma endregion
12 |
13 | //-----------------------------------------------------------------------------
14 | // Declarations and Definitions
15 | //-----------------------------------------------------------------------------
16 | using namespace mage;
17 |
18 | namespace {
19 |
20 | constexpr U32x2 g_display_resolution = { 800u, 600u };
21 | UniquePtr< Window > g_window;
22 |
23 | void Init(NotNull< HINSTANCE > instance) {
24 | #ifdef _DEBUG
25 | const int debug_flags = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
26 | // Perform automatic leak checking at program exit through a call to
27 | // _CrtDumpMemoryLeaks and generate an error report if the application
28 | // failed to free all the memory it allocated.
29 | _CrtSetDbgFlag(debug_flags | _CRTDBG_LEAK_CHECK_DF);
30 | #endif
31 |
32 | // Add filter for unhandled exceptions.
33 | AddUnhandledExceptionFilter();
34 |
35 | // Initialize a console.
36 | InitializeConsole();
37 | Print("Copyright (c) 2016 Matthias Moulin.\n");
38 |
39 | // Initialize a window.
40 | {
41 | auto window_desc = MakeShared< WindowDescriptor >(instance, L"Demo");
42 | g_window = MakeUnique< Window >(std::move(window_desc),
43 | L"Demo",
44 | g_display_resolution);
45 | }
46 | }
47 |
48 | [[nodiscard]]
49 | int Run(int nCmdShow) {
50 | // Show the main window.
51 | g_window->Show(nCmdShow);
52 |
53 | // Enter the message loop.
54 | MSG msg;
55 | SecureZeroMemory(&msg, sizeof(msg));
56 | while (WM_QUIT != msg.message) {
57 |
58 | // Retrieves messages for any window that belongs to the current
59 | // thread without performing range filtering. Furthermore messages
60 | // are removed after processing.
61 | if (PeekMessage(&msg, nullptr, 0u, 0u, PM_REMOVE)) {
62 | // Translates virtual-key messages into character messages.
63 | TranslateMessage(&msg);
64 | // Dispatches a message to a window procedure.
65 | DispatchMessage(&msg);
66 | continue;
67 | }
68 |
69 | // Nothing useful yet.
70 | }
71 |
72 | return static_cast< int >(msg.wParam);
73 | }
74 | }
75 |
76 | int WINAPI WinMain(_In_ HINSTANCE instance,
77 | _In_opt_ [[maybe_unused]] HINSTANCE prev_instance,
78 | _In_ [[maybe_unused]] LPSTR lpCmdLine,
79 | _In_ int nCmdShow) {
80 |
81 | Init(NotNull< HINSTANCE >(instance));
82 | return Run(nCmdShow);
83 | }
84 |
--------------------------------------------------------------------------------
/Projects/Project2/Demo.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.28803.156
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo", "Demo.vcxproj", "{F9BA8891-AC7F-48A8-9005-CD8C73706D59}"
7 | ProjectSection(ProjectDependencies) = postProject
8 | {54FB0635-3B8A-459A-9739-64D306953FE1} = {54FB0635-3B8A-459A-9739-64D306953FE1}
9 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E} = {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}
10 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
11 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
12 | EndProjectSection
13 | EndProject
14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\Common\fmt.vcxproj", "{7C0476A5-5582-4DA2-85CF-1876028A7482}"
15 | EndProject
16 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTex", "..\Common\DirectXTex.vcxproj", "{54FB0635-3B8A-459A-9739-64D306953FE1}"
17 | EndProject
18 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImGui", "..\Common\ImGui.vcxproj", "{F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}"
19 | ProjectSection(ProjectDependencies) = postProject
20 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
21 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
22 | EndProjectSection
23 | EndProject
24 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MAGE", "..\Common\MAGE.vcxproj", "{529BD7A2-F3E9-4EF7-878F-C469506CFA3F}"
25 | ProjectSection(ProjectDependencies) = postProject
26 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
27 | EndProjectSection
28 | EndProject
29 | Global
30 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
31 | Debug|x64 = Debug|x64
32 | Debug|x86 = Debug|x86
33 | Release|x64 = Release|x64
34 | Release|x86 = Release|x86
35 | EndGlobalSection
36 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
37 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.ActiveCfg = Debug|x64
38 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.Build.0 = Debug|x64
39 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.ActiveCfg = Debug|Win32
40 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.Build.0 = Debug|Win32
41 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.ActiveCfg = Release|x64
42 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.Build.0 = Release|x64
43 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.ActiveCfg = Release|Win32
44 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.Build.0 = Release|Win32
45 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.ActiveCfg = Debug|x64
46 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.Build.0 = Debug|x64
47 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.ActiveCfg = Debug|Win32
48 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.Build.0 = Debug|Win32
49 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.ActiveCfg = Release|x64
50 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.Build.0 = Release|x64
51 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.ActiveCfg = Release|Win32
52 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.Build.0 = Release|Win32
53 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.ActiveCfg = Debug|x64
54 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.Build.0 = Debug|x64
55 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.ActiveCfg = Debug|Win32
56 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.Build.0 = Debug|Win32
57 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.ActiveCfg = Release|x64
58 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.Build.0 = Release|x64
59 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.ActiveCfg = Release|Win32
60 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.Build.0 = Release|Win32
61 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.ActiveCfg = Debug|x64
62 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.Build.0 = Debug|x64
63 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.ActiveCfg = Debug|Win32
64 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.Build.0 = Debug|Win32
65 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.ActiveCfg = Release|x64
66 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.Build.0 = Release|x64
67 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.ActiveCfg = Release|Win32
68 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.Build.0 = Release|Win32
69 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.ActiveCfg = Debug|x64
70 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.Build.0 = Debug|x64
71 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.ActiveCfg = Debug|Win32
72 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.Build.0 = Debug|Win32
73 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.ActiveCfg = Release|x64
74 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.Build.0 = Release|x64
75 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.ActiveCfg = Release|Win32
76 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.Build.0 = Release|Win32
77 | EndGlobalSection
78 | GlobalSection(SolutionProperties) = preSolution
79 | HideSolutionNode = FALSE
80 | EndGlobalSection
81 | GlobalSection(ExtensibilityGlobals) = postSolution
82 | SolutionGuid = {4ACF3D7D-30D3-440E-90E8-3F4F5AF65C6A}
83 | EndGlobalSection
84 | EndGlobal
85 |
--------------------------------------------------------------------------------
/Projects/Project2/Demo.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;tpp;hxx;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Projects/Project3/Demo.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.28803.156
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo", "Demo.vcxproj", "{F9BA8891-AC7F-48A8-9005-CD8C73706D59}"
7 | ProjectSection(ProjectDependencies) = postProject
8 | {54FB0635-3B8A-459A-9739-64D306953FE1} = {54FB0635-3B8A-459A-9739-64D306953FE1}
9 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E} = {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}
10 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
11 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
12 | EndProjectSection
13 | EndProject
14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\Common\fmt.vcxproj", "{7C0476A5-5582-4DA2-85CF-1876028A7482}"
15 | EndProject
16 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTex", "..\Common\DirectXTex.vcxproj", "{54FB0635-3B8A-459A-9739-64D306953FE1}"
17 | EndProject
18 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImGui", "..\Common\ImGui.vcxproj", "{F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}"
19 | ProjectSection(ProjectDependencies) = postProject
20 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
21 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
22 | EndProjectSection
23 | EndProject
24 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MAGE", "..\Common\MAGE.vcxproj", "{529BD7A2-F3E9-4EF7-878F-C469506CFA3F}"
25 | ProjectSection(ProjectDependencies) = postProject
26 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
27 | EndProjectSection
28 | EndProject
29 | Global
30 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
31 | Debug|x64 = Debug|x64
32 | Debug|x86 = Debug|x86
33 | Release|x64 = Release|x64
34 | Release|x86 = Release|x86
35 | EndGlobalSection
36 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
37 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.ActiveCfg = Debug|x64
38 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.Build.0 = Debug|x64
39 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.ActiveCfg = Debug|Win32
40 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.Build.0 = Debug|Win32
41 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.ActiveCfg = Release|x64
42 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.Build.0 = Release|x64
43 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.ActiveCfg = Release|Win32
44 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.Build.0 = Release|Win32
45 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.ActiveCfg = Debug|x64
46 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.Build.0 = Debug|x64
47 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.ActiveCfg = Debug|Win32
48 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.Build.0 = Debug|Win32
49 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.ActiveCfg = Release|x64
50 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.Build.0 = Release|x64
51 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.ActiveCfg = Release|Win32
52 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.Build.0 = Release|Win32
53 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.ActiveCfg = Debug|x64
54 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.Build.0 = Debug|x64
55 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.ActiveCfg = Debug|Win32
56 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.Build.0 = Debug|Win32
57 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.ActiveCfg = Release|x64
58 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.Build.0 = Release|x64
59 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.ActiveCfg = Release|Win32
60 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.Build.0 = Release|Win32
61 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.ActiveCfg = Debug|x64
62 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.Build.0 = Debug|x64
63 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.ActiveCfg = Debug|Win32
64 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.Build.0 = Debug|Win32
65 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.ActiveCfg = Release|x64
66 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.Build.0 = Release|x64
67 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.ActiveCfg = Release|Win32
68 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.Build.0 = Release|Win32
69 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.ActiveCfg = Debug|x64
70 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.Build.0 = Debug|x64
71 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.ActiveCfg = Debug|Win32
72 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.Build.0 = Debug|Win32
73 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.ActiveCfg = Release|x64
74 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.Build.0 = Release|x64
75 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.ActiveCfg = Release|Win32
76 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.Build.0 = Release|Win32
77 | EndGlobalSection
78 | GlobalSection(SolutionProperties) = preSolution
79 | HideSolutionNode = FALSE
80 | EndGlobalSection
81 | GlobalSection(ExtensibilityGlobals) = postSolution
82 | SolutionGuid = {4ACF3D7D-30D3-440E-90E8-3F4F5AF65C6A}
83 | EndGlobalSection
84 | EndGlobal
85 |
--------------------------------------------------------------------------------
/Projects/Project3/Demo.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;tpp;hxx;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {c409d954-b17f-4c9f-996a-7f840de4f401}
18 |
19 |
20 |
21 |
22 | Source Files
23 |
24 |
25 |
26 |
27 | Shader Files
28 |
29 |
30 | Shader Files
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Projects/Project3/Demo/shaders/PS.hlsl:
--------------------------------------------------------------------------------
1 | float4 PS(float4 p_viewport : SV_POSITION) : SV_Target {
2 | return float4(1.0f, 1.0f, 0.0f, 1.0f);
3 | }
--------------------------------------------------------------------------------
/Projects/Project3/Demo/shaders/VS.hlsl:
--------------------------------------------------------------------------------
1 | float4 VS(float4 p_ndc : POSITION) : SV_POSITION {
2 | return p_ndc;
3 | }
--------------------------------------------------------------------------------
/Projects/Project4/Demo.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.28803.156
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo", "Demo.vcxproj", "{F9BA8891-AC7F-48A8-9005-CD8C73706D59}"
7 | ProjectSection(ProjectDependencies) = postProject
8 | {54FB0635-3B8A-459A-9739-64D306953FE1} = {54FB0635-3B8A-459A-9739-64D306953FE1}
9 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E} = {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}
10 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
11 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
12 | EndProjectSection
13 | EndProject
14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\Common\fmt.vcxproj", "{7C0476A5-5582-4DA2-85CF-1876028A7482}"
15 | EndProject
16 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTex", "..\Common\DirectXTex.vcxproj", "{54FB0635-3B8A-459A-9739-64D306953FE1}"
17 | EndProject
18 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImGui", "..\Common\ImGui.vcxproj", "{F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}"
19 | ProjectSection(ProjectDependencies) = postProject
20 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
21 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
22 | EndProjectSection
23 | EndProject
24 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MAGE", "..\Common\MAGE.vcxproj", "{529BD7A2-F3E9-4EF7-878F-C469506CFA3F}"
25 | ProjectSection(ProjectDependencies) = postProject
26 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
27 | EndProjectSection
28 | EndProject
29 | Global
30 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
31 | Debug|x64 = Debug|x64
32 | Debug|x86 = Debug|x86
33 | Release|x64 = Release|x64
34 | Release|x86 = Release|x86
35 | EndGlobalSection
36 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
37 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.ActiveCfg = Debug|x64
38 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.Build.0 = Debug|x64
39 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.ActiveCfg = Debug|Win32
40 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.Build.0 = Debug|Win32
41 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.ActiveCfg = Release|x64
42 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.Build.0 = Release|x64
43 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.ActiveCfg = Release|Win32
44 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.Build.0 = Release|Win32
45 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.ActiveCfg = Debug|x64
46 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.Build.0 = Debug|x64
47 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.ActiveCfg = Debug|Win32
48 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.Build.0 = Debug|Win32
49 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.ActiveCfg = Release|x64
50 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.Build.0 = Release|x64
51 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.ActiveCfg = Release|Win32
52 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.Build.0 = Release|Win32
53 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.ActiveCfg = Debug|x64
54 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.Build.0 = Debug|x64
55 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.ActiveCfg = Debug|Win32
56 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.Build.0 = Debug|Win32
57 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.ActiveCfg = Release|x64
58 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.Build.0 = Release|x64
59 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.ActiveCfg = Release|Win32
60 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.Build.0 = Release|Win32
61 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.ActiveCfg = Debug|x64
62 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.Build.0 = Debug|x64
63 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.ActiveCfg = Debug|Win32
64 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.Build.0 = Debug|Win32
65 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.ActiveCfg = Release|x64
66 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.Build.0 = Release|x64
67 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.ActiveCfg = Release|Win32
68 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.Build.0 = Release|Win32
69 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.ActiveCfg = Debug|x64
70 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.Build.0 = Debug|x64
71 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.ActiveCfg = Debug|Win32
72 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.Build.0 = Debug|Win32
73 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.ActiveCfg = Release|x64
74 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.Build.0 = Release|x64
75 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.ActiveCfg = Release|Win32
76 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.Build.0 = Release|Win32
77 | EndGlobalSection
78 | GlobalSection(SolutionProperties) = preSolution
79 | HideSolutionNode = FALSE
80 | EndGlobalSection
81 | GlobalSection(ExtensibilityGlobals) = postSolution
82 | SolutionGuid = {4ACF3D7D-30D3-440E-90E8-3F4F5AF65C6A}
83 | EndGlobalSection
84 | EndGlobal
85 |
--------------------------------------------------------------------------------
/Projects/Project4/Demo.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;tpp;hxx;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {c409d954-b17f-4c9f-996a-7f840de4f401}
18 |
19 |
20 |
21 |
22 | Source Files
23 |
24 |
25 |
26 |
27 | Shader Files
28 |
29 |
30 | Shader Files
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Projects/Project4/Demo/shaders/PS.hlsl:
--------------------------------------------------------------------------------
1 | struct PS_INPUT {
2 | float4 p_viewport : SV_POSITION;
3 | float4 color : COLOR0;
4 | };
5 |
6 | float4 PS(PS_INPUT input) : SV_Target {
7 | return input.color;
8 | }
--------------------------------------------------------------------------------
/Projects/Project4/Demo/shaders/VS.hlsl:
--------------------------------------------------------------------------------
1 | cbuffer Transform : register(b0) {
2 | float4x4 g_object_to_world : packoffset(c0);
3 | float4x4 g_world_to_camera : packoffset(c4);
4 | float4x4 g_camera_to_projection : packoffset(c8);
5 | }
6 |
7 | struct VS_INPUT {
8 | float4 p : POSITION;
9 | float4 color : COLOR0;
10 | };
11 |
12 | struct VS_OUTPUT {
13 | float4 p : SV_POSITION;
14 | float4 color : COLOR0;
15 | };
16 |
17 | VS_OUTPUT VS(VS_INPUT input) {
18 | VS_OUTPUT output;
19 | output.p = mul( input.p, g_object_to_world);
20 | output.p = mul(output.p, g_world_to_camera);
21 | output.p = mul(output.p, g_camera_to_projection);
22 | output.color = input.color;
23 | return output;
24 | }
--------------------------------------------------------------------------------
/Projects/Project5/Demo.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.28803.156
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo", "Demo.vcxproj", "{F9BA8891-AC7F-48A8-9005-CD8C73706D59}"
7 | ProjectSection(ProjectDependencies) = postProject
8 | {54FB0635-3B8A-459A-9739-64D306953FE1} = {54FB0635-3B8A-459A-9739-64D306953FE1}
9 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E} = {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}
10 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
11 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
12 | EndProjectSection
13 | EndProject
14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\Common\fmt.vcxproj", "{7C0476A5-5582-4DA2-85CF-1876028A7482}"
15 | EndProject
16 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTex", "..\Common\DirectXTex.vcxproj", "{54FB0635-3B8A-459A-9739-64D306953FE1}"
17 | EndProject
18 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImGui", "..\Common\ImGui.vcxproj", "{F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}"
19 | ProjectSection(ProjectDependencies) = postProject
20 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
21 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
22 | EndProjectSection
23 | EndProject
24 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MAGE", "..\Common\MAGE.vcxproj", "{529BD7A2-F3E9-4EF7-878F-C469506CFA3F}"
25 | ProjectSection(ProjectDependencies) = postProject
26 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
27 | EndProjectSection
28 | EndProject
29 | Global
30 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
31 | Debug|x64 = Debug|x64
32 | Debug|x86 = Debug|x86
33 | Release|x64 = Release|x64
34 | Release|x86 = Release|x86
35 | EndGlobalSection
36 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
37 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.ActiveCfg = Debug|x64
38 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.Build.0 = Debug|x64
39 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.ActiveCfg = Debug|Win32
40 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.Build.0 = Debug|Win32
41 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.ActiveCfg = Release|x64
42 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.Build.0 = Release|x64
43 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.ActiveCfg = Release|Win32
44 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.Build.0 = Release|Win32
45 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.ActiveCfg = Debug|x64
46 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.Build.0 = Debug|x64
47 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.ActiveCfg = Debug|Win32
48 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.Build.0 = Debug|Win32
49 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.ActiveCfg = Release|x64
50 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.Build.0 = Release|x64
51 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.ActiveCfg = Release|Win32
52 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.Build.0 = Release|Win32
53 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.ActiveCfg = Debug|x64
54 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.Build.0 = Debug|x64
55 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.ActiveCfg = Debug|Win32
56 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.Build.0 = Debug|Win32
57 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.ActiveCfg = Release|x64
58 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.Build.0 = Release|x64
59 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.ActiveCfg = Release|Win32
60 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.Build.0 = Release|Win32
61 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.ActiveCfg = Debug|x64
62 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.Build.0 = Debug|x64
63 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.ActiveCfg = Debug|Win32
64 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.Build.0 = Debug|Win32
65 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.ActiveCfg = Release|x64
66 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.Build.0 = Release|x64
67 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.ActiveCfg = Release|Win32
68 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.Build.0 = Release|Win32
69 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.ActiveCfg = Debug|x64
70 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.Build.0 = Debug|x64
71 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.ActiveCfg = Debug|Win32
72 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.Build.0 = Debug|Win32
73 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.ActiveCfg = Release|x64
74 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.Build.0 = Release|x64
75 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.ActiveCfg = Release|Win32
76 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.Build.0 = Release|Win32
77 | EndGlobalSection
78 | GlobalSection(SolutionProperties) = preSolution
79 | HideSolutionNode = FALSE
80 | EndGlobalSection
81 | GlobalSection(ExtensibilityGlobals) = postSolution
82 | SolutionGuid = {4ACF3D7D-30D3-440E-90E8-3F4F5AF65C6A}
83 | EndGlobalSection
84 | EndGlobal
85 |
--------------------------------------------------------------------------------
/Projects/Project5/Demo.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;tpp;hxx;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {c409d954-b17f-4c9f-996a-7f840de4f401}
18 |
19 |
20 |
21 |
22 | Source Files
23 |
24 |
25 |
26 |
27 | Shader Files
28 |
29 |
30 | Shader Files
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Projects/Project5/Demo/shaders/PS.hlsl:
--------------------------------------------------------------------------------
1 | struct PS_INPUT {
2 | float4 p_viewport : SV_POSITION;
3 | float4 color : COLOR0;
4 | };
5 |
6 | float4 PS(PS_INPUT input) : SV_Target {
7 | return input.color;
8 | }
--------------------------------------------------------------------------------
/Projects/Project5/Demo/shaders/VS.hlsl:
--------------------------------------------------------------------------------
1 | cbuffer Transform : register(b0) {
2 | float4x4 g_object_to_world : packoffset(c0);
3 | float4x4 g_world_to_camera : packoffset(c4);
4 | float4x4 g_camera_to_projection : packoffset(c8);
5 | }
6 |
7 | struct VS_INPUT {
8 | float4 p : POSITION;
9 | float4 color : COLOR0;
10 | };
11 |
12 | struct VS_OUTPUT {
13 | float4 p : SV_POSITION;
14 | float4 color : COLOR0;
15 | };
16 |
17 | VS_OUTPUT VS(VS_INPUT input) {
18 | VS_OUTPUT output;
19 | output.p = mul( input.p, g_object_to_world);
20 | output.p = mul(output.p, g_world_to_camera);
21 | output.p = mul(output.p, g_camera_to_projection);
22 | output.color = input.color;
23 | return output;
24 | }
--------------------------------------------------------------------------------
/Projects/Project6/Demo.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.28803.156
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo", "Demo.vcxproj", "{F9BA8891-AC7F-48A8-9005-CD8C73706D59}"
7 | ProjectSection(ProjectDependencies) = postProject
8 | {54FB0635-3B8A-459A-9739-64D306953FE1} = {54FB0635-3B8A-459A-9739-64D306953FE1}
9 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E} = {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}
10 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
11 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
12 | EndProjectSection
13 | EndProject
14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\Common\fmt.vcxproj", "{7C0476A5-5582-4DA2-85CF-1876028A7482}"
15 | EndProject
16 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTex", "..\Common\DirectXTex.vcxproj", "{54FB0635-3B8A-459A-9739-64D306953FE1}"
17 | EndProject
18 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImGui", "..\Common\ImGui.vcxproj", "{F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}"
19 | ProjectSection(ProjectDependencies) = postProject
20 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
21 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
22 | EndProjectSection
23 | EndProject
24 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MAGE", "..\Common\MAGE.vcxproj", "{529BD7A2-F3E9-4EF7-878F-C469506CFA3F}"
25 | ProjectSection(ProjectDependencies) = postProject
26 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
27 | EndProjectSection
28 | EndProject
29 | Global
30 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
31 | Debug|x64 = Debug|x64
32 | Debug|x86 = Debug|x86
33 | Release|x64 = Release|x64
34 | Release|x86 = Release|x86
35 | EndGlobalSection
36 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
37 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.ActiveCfg = Debug|x64
38 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.Build.0 = Debug|x64
39 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.ActiveCfg = Debug|Win32
40 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.Build.0 = Debug|Win32
41 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.ActiveCfg = Release|x64
42 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.Build.0 = Release|x64
43 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.ActiveCfg = Release|Win32
44 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.Build.0 = Release|Win32
45 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.ActiveCfg = Debug|x64
46 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.Build.0 = Debug|x64
47 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.ActiveCfg = Debug|Win32
48 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.Build.0 = Debug|Win32
49 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.ActiveCfg = Release|x64
50 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.Build.0 = Release|x64
51 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.ActiveCfg = Release|Win32
52 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.Build.0 = Release|Win32
53 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.ActiveCfg = Debug|x64
54 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.Build.0 = Debug|x64
55 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.ActiveCfg = Debug|Win32
56 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.Build.0 = Debug|Win32
57 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.ActiveCfg = Release|x64
58 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.Build.0 = Release|x64
59 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.ActiveCfg = Release|Win32
60 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.Build.0 = Release|Win32
61 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.ActiveCfg = Debug|x64
62 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.Build.0 = Debug|x64
63 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.ActiveCfg = Debug|Win32
64 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.Build.0 = Debug|Win32
65 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.ActiveCfg = Release|x64
66 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.Build.0 = Release|x64
67 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.ActiveCfg = Release|Win32
68 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.Build.0 = Release|Win32
69 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.ActiveCfg = Debug|x64
70 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.Build.0 = Debug|x64
71 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.ActiveCfg = Debug|Win32
72 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.Build.0 = Debug|Win32
73 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.ActiveCfg = Release|x64
74 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.Build.0 = Release|x64
75 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.ActiveCfg = Release|Win32
76 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.Build.0 = Release|Win32
77 | EndGlobalSection
78 | GlobalSection(SolutionProperties) = preSolution
79 | HideSolutionNode = FALSE
80 | EndGlobalSection
81 | GlobalSection(ExtensibilityGlobals) = postSolution
82 | SolutionGuid = {4ACF3D7D-30D3-440E-90E8-3F4F5AF65C6A}
83 | EndGlobalSection
84 | EndGlobal
85 |
--------------------------------------------------------------------------------
/Projects/Project6/Demo.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;tpp;hxx;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {c409d954-b17f-4c9f-996a-7f840de4f401}
18 |
19 |
20 |
21 |
22 | Source Files
23 |
24 |
25 |
26 |
27 | Shader Files
28 |
29 |
30 | Shader Files
31 |
32 |
33 | Shader Files
34 |
35 |
36 |
37 |
38 | Shader Files
39 |
40 |
41 |
--------------------------------------------------------------------------------
/Projects/Project6/Demo/shaders/PS.hlsl:
--------------------------------------------------------------------------------
1 | #include "model.hlsli"
2 |
3 | struct PS_INPUT {
4 | float4 p_viewport : SV_POSITION;
5 | float3 n : NORMAL0;
6 | };
7 |
8 | float4 PS(PS_INPUT input) : SV_Target {
9 | const float3 n = normalize(input.n);
10 |
11 | float3 c = 0.0f;
12 | for (uint i = 0u; i < 2u; ++i) {
13 | c += dot(g_d_lights[i].xyz, n) * g_color_lights[i].xyz;
14 | }
15 |
16 | return float4(saturate(c), 1.0f);
17 | }
--------------------------------------------------------------------------------
/Projects/Project6/Demo/shaders/VS.hlsl:
--------------------------------------------------------------------------------
1 | #include "model.hlsli"
2 |
3 | struct VS_INPUT {
4 | float4 p : POSITION;
5 | float3 n : NORMAL0;
6 | };
7 |
8 | struct VS_OUTPUT {
9 | float4 p : SV_POSITION;
10 | float3 n : NORMAL0;
11 | };
12 |
13 | VS_OUTPUT VS(VS_INPUT input) {
14 | VS_OUTPUT output;
15 | output.p = mul( input.p, g_object_to_world);
16 | output.p = mul(output.p, g_world_to_camera);
17 | output.p = mul(output.p, g_camera_to_projection);
18 | output.n = mul(float4(input.n, 1.0f), g_object_to_world).xyz;
19 | return output;
20 | }
--------------------------------------------------------------------------------
/Projects/Project6/Demo/shaders/model.hlsli:
--------------------------------------------------------------------------------
1 | cbuffer Model : register(b0) {
2 | float4x4 g_object_to_world : packoffset(c0);
3 | float4x4 g_world_to_camera : packoffset(c4);
4 | float4x4 g_camera_to_projection : packoffset(c8);
5 | float4 g_d_lights[2u] : packoffset(c12);
6 | float4 g_color_lights[2u] : packoffset(c14);
7 | float4 g_color : packoffset(c16);
8 | }
9 |
--------------------------------------------------------------------------------
/Projects/Project6/Demo/shaders/solid_PS.hlsl:
--------------------------------------------------------------------------------
1 | #include "model.hlsli"
2 |
3 | struct PS_INPUT {
4 | float4 p_viewport : SV_POSITION;
5 | float3 n : NORMAL0;
6 | };
7 |
8 | float4 PS(PS_INPUT input) : SV_Target{
9 | return g_color;
10 | }
--------------------------------------------------------------------------------
/Projects/Project7/Demo.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.28803.156
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo", "Demo.vcxproj", "{F9BA8891-AC7F-48A8-9005-CD8C73706D59}"
7 | ProjectSection(ProjectDependencies) = postProject
8 | {54FB0635-3B8A-459A-9739-64D306953FE1} = {54FB0635-3B8A-459A-9739-64D306953FE1}
9 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E} = {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}
10 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
11 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
12 | EndProjectSection
13 | EndProject
14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\Common\fmt.vcxproj", "{7C0476A5-5582-4DA2-85CF-1876028A7482}"
15 | EndProject
16 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTex", "..\Common\DirectXTex.vcxproj", "{54FB0635-3B8A-459A-9739-64D306953FE1}"
17 | EndProject
18 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImGui", "..\Common\ImGui.vcxproj", "{F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}"
19 | ProjectSection(ProjectDependencies) = postProject
20 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
21 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
22 | EndProjectSection
23 | EndProject
24 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MAGE", "..\Common\MAGE.vcxproj", "{529BD7A2-F3E9-4EF7-878F-C469506CFA3F}"
25 | ProjectSection(ProjectDependencies) = postProject
26 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
27 | EndProjectSection
28 | EndProject
29 | Global
30 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
31 | Debug|x64 = Debug|x64
32 | Debug|x86 = Debug|x86
33 | Release|x64 = Release|x64
34 | Release|x86 = Release|x86
35 | EndGlobalSection
36 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
37 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.ActiveCfg = Debug|x64
38 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.Build.0 = Debug|x64
39 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.ActiveCfg = Debug|Win32
40 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.Build.0 = Debug|Win32
41 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.ActiveCfg = Release|x64
42 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.Build.0 = Release|x64
43 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.ActiveCfg = Release|Win32
44 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.Build.0 = Release|Win32
45 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.ActiveCfg = Debug|x64
46 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.Build.0 = Debug|x64
47 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.ActiveCfg = Debug|Win32
48 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.Build.0 = Debug|Win32
49 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.ActiveCfg = Release|x64
50 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.Build.0 = Release|x64
51 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.ActiveCfg = Release|Win32
52 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.Build.0 = Release|Win32
53 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.ActiveCfg = Debug|x64
54 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.Build.0 = Debug|x64
55 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.ActiveCfg = Debug|Win32
56 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.Build.0 = Debug|Win32
57 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.ActiveCfg = Release|x64
58 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.Build.0 = Release|x64
59 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.ActiveCfg = Release|Win32
60 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.Build.0 = Release|Win32
61 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.ActiveCfg = Debug|x64
62 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.Build.0 = Debug|x64
63 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.ActiveCfg = Debug|Win32
64 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.Build.0 = Debug|Win32
65 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.ActiveCfg = Release|x64
66 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.Build.0 = Release|x64
67 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.ActiveCfg = Release|Win32
68 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.Build.0 = Release|Win32
69 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.ActiveCfg = Debug|x64
70 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.Build.0 = Debug|x64
71 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.ActiveCfg = Debug|Win32
72 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.Build.0 = Debug|Win32
73 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.ActiveCfg = Release|x64
74 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.Build.0 = Release|x64
75 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.ActiveCfg = Release|Win32
76 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.Build.0 = Release|Win32
77 | EndGlobalSection
78 | GlobalSection(SolutionProperties) = preSolution
79 | HideSolutionNode = FALSE
80 | EndGlobalSection
81 | GlobalSection(ExtensibilityGlobals) = postSolution
82 | SolutionGuid = {4ACF3D7D-30D3-440E-90E8-3F4F5AF65C6A}
83 | EndGlobalSection
84 | EndGlobal
85 |
--------------------------------------------------------------------------------
/Projects/Project7/Demo.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;tpp;hxx;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {c409d954-b17f-4c9f-996a-7f840de4f401}
18 |
19 |
20 |
21 |
22 | Source Files
23 |
24 |
25 |
26 |
27 | Shader Files
28 |
29 |
30 | Shader Files
31 |
32 |
33 |
34 |
35 | Shader Files
36 |
37 |
38 |
--------------------------------------------------------------------------------
/Projects/Project7/Demo/res/seafloor.dds:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/D3D11-Projects/f9b11894ff39645be4130bfa678573cf6adf8c83/Projects/Project7/Demo/res/seafloor.dds
--------------------------------------------------------------------------------
/Projects/Project7/Demo/shaders/PS.hlsl:
--------------------------------------------------------------------------------
1 | #include "buffer.hlsli"
2 |
3 | Texture2D g_texture : register(t0);
4 | SamplerState g_sampler : register(s0);
5 |
6 | struct PS_INPUT {
7 | float4 p_viewport : SV_POSITION;
8 | float2 tex : TEXCOORD0;
9 | };
10 |
11 | float4 PS(PS_INPUT input) : SV_Target {
12 | return g_texture.Sample(g_sampler, input.tex) * g_color;
13 | }
--------------------------------------------------------------------------------
/Projects/Project7/Demo/shaders/VS.hlsl:
--------------------------------------------------------------------------------
1 | #include "buffer.hlsli"
2 |
3 | struct VS_INPUT {
4 | float4 p : POSITION;
5 | float2 tex : TEXCOORD0;
6 | };
7 |
8 | struct VS_OUTPUT {
9 | float4 p : SV_POSITION;
10 | float2 tex : TEXCOORD0;
11 | };
12 |
13 | VS_OUTPUT VS(VS_INPUT input) {
14 | VS_OUTPUT output;
15 | output.p = mul( input.p, g_object_to_world);
16 | output.p = mul(output.p, g_world_to_camera);
17 | output.p = mul(output.p, g_camera_to_projection);
18 | output.tex = input.tex;
19 | return output;
20 | }
--------------------------------------------------------------------------------
/Projects/Project7/Demo/shaders/buffer.hlsli:
--------------------------------------------------------------------------------
1 | cbuffer Camera : register(b0) {
2 | float4x4 g_world_to_camera : packoffset(c0);
3 | float4x4 g_camera_to_projection : packoffset(c4);
4 | };
5 |
6 | cbuffer Model : register(b1) {
7 | float4x4 g_object_to_world : packoffset(c0);
8 | float4 g_color : packoffset(c4);
9 | };
10 |
--------------------------------------------------------------------------------
/Projects/Project8/Demo.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.28803.156
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Demo", "Demo.vcxproj", "{F9BA8891-AC7F-48A8-9005-CD8C73706D59}"
7 | ProjectSection(ProjectDependencies) = postProject
8 | {54FB0635-3B8A-459A-9739-64D306953FE1} = {54FB0635-3B8A-459A-9739-64D306953FE1}
9 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E} = {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}
10 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
11 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
12 | EndProjectSection
13 | EndProject
14 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\Common\fmt.vcxproj", "{7C0476A5-5582-4DA2-85CF-1876028A7482}"
15 | EndProject
16 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTex", "..\Common\DirectXTex.vcxproj", "{54FB0635-3B8A-459A-9739-64D306953FE1}"
17 | EndProject
18 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImGui", "..\Common\ImGui.vcxproj", "{F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}"
19 | ProjectSection(ProjectDependencies) = postProject
20 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F} = {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}
21 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
22 | EndProjectSection
23 | EndProject
24 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MAGE", "..\Common\MAGE.vcxproj", "{529BD7A2-F3E9-4EF7-878F-C469506CFA3F}"
25 | ProjectSection(ProjectDependencies) = postProject
26 | {7C0476A5-5582-4DA2-85CF-1876028A7482} = {7C0476A5-5582-4DA2-85CF-1876028A7482}
27 | EndProjectSection
28 | EndProject
29 | Global
30 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
31 | Debug|x64 = Debug|x64
32 | Debug|x86 = Debug|x86
33 | Release|x64 = Release|x64
34 | Release|x86 = Release|x86
35 | EndGlobalSection
36 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
37 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.ActiveCfg = Debug|x64
38 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x64.Build.0 = Debug|x64
39 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.ActiveCfg = Debug|Win32
40 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Debug|x86.Build.0 = Debug|Win32
41 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.ActiveCfg = Release|x64
42 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x64.Build.0 = Release|x64
43 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.ActiveCfg = Release|Win32
44 | {F9BA8891-AC7F-48A8-9005-CD8C73706D59}.Release|x86.Build.0 = Release|Win32
45 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.ActiveCfg = Debug|x64
46 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x64.Build.0 = Debug|x64
47 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.ActiveCfg = Debug|Win32
48 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Debug|x86.Build.0 = Debug|Win32
49 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.ActiveCfg = Release|x64
50 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x64.Build.0 = Release|x64
51 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.ActiveCfg = Release|Win32
52 | {7C0476A5-5582-4DA2-85CF-1876028A7482}.Release|x86.Build.0 = Release|Win32
53 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.ActiveCfg = Debug|x64
54 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x64.Build.0 = Debug|x64
55 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.ActiveCfg = Debug|Win32
56 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Debug|x86.Build.0 = Debug|Win32
57 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.ActiveCfg = Release|x64
58 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x64.Build.0 = Release|x64
59 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.ActiveCfg = Release|Win32
60 | {54FB0635-3B8A-459A-9739-64D306953FE1}.Release|x86.Build.0 = Release|Win32
61 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.ActiveCfg = Debug|x64
62 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x64.Build.0 = Debug|x64
63 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.ActiveCfg = Debug|Win32
64 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Debug|x86.Build.0 = Debug|Win32
65 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.ActiveCfg = Release|x64
66 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x64.Build.0 = Release|x64
67 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.ActiveCfg = Release|Win32
68 | {F16D4A47-A3C2-42F8-BEFC-58EC9C8F625E}.Release|x86.Build.0 = Release|Win32
69 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.ActiveCfg = Debug|x64
70 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x64.Build.0 = Debug|x64
71 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.ActiveCfg = Debug|Win32
72 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Debug|x86.Build.0 = Debug|Win32
73 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.ActiveCfg = Release|x64
74 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x64.Build.0 = Release|x64
75 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.ActiveCfg = Release|Win32
76 | {529BD7A2-F3E9-4EF7-878F-C469506CFA3F}.Release|x86.Build.0 = Release|Win32
77 | EndGlobalSection
78 | GlobalSection(SolutionProperties) = preSolution
79 | HideSolutionNode = FALSE
80 | EndGlobalSection
81 | GlobalSection(ExtensibilityGlobals) = postSolution
82 | SolutionGuid = {4ACF3D7D-30D3-440E-90E8-3F4F5AF65C6A}
83 | EndGlobalSection
84 | EndGlobal
85 |
--------------------------------------------------------------------------------
/Projects/Project8/Demo.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hh;hpp;tpp;hxx;hm;inl;inc;ipp;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 | Source Files
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Projects/appveyor.yml:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # General Configuration
3 | ###############################################################################
4 | version: 2.0.{build}
5 |
6 | ###############################################################################
7 | # Environment Configuration
8 | ###############################################################################
9 | image: Visual Studio 2019
10 |
11 | configuration:
12 | - Release
13 | - Debug
14 | platform:
15 | - x64
16 | - x86
17 | environment:
18 | matrix:
19 | - solution_name: "Projects/Project1/Demo.sln"
20 | - solution_name: "Projects/Project2/Demo.sln"
21 | - solution_name: "Projects/Project3/Demo.sln"
22 | - solution_name: "Projects/Project4/Demo.sln"
23 | - solution_name: "Projects/Project5/Demo.sln"
24 | - solution_name: "Projects/Project6/Demo.sln"
25 | - solution_name: "Projects/Project7/Demo.sln"
26 | - solution_name: "Projects/Project8/Demo.sln"
27 |
28 | ###############################################################################
29 | # Build Configuration
30 | ###############################################################################
31 | build:
32 | parallel: true
33 | verbosity: normal
34 |
35 | build_script:
36 | - msbuild %solution_name%
37 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [![Build status][s1]][av] [![Code quality][s2]][co] [![License][s3]][li]
2 |
3 | [s1]: https://ci.appveyor.com/api/projects/status/y8ew5io98llltkk2?svg=true
4 | [s2]: https://app.codacy.com/project/badge/Grade/377d3777301f4bc09d1626de1c96ec8d
5 | [s3]: https://img.shields.io/badge/licence-GPL%203.0-blue.svg
6 |
7 | [av]: https://ci.appveyor.com/project/matt77hias/direct3d-11-projects
8 | [co]: https://app.codacy.com/gh/matt77hias/D3D11-Projects/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade
9 | [li]: https://raw.githubusercontent.com/matt77hias/D3D11-Projects/master/LICENSE.txt
10 |
11 | # D3D11-Projects
12 |
13 | ## About
14 | Projects to start learning Direct3D 11 (D3D11).
15 |
16 | **Note**: [Version 1.2](https://github.com/matt77hias/D3D11-Projects/releases/tag/v1.2) (obsolete) supports Windows 8.1 and uses a more Object-Oriented Design with more verbose documentation as opposed to the current version. Furthermore, it contains some useful code snippets that are not included anymore in the latest version.
17 |
18 | 
19 |
20 | * [Project 1](https://github.com/matt77hias/D3D11-Projects/tree/master/Projects/Project1): Creating a window for displaying
21 | * [Project 2](https://github.com/matt77hias/D3D11-Projects/tree/master/Projects/Project2): Rendering the background color of a window
22 | * [Project 3](https://github.com/matt77hias/D3D11-Projects/tree/master/Projects/Project3): Rendering a triangle that is defined in projection space
23 | * [Project 4](https://github.com/matt77hias/D3D11-Projects/tree/master/Projects/Project4): Rendering and animating a cube that is defined in object space
24 | * [Project 5](https://github.com/matt77hias/D3D11-Projects/tree/master/Projects/Project5): Rendering and animating multiple cubes that are defined in object space
25 | * [Project 6](https://github.com/matt77hias/D3D11-Projects/tree/master/Projects/Project6): Lighting
26 | * [Project 7](https://github.com/matt77hias/D3D11-Projects/tree/master/Projects/Project7): Textures
27 | * [Project 8](https://github.com/matt77hias/D3D11-Projects/tree/master/Projects/Project8): Switching between windowed and fullscreen mode
28 |
29 | ## Development
30 | * **Platform**: Windows 10 32 Bit and 64 Bit (Windows API + Direct3D 11)
31 | * **Engine Programming Language**: ISO C++ Latest Draft Standard (> C++17)
32 | * **Scripting Language**: ISO C++ Latest Draft Standard (> C++17)
33 | * **Shading Language**: HLSL (Shader Model 5.0)
34 | * **Dependencies**:
35 | * d3d12.lib
36 | * dxgi.lib
37 | * (d3dcompiler.lib)
38 | * **Compiler**: MSVC++ 16.0.1
39 | * **IDE**: Visual Studio 2019
40 |
41 | ## Codebase
42 | Based on:
43 | [explanation](https://code.msdn.microsoft.com/windowsdesktop/Direct3D-Tutorial-Win32-829979ef) + [code](https://github.com/walbourn/directx-sdk-samples/tree/master/Direct3D11Tutorials)
44 |
45 | * [(Dear) ImGui](https://github.com/ocornut/imgui) [[License](https://github.com/ocornut/imgui/blob/master/LICENSE.txt)]
46 | * [stb](https://github.com/nothings/stb) [[License](https://creativecommons.org/share-your-work/public-domain/cc0/)]
47 | * [{fmt}](https://github.com/fmtlib/fmt) [[License](https://github.com/fmtlib/fmt/blob/master/LICENSE.rst)]
48 | * [MAGE v0](https://github.com/matt77hias/MAGE-v0) [[License](https://github.com/matt77hias/MAGE-v0/blob/master/LICENSE.txt)]
49 | * Microsoft Corporation Libraries:
50 | * [Direct3D 11](https://docs.microsoft.com/nl-be/windows/desktop/direct3d11/atoc-dx-graphics-direct3d-11)
51 | * [DirectXShaderCompiler](https://github.com/Microsoft/DirectXShaderCompiler) [[License](https://github.com/Microsoft/DirectXShaderCompiler/blob/master/LICENSE.TXT)]
52 | * [DirectXMath](https://github.com/Microsoft/DirectXMath) [[License](https://github.com/Microsoft/DirectXMath/blob/master/LICENSE)]
53 | * [DirectXTex](https://github.com/Microsoft/DirectXTex) [[License](https://github.com/Microsoft/DirectXTex/blob/master/LICENSE)]
54 | * [Guidelines Support Library (GSL)](https://github.com/Microsoft/GSL) [[License](https://github.com/Microsoft/GSL/blob/master/LICENSE)]
55 | * [Microsoft DirectX Graphics Infrastructure (DXGI)](https://docs.microsoft.com/en-us/windows/desktop/direct3ddxgi/d3d10-graphics-programming-guide-dxgi)
56 | * [Windows Runtime C++ Template Library (WRL)](https://docs.microsoft.com/nl-be/cpp/windows/windows-runtime-cpp-template-library-wrl?view=vs-2017)
57 | * [std](https://en.cppreference.com/w/cpp/header)
58 |
59 | Copyright © 2016 Matthias Moulin. All Rights Reserved.
60 |
--------------------------------------------------------------------------------
/res/d3d11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/matt77hias/D3D11-Projects/f9b11894ff39645be4130bfa678573cf6adf8c83/res/d3d11.png
--------------------------------------------------------------------------------