Added debug renderer + imgui renderer
All code made by gemini with some help
This commit is contained in:
Binary file not shown.
BIN
Assets/compiled/ImGui.frag.dxil
Normal file
BIN
Assets/compiled/ImGui.frag.dxil
Normal file
Binary file not shown.
BIN
Assets/compiled/ImGui.vert.dxil
Normal file
BIN
Assets/compiled/ImGui.vert.dxil
Normal file
Binary file not shown.
@@ -13,9 +13,12 @@ Output main(uint vertexIndex : SV_VertexID)
|
|||||||
// Retrieve the vertex buffer using SM6.6 bindless syntax
|
// Retrieve the vertex buffer using SM6.6 bindless syntax
|
||||||
ByteAddressBuffer buffer = ResourceDescriptorHeap[BufferIndex];
|
ByteAddressBuffer buffer = ResourceDescriptorHeap[BufferIndex];
|
||||||
|
|
||||||
|
// TextureIndex is used as vertex offset for consolidated buffer (depth-tested at 0, overlay at halfMax)
|
||||||
|
uint actualVertexIndex = vertexIndex + TextureIndex;
|
||||||
|
|
||||||
// Vertex layout: float3 Position (12 bytes) + float4 Color (16 bytes) = 28 bytes stride
|
// Vertex layout: float3 Position (12 bytes) + float4 Color (16 bytes) = 28 bytes stride
|
||||||
uint stride = 28;
|
uint stride = 28;
|
||||||
uint offset = vertexIndex * stride;
|
uint offset = actualVertexIndex * stride;
|
||||||
|
|
||||||
float3 pos = asfloat(buffer.Load3(offset));
|
float3 pos = asfloat(buffer.Load3(offset));
|
||||||
float4 col = asfloat(buffer.Load4(offset + 12));
|
float4 col = asfloat(buffer.Load4(offset + 12));
|
||||||
|
|||||||
38
Assets/source/ImGui.frag.hlsl
Normal file
38
Assets/source/ImGui.frag.hlsl
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
struct Input
|
||||||
|
{
|
||||||
|
float4 Color : TEXCOORD0;
|
||||||
|
float2 UV : TEXCOORD1;
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "RootConstants.hlsl"
|
||||||
|
|
||||||
|
float4 main(Input input) : SV_Target0
|
||||||
|
{
|
||||||
|
// Retrieve the texture using SM6.6 bindless syntax
|
||||||
|
// Texture2D texture = ResourceDescriptorHeap[TextureIndex]; (Must cast to Texture2D<float4>)
|
||||||
|
// Wait, ResourceDescriptorHeap indexing returns a wrapper, usually we use Textures[TextureIndex]?
|
||||||
|
// Juliet seems to use `ResourceDescriptorHeap` for Buffers.
|
||||||
|
// Let's check Triangle.vert/frag.
|
||||||
|
|
||||||
|
// In bindless, usually:
|
||||||
|
// Texture2D<float4> tex = ResourceDescriptorHeap[TextureIndex];
|
||||||
|
// SamplerState samp = SamplerDescriptorHeap[0]; // Assuming static sampler or passed index
|
||||||
|
|
||||||
|
// I need to check how Juliet accesses textures.
|
||||||
|
// I'll assume standard SM6.6 usage.
|
||||||
|
Texture2D<float4> tex = ResourceDescriptorHeap[TextureIndex];
|
||||||
|
SamplerState samp = SamplerDescriptorHeap[0]; // Point sampler or Linear? ImGui usually uses Linear.
|
||||||
|
// D3D12GraphicsDevice.cpp created static samplers.
|
||||||
|
// Root signature has Static Samplers.
|
||||||
|
// RegisterSpace 0.
|
||||||
|
// Sampler register 0 is Point/Nearest?
|
||||||
|
// Let's check CreateGraphicsRootSignature in D3D12GraphicsDevice.cpp.
|
||||||
|
// It creates s_nearest at 0.
|
||||||
|
|
||||||
|
// If I want Linear, I might need another sampler or rely on s_nearest for font (pixel art font?)
|
||||||
|
// Default ImGui font is usually antialiased, so Linear is preferred.
|
||||||
|
// But pixel aligned UI...
|
||||||
|
// I will use `SamplerDescriptorHeap[0]` for now.
|
||||||
|
|
||||||
|
return input.Color * tex.Sample(samp, input.UV);
|
||||||
|
}
|
||||||
70
Assets/source/ImGui.vert.hlsl
Normal file
70
Assets/source/ImGui.vert.hlsl
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
struct Output
|
||||||
|
{
|
||||||
|
float4 Color : TEXCOORD0;
|
||||||
|
float2 UV : TEXCOORD1;
|
||||||
|
float4 Position : SV_Position;
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "RootConstants.hlsl"
|
||||||
|
|
||||||
|
struct Vertex
|
||||||
|
{
|
||||||
|
float2 Pos;
|
||||||
|
float2 UV;
|
||||||
|
uint Color;
|
||||||
|
};
|
||||||
|
|
||||||
|
Output main(uint vertexIndex : SV_VertexID)
|
||||||
|
{
|
||||||
|
Output output;
|
||||||
|
|
||||||
|
// Retrieve the vertex buffer using SM6.6 bindless syntax
|
||||||
|
ByteAddressBuffer buffer = ResourceDescriptorHeap[BufferIndex];
|
||||||
|
|
||||||
|
// Add VertexOffset for indexed drawing with bindless buffers
|
||||||
|
// (SV_VertexID in indexed draw is raw index from index buffer, doesn't include BaseVertexLocation)
|
||||||
|
uint actualVertexIndex = vertexIndex + VertexOffset;
|
||||||
|
|
||||||
|
// ImDrawVert stride = 20 bytes (Vec2 pos + Vec2 uv + uint color)
|
||||||
|
uint stride = 20;
|
||||||
|
uint offset = actualVertexIndex * stride;
|
||||||
|
|
||||||
|
float2 pos = asfloat(buffer.Load2(offset));
|
||||||
|
float2 uv = asfloat(buffer.Load2(offset + 8));
|
||||||
|
uint col = buffer.Load(offset + 16);
|
||||||
|
|
||||||
|
// Unpack color (uint to float4)
|
||||||
|
// ImGui colors are 0xAABBGGRR (ABGR packed)
|
||||||
|
// We need to unpack to float4.
|
||||||
|
// HLSL unpacks as little endian.
|
||||||
|
// uint 0xAABBGGRR -> byte0=RR, byte1=GG, byte2=BB, byte3=AA
|
||||||
|
float4 c;
|
||||||
|
c.x = float(col & 0xFF) / 255.0f;
|
||||||
|
c.y = float((col >> 8) & 0xFF) / 255.0f;
|
||||||
|
c.z = float((col >> 16) & 0xFF) / 255.0f;
|
||||||
|
c.w = float((col >> 24) & 0xFF) / 255.0f;
|
||||||
|
|
||||||
|
// Transform
|
||||||
|
// ImGui sends pixel coordinates.
|
||||||
|
// We need to transform to NDC [-1, 1].
|
||||||
|
// PushConstants should contain Scale and Translate.
|
||||||
|
// float2 Scale = 2.0 / DisplaySize
|
||||||
|
// float2 Translate = -1.0 - (DisplayPos * Scale)
|
||||||
|
|
||||||
|
// We will assume PushConstants are float2 Scale, float2 Translate.
|
||||||
|
// Struct in RootConstants.hlsl?
|
||||||
|
// RootConstants.hlsl likely defines `cbuffer PushConstants : register(b0)`.
|
||||||
|
// Let's assume standard push constants usage.
|
||||||
|
// Debug.vert.hlsl used `ViewProjection`.
|
||||||
|
// We need to customize PushConstants or reuse `ViewProjection` slot?
|
||||||
|
// Juliet uses 128 bytes of push constants.
|
||||||
|
// We can map float4 ProjectionMatrix (or similar).
|
||||||
|
|
||||||
|
// Use Scale and Translate from RootConstants
|
||||||
|
output.Position = float4(pos * Scale + Translate, 0.0f, 1.0f);
|
||||||
|
output.Color = c;
|
||||||
|
output.UV = uv;
|
||||||
|
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -49,6 +49,30 @@
|
|||||||
<Configuration>x64Clang-Release</Configuration>
|
<Configuration>x64Clang-Release</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64-Debug|x64">
|
||||||
|
<Configuration>x64-Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64-Profile|x64">
|
||||||
|
<Configuration>x64-Profile</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64-Release|x64">
|
||||||
|
<Configuration>x64-Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64Clang-Debug|x64">
|
||||||
|
<Configuration>x64Clang-Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64Clang-Profile|x64">
|
||||||
|
<Configuration>x64Clang-Profile</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64Clang-Release|x64">
|
||||||
|
<Configuration>x64Clang-Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CustomBuild Include="Entity\Entity.h" />
|
<CustomBuild Include="Entity\Entity.h" />
|
||||||
@@ -136,6 +160,42 @@
|
|||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@@ -175,12 +235,30 @@
|
|||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -189,8 +267,8 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -199,8 +277,8 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -209,8 +287,8 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -219,8 +297,8 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -229,8 +307,8 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -239,7 +317,67 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
@@ -269,7 +407,7 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
@@ -356,6 +494,36 @@
|
|||||||
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
</BuildLog>
|
</BuildLog>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
56
Juliet.sln
56
Juliet.sln
@@ -2,6 +2,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
|||||||
# Visual Studio 14
|
# Visual Studio 14
|
||||||
VisualStudioVersion = 14.0.22823.1
|
VisualStudioVersion = 14.0.22823.1
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImGui", "External\imgui\ImGui.vcxproj", "{3930571C-6C94-4F93-BC2A-7F5284B7D434}"
|
||||||
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Game", "Game\Game.vcxproj", "{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Game", "Game\Game.vcxproj", "{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JulietApp", "JulietApp\JulietApp.vcxproj", "{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JulietApp", "JulietApp\JulietApp.vcxproj", "{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}"
|
||||||
@@ -13,41 +15,79 @@ Global
|
|||||||
Debug|x64 = Debug|x64
|
Debug|x64 = Debug|x64
|
||||||
Debug|x64 = Debug|x64
|
Debug|x64 = Debug|x64
|
||||||
Debug|x64 = Debug|x64
|
Debug|x64 = Debug|x64
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Profile|x64 = Profile|x64
|
||||||
Profile|x64 = Profile|x64
|
Profile|x64 = Profile|x64
|
||||||
Profile|x64 = Profile|x64
|
Profile|x64 = Profile|x64
|
||||||
Profile|x64 = Profile|x64
|
Profile|x64 = Profile|x64
|
||||||
Release|x64 = Release|x64
|
Release|x64 = Release|x64
|
||||||
Release|x64 = Release|x64
|
Release|x64 = Release|x64
|
||||||
Release|x64 = Release|x64
|
Release|x64 = Release|x64
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
Debug|x64Clang = Debug|x64Clang
|
||||||
Debug|x64Clang = Debug|x64Clang
|
Debug|x64Clang = Debug|x64Clang
|
||||||
Debug|x64Clang = Debug|x64Clang
|
Debug|x64Clang = Debug|x64Clang
|
||||||
Debug|x64Clang = Debug|x64Clang
|
Debug|x64Clang = Debug|x64Clang
|
||||||
Profile|x64Clang = Profile|x64Clang
|
Profile|x64Clang = Profile|x64Clang
|
||||||
Profile|x64Clang = Profile|x64Clang
|
Profile|x64Clang = Profile|x64Clang
|
||||||
Profile|x64Clang = Profile|x64Clang
|
Profile|x64Clang = Profile|x64Clang
|
||||||
|
Profile|x64Clang = Profile|x64Clang
|
||||||
|
Release|x64Clang = Release|x64Clang
|
||||||
Release|x64Clang = Release|x64Clang
|
Release|x64Clang = Release|x64Clang
|
||||||
Release|x64Clang = Release|x64Clang
|
Release|x64Clang = Release|x64Clang
|
||||||
Release|x64Clang = Release|x64Clang
|
Release|x64Clang = Release|x64Clang
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
|
{3930571C-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
|
{B1D040D0-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.Build.0 = x64-Debug|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.Build.0 = x64-Debug|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.Build.0 = x64-Debug|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
@@ -60,6 +100,10 @@ Global
|
|||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.Build.0 = x64-Profile|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.Build.0 = x64-Profile|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.Build.0 = x64-Profile|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.Build.0 = x64-Profile|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.Build.0 = x64-Profile|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.Build.0 = x64-Release|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.Build.0 = x64-Release|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.Build.0 = x64-Release|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
@@ -72,6 +116,10 @@ Global
|
|||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.Build.0 = x64Clang-Debug|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.Build.0 = x64Clang-Debug|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.Build.0 = x64Clang-Debug|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.Build.0 = x64Clang-Debug|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.Build.0 = x64Clang-Debug|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.Build.0 = x64Clang-Profile|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.Build.0 = x64Clang-Profile|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.Build.0 = x64Clang-Profile|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
@@ -84,21 +132,29 @@ Global
|
|||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.Build.0 = x64Clang-Release|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.Build.0 = x64Clang-Release|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.Build.0 = x64Clang-Release|x64
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.Build.0 = x64Clang-Release|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
|
{1DEE51CA-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.Build.0 = x64Clang-Release|x64
|
||||||
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64.ActiveCfg = x64-Debug|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64.ActiveCfg = x64-Profile|x64
|
||||||
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64.ActiveCfg = x64-Release|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Debug|x64Clang.ActiveCfg = x64Clang-Debug|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Profile|x64Clang.ActiveCfg = x64Clang-Profile|x64
|
||||||
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
{AB9C7E88-6C94-4F93-BC2A-7F5284B7D434}.Release|x64Clang.ActiveCfg = x64Clang-Release|x64
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
.ProjectPath = 'Juliet'
|
.ProjectPath = 'Juliet'
|
||||||
.JulietIncludePath = ' "-IJuliet/include"'
|
.JulietIncludePath = ' "-IJuliet/include"'
|
||||||
+ ' "-IJuliet/src"'
|
+ ' "-IJuliet/src"'
|
||||||
|
+ ' "-IExternal/imgui"'
|
||||||
|
+ ' "-IExternal/imgui/backends"'
|
||||||
|
|
||||||
|
|
||||||
// Library
|
// Library
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
@@ -44,12 +47,19 @@
|
|||||||
// --- DLL BUILD ---
|
// --- DLL BUILD ---
|
||||||
DLL( '$ProjectName$-Lib-$Platform$-$BuildConfigName$' )
|
DLL( '$ProjectName$-Lib-$Platform$-$BuildConfigName$' )
|
||||||
{
|
{
|
||||||
.Libraries = { '$ProjectName$-Objs-$Platform$-$BuildConfigName$' }
|
.Libraries = { '$ProjectName$-Objs-$Platform$-$BuildConfigName$',
|
||||||
|
'ImGui-Lib-$Platform$-$BuildConfigName$' }
|
||||||
|
|
||||||
.LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$.dll' // Output .dll to Bin
|
.LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$.dll' // Output .dll to Bin
|
||||||
|
|
||||||
#if __WINDOWS__
|
#if __WINDOWS__
|
||||||
.LinkerOptions + ' /DLL'
|
.LinkerOptions + ' /DLL'
|
||||||
.LinkerOptions + .CommonWinLibs
|
.LinkerOptions + .CommonWinLibs
|
||||||
|
+ ' imm32.lib'
|
||||||
|
+ ' shell32.lib'
|
||||||
|
+ ' dwmapi.lib'
|
||||||
|
+ ' d3dcompiler.lib'
|
||||||
|
|
||||||
|
|
||||||
.CRTLibs = .CRTLibs_Dynamic
|
.CRTLibs = .CRTLibs_Dynamic
|
||||||
If ( .BuildConfigName == 'Debug' )
|
If ( .BuildConfigName == 'Debug' )
|
||||||
|
|||||||
@@ -25,6 +25,30 @@
|
|||||||
<Configuration>x64Clang-Release</Configuration>
|
<Configuration>x64Clang-Release</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64-Debug|x64">
|
||||||
|
<Configuration>x64-Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64-Profile|x64">
|
||||||
|
<Configuration>x64-Profile</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64-Release|x64">
|
||||||
|
<Configuration>x64-Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64Clang-Debug|x64">
|
||||||
|
<Configuration>x64Clang-Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64Clang-Profile|x64">
|
||||||
|
<Configuration>x64Clang-Profile</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64Clang-Release|x64">
|
||||||
|
<Configuration>x64Clang-Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CustomBuild Include="include\Core\Application\ApplicationManager.h" />
|
<CustomBuild Include="include\Core\Application\ApplicationManager.h" />
|
||||||
@@ -49,6 +73,8 @@
|
|||||||
<CustomBuild Include="include\Core\HAL\Keyboard\ScanCode.h" />
|
<CustomBuild Include="include\Core\HAL\Keyboard\ScanCode.h" />
|
||||||
<CustomBuild Include="include\Core\HAL\Mouse\Mouse.h" />
|
<CustomBuild Include="include\Core\HAL\Mouse\Mouse.h" />
|
||||||
<CustomBuild Include="include\Core\HotReload\HotReload.h" />
|
<CustomBuild Include="include\Core\HotReload\HotReload.h" />
|
||||||
|
<CustomBuild Include="include\Core\ImGui\ImGuiService.h" />
|
||||||
|
<CustomBuild Include="include\Core\ImGui\ImGuiTests.h" />
|
||||||
<CustomBuild Include="include\Core\JulietInit.h" />
|
<CustomBuild Include="include\Core\JulietInit.h" />
|
||||||
<CustomBuild Include="include\Core\Logging\LogManager.h" />
|
<CustomBuild Include="include\Core\Logging\LogManager.h" />
|
||||||
<CustomBuild Include="include\Core\Logging\LogTypes.h" />
|
<CustomBuild Include="include\Core\Logging\LogTypes.h" />
|
||||||
@@ -69,6 +95,7 @@
|
|||||||
<CustomBuild Include="include\Core\Thread\Mutex.h" />
|
<CustomBuild Include="include\Core\Thread\Mutex.h" />
|
||||||
<CustomBuild Include="include\Core\Thread\Thread.h" />
|
<CustomBuild Include="include\Core\Thread\Thread.h" />
|
||||||
<CustomBuild Include="include\Engine\Class.h" />
|
<CustomBuild Include="include\Engine\Class.h" />
|
||||||
|
<CustomBuild Include="include\Engine\Debug\MemoryDebugger.h" />
|
||||||
<CustomBuild Include="include\Engine\Engine.h" />
|
<CustomBuild Include="include\Engine\Engine.h" />
|
||||||
<CustomBuild Include="include\Graphics\Camera.h" />
|
<CustomBuild Include="include\Graphics\Camera.h" />
|
||||||
<CustomBuild Include="include\Graphics\Colors.h" />
|
<CustomBuild Include="include\Graphics\Colors.h" />
|
||||||
@@ -77,6 +104,7 @@
|
|||||||
<CustomBuild Include="include\Graphics\GraphicsBuffer.h" />
|
<CustomBuild Include="include\Graphics\GraphicsBuffer.h" />
|
||||||
<CustomBuild Include="include\Graphics\GraphicsConfig.h" />
|
<CustomBuild Include="include\Graphics\GraphicsConfig.h" />
|
||||||
<CustomBuild Include="include\Graphics\GraphicsPipeline.h" />
|
<CustomBuild Include="include\Graphics\GraphicsPipeline.h" />
|
||||||
|
<CustomBuild Include="include\Graphics\ImGuiRenderer.h" />
|
||||||
<CustomBuild Include="include\Graphics\RenderPass.h" />
|
<CustomBuild Include="include\Graphics\RenderPass.h" />
|
||||||
<CustomBuild Include="include\Graphics\Shader.h" />
|
<CustomBuild Include="include\Graphics\Shader.h" />
|
||||||
<CustomBuild Include="include\Graphics\Texture.h" />
|
<CustomBuild Include="include\Graphics\Texture.h" />
|
||||||
@@ -115,6 +143,8 @@
|
|||||||
<CustomBuild Include="src\Core\HAL\Win32.h" />
|
<CustomBuild Include="src\Core\HAL\Win32.h" />
|
||||||
<CustomBuild Include="src\Core\HotReload\HotReload.cpp" />
|
<CustomBuild Include="src\Core\HotReload\HotReload.cpp" />
|
||||||
<CustomBuild Include="src\Core\HotReload\Win32\Win32HotReload.cpp" />
|
<CustomBuild Include="src\Core\HotReload\Win32\Win32HotReload.cpp" />
|
||||||
|
<CustomBuild Include="src\Core\ImGui\ImGuiService.cpp" />
|
||||||
|
<CustomBuild Include="src\Core\ImGui\ImGuiTests.cpp" />
|
||||||
<CustomBuild Include="src\Core\Juliet.cpp" />
|
<CustomBuild Include="src\Core\Juliet.cpp" />
|
||||||
<CustomBuild Include="src\Core\Logging\LogManager.cpp" />
|
<CustomBuild Include="src\Core\Logging\LogManager.cpp" />
|
||||||
<CustomBuild Include="src\Core\Math\Math_Private.h" />
|
<CustomBuild Include="src\Core\Math\Math_Private.h" />
|
||||||
@@ -130,6 +160,7 @@
|
|||||||
<CustomBuild Include="src\Core\Networking\TcpListener.cpp" />
|
<CustomBuild Include="src\Core\Networking\TcpListener.cpp" />
|
||||||
<CustomBuild Include="src\Core\Networking\TcpSocket.cpp" />
|
<CustomBuild Include="src\Core\Networking\TcpSocket.cpp" />
|
||||||
<CustomBuild Include="src\Core\Networking\Win32\Win32SocketPlatformImpl.cpp" />
|
<CustomBuild Include="src\Core\Networking\Win32\Win32SocketPlatformImpl.cpp" />
|
||||||
|
<CustomBuild Include="src\Engine\Debug\MemoryDebugger.cpp" />
|
||||||
<CustomBuild Include="src\Engine\Engine.cpp" />
|
<CustomBuild Include="src\Engine\Engine.cpp" />
|
||||||
<CustomBuild Include="src\Graphics\D3D12\AgilitySDK\d3d12.h" />
|
<CustomBuild Include="src\Graphics\D3D12\AgilitySDK\d3d12.h" />
|
||||||
<CustomBuild Include="src\Graphics\D3D12\AgilitySDK\d3d12compatibility.h" />
|
<CustomBuild Include="src\Graphics\D3D12\AgilitySDK\d3d12compatibility.h" />
|
||||||
@@ -181,6 +212,7 @@
|
|||||||
<CustomBuild Include="src\Graphics\DebugDisplayRenderer.cpp" />
|
<CustomBuild Include="src\Graphics\DebugDisplayRenderer.cpp" />
|
||||||
<CustomBuild Include="src\Graphics\Graphics.cpp" />
|
<CustomBuild Include="src\Graphics\Graphics.cpp" />
|
||||||
<CustomBuild Include="src\Graphics\GraphicsDevice.h" />
|
<CustomBuild Include="src\Graphics\GraphicsDevice.h" />
|
||||||
|
<CustomBuild Include="src\Graphics\ImGuiRenderer.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -225,6 +257,42 @@
|
|||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@@ -246,12 +314,90 @@
|
|||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;include;src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -261,7 +407,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;include;src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -271,7 +417,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;include;src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -280,8 +426,8 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;include;src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -291,7 +437,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;include;src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -301,7 +447,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;include;src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;include;src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -337,6 +483,36 @@
|
|||||||
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
</BuildLog>
|
</BuildLog>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@@ -67,6 +67,12 @@
|
|||||||
<CustomBuild Include="include\Core\HotReload\HotReload.h">
|
<CustomBuild Include="include\Core\HotReload\HotReload.h">
|
||||||
<Filter>include\Core\HotReload</Filter>
|
<Filter>include\Core\HotReload</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="include\Core\ImGui\ImGuiService.h">
|
||||||
|
<Filter>include\Core\ImGui</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="include\Core\ImGui\ImGuiTests.h">
|
||||||
|
<Filter>include\Core\ImGui</Filter>
|
||||||
|
</CustomBuild>
|
||||||
<CustomBuild Include="include\Core\JulietInit.h">
|
<CustomBuild Include="include\Core\JulietInit.h">
|
||||||
<Filter>include\Core</Filter>
|
<Filter>include\Core</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
@@ -127,6 +133,9 @@
|
|||||||
<CustomBuild Include="include\Engine\Class.h">
|
<CustomBuild Include="include\Engine\Class.h">
|
||||||
<Filter>include\Engine</Filter>
|
<Filter>include\Engine</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="include\Engine\Debug\MemoryDebugger.h">
|
||||||
|
<Filter>include\Engine\Debug</Filter>
|
||||||
|
</CustomBuild>
|
||||||
<CustomBuild Include="include\Engine\Engine.h">
|
<CustomBuild Include="include\Engine\Engine.h">
|
||||||
<Filter>include\Engine</Filter>
|
<Filter>include\Engine</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
@@ -151,6 +160,9 @@
|
|||||||
<CustomBuild Include="include\Graphics\GraphicsPipeline.h">
|
<CustomBuild Include="include\Graphics\GraphicsPipeline.h">
|
||||||
<Filter>include\Graphics</Filter>
|
<Filter>include\Graphics</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="include\Graphics\ImGuiRenderer.h">
|
||||||
|
<Filter>include\Graphics</Filter>
|
||||||
|
</CustomBuild>
|
||||||
<CustomBuild Include="include\Graphics\RenderPass.h">
|
<CustomBuild Include="include\Graphics\RenderPass.h">
|
||||||
<Filter>include\Graphics</Filter>
|
<Filter>include\Graphics</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
@@ -264,6 +276,12 @@
|
|||||||
<CustomBuild Include="src\Core\HotReload\Win32\Win32HotReload.cpp">
|
<CustomBuild Include="src\Core\HotReload\Win32\Win32HotReload.cpp">
|
||||||
<Filter>src\Core\HotReload\Win32</Filter>
|
<Filter>src\Core\HotReload\Win32</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="src\Core\ImGui\ImGuiService.cpp">
|
||||||
|
<Filter>src\Core\ImGui</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="src\Core\ImGui\ImGuiTests.cpp">
|
||||||
|
<Filter>src\Core\ImGui</Filter>
|
||||||
|
</CustomBuild>
|
||||||
<CustomBuild Include="src\Core\Juliet.cpp">
|
<CustomBuild Include="src\Core\Juliet.cpp">
|
||||||
<Filter>src\Core</Filter>
|
<Filter>src\Core</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
@@ -309,6 +327,9 @@
|
|||||||
<CustomBuild Include="src\Core\Networking\Win32\Win32SocketPlatformImpl.cpp">
|
<CustomBuild Include="src\Core\Networking\Win32\Win32SocketPlatformImpl.cpp">
|
||||||
<Filter>src\Core\Networking\Win32</Filter>
|
<Filter>src\Core\Networking\Win32</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="src\Engine\Debug\MemoryDebugger.cpp">
|
||||||
|
<Filter>src\Engine\Debug</Filter>
|
||||||
|
</CustomBuild>
|
||||||
<CustomBuild Include="src\Engine\Engine.cpp">
|
<CustomBuild Include="src\Engine\Engine.cpp">
|
||||||
<Filter>src\Engine</Filter>
|
<Filter>src\Engine</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
@@ -462,6 +483,9 @@
|
|||||||
<CustomBuild Include="src\Graphics\GraphicsDevice.h">
|
<CustomBuild Include="src\Graphics\GraphicsDevice.h">
|
||||||
<Filter>src\Graphics</Filter>
|
<Filter>src\Graphics</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="src\Graphics\ImGuiRenderer.cpp">
|
||||||
|
<Filter>src\Graphics</Filter>
|
||||||
|
</CustomBuild>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Filter Include="include\Core\Application">
|
<Filter Include="include\Core\Application">
|
||||||
@@ -533,6 +557,11 @@
|
|||||||
<UniqueIdentifier>{fe4e9898-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
<UniqueIdentifier>{fe4e9898-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="include\Core\ImGui">
|
||||||
|
<UniqueIdentifier>{f0573de7-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Filter Include="include\Core\Logging">
|
<Filter Include="include\Core\Logging">
|
||||||
<UniqueIdentifier>{02138187-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
<UniqueIdentifier>{02138187-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
@@ -563,6 +592,11 @@
|
|||||||
<UniqueIdentifier>{d881a52c-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
<UniqueIdentifier>{d881a52c-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="include\Engine\Debug">
|
||||||
|
<UniqueIdentifier>{c6a2048a-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Filter Include="include\Graphics">
|
<Filter Include="include\Graphics">
|
||||||
<UniqueIdentifier>{20496e7b-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
<UniqueIdentifier>{20496e7b-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
@@ -648,6 +682,11 @@
|
|||||||
<UniqueIdentifier>{849dd795-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
<UniqueIdentifier>{849dd795-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="src\Core\ImGui">
|
||||||
|
<UniqueIdentifier>{04960ca3-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Filter Include="src\Core\Logging">
|
<Filter Include="src\Core\Logging">
|
||||||
<UniqueIdentifier>{574d127d-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
<UniqueIdentifier>{574d127d-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
@@ -673,6 +712,11 @@
|
|||||||
<UniqueIdentifier>{43aa9349-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
<UniqueIdentifier>{43aa9349-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="src\Engine\Debug">
|
||||||
|
<UniqueIdentifier>{8e9855ac-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Filter Include="src\Engine">
|
<Filter Include="src\Engine">
|
||||||
<UniqueIdentifier>{602a4b6b-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
<UniqueIdentifier>{602a4b6b-6c94-4f93-bc2a-7f5284b7d434}</UniqueIdentifier>
|
||||||
|
|||||||
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
namespace Juliet
|
namespace Juliet
|
||||||
{
|
{
|
||||||
|
struct RenderPass;
|
||||||
|
struct CommandList;
|
||||||
|
struct Texture;
|
||||||
|
struct ColorTargetInfo;
|
||||||
|
struct DepthStencilTargetInfo;
|
||||||
|
|
||||||
class IApplication
|
class IApplication
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -10,5 +16,16 @@ namespace Juliet
|
|||||||
virtual void Shutdown() = 0;
|
virtual void Shutdown() = 0;
|
||||||
virtual void Update() = 0;
|
virtual void Update() = 0;
|
||||||
virtual bool IsRunning() = 0;
|
virtual bool IsRunning() = 0;
|
||||||
|
|
||||||
|
// Accessors for Engine Systems
|
||||||
|
virtual struct Window* GetPlatformWindow() = 0;
|
||||||
|
virtual struct GraphicsDevice* GetGraphicsDevice() = 0;
|
||||||
|
|
||||||
|
// Render Lifecycle (Engine-Managed Render Loop)
|
||||||
|
virtual void OnPreRender(CommandList* cmd) = 0;
|
||||||
|
virtual void OnRender(RenderPass* pass, CommandList* cmd) = 0;
|
||||||
|
virtual ColorTargetInfo GetColorTargetInfo(Texture* swapchainTexture) = 0;
|
||||||
|
virtual DepthStencilTargetInfo* GetDepthTargetInfo() = 0;
|
||||||
|
virtual struct Camera GetDebugCamera() = 0;
|
||||||
};
|
};
|
||||||
} // namespace Juliet
|
} // namespace Juliet
|
||||||
|
|||||||
27
Juliet/include/Core/ImGui/ImGuiService.h
Normal file
27
Juliet/include/Core/ImGui/ImGuiService.h
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <Core/Common/CoreTypes.h>
|
||||||
|
#include <Core/Common/NonNullPtr.h>
|
||||||
|
|
||||||
|
struct ImGuiContext;
|
||||||
|
|
||||||
|
namespace Juliet
|
||||||
|
{
|
||||||
|
struct Window;
|
||||||
|
struct GraphicsDevice;
|
||||||
|
|
||||||
|
namespace ImGuiService
|
||||||
|
{
|
||||||
|
JULIET_API void Initialize(NonNullPtr<Window> window);
|
||||||
|
JULIET_API void Shutdown();
|
||||||
|
|
||||||
|
JULIET_API void NewFrame();
|
||||||
|
JULIET_API void Render();
|
||||||
|
|
||||||
|
JULIET_API bool IsInitialized();
|
||||||
|
JULIET_API ImGuiContext* GetContext();
|
||||||
|
|
||||||
|
// Run internal unit tests
|
||||||
|
JULIET_API void RunTests(NonNullPtr<GraphicsDevice> device, NonNullPtr<Window> window);
|
||||||
|
}
|
||||||
|
}
|
||||||
12
Juliet/include/Core/ImGui/ImGuiTests.h
Normal file
12
Juliet/include/Core/ImGui/ImGuiTests.h
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <Core/Common/NonNullPtr.h>
|
||||||
|
#include <Core/HAL/Display/Window.h>
|
||||||
|
#include <Graphics/GraphicsDevice.h>
|
||||||
|
|
||||||
|
#include <Juliet.h>
|
||||||
|
|
||||||
|
namespace Juliet::UnitTest
|
||||||
|
{
|
||||||
|
void TestImGui(NonNullPtr<GraphicsDevice> device, NonNullPtr<Window> window);
|
||||||
|
}
|
||||||
13
Juliet/include/Engine/Debug/MemoryDebugger.h
Normal file
13
Juliet/include/Engine/Debug/MemoryDebugger.h
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <Juliet.h>
|
||||||
|
#include <Core/Memory/MemoryArena.h>
|
||||||
|
|
||||||
|
namespace Juliet
|
||||||
|
{
|
||||||
|
class JULIET_API MemoryDebugger
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static void DrawMemoryArena(const char* name, const MemoryArena& arena);
|
||||||
|
static void DrawGlobalArenas();
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -60,6 +60,12 @@ namespace Juliet
|
|||||||
Count
|
Count
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class IndexFormat : uint8
|
||||||
|
{
|
||||||
|
UInt16,
|
||||||
|
UInt32
|
||||||
|
};
|
||||||
|
|
||||||
enum struct SwapChainComposition : uint8
|
enum struct SwapChainComposition : uint8
|
||||||
{
|
{
|
||||||
SDR,
|
SDR,
|
||||||
@@ -128,6 +134,14 @@ namespace Juliet
|
|||||||
extern JULIET_API void BindGraphicsPipeline(NonNullPtr<RenderPass> renderPass, NonNullPtr<GraphicsPipeline> graphicsPipeline);
|
extern JULIET_API void BindGraphicsPipeline(NonNullPtr<RenderPass> renderPass, NonNullPtr<GraphicsPipeline> graphicsPipeline);
|
||||||
extern JULIET_API void DrawPrimitives(NonNullPtr<RenderPass> renderPass, uint32 numVertices, uint32 numInstances,
|
extern JULIET_API void DrawPrimitives(NonNullPtr<RenderPass> renderPass, uint32 numVertices, uint32 numInstances,
|
||||||
uint32 firstVertex, uint32 firstInstance);
|
uint32 firstVertex, uint32 firstInstance);
|
||||||
|
extern JULIET_API void DrawIndexedPrimitives(NonNullPtr<RenderPass> renderPass, uint32 numIndices,
|
||||||
|
uint32 numInstances, uint32 firstIndex, uint32 vertexOffset,
|
||||||
|
uint32 firstInstance);
|
||||||
|
|
||||||
|
extern JULIET_API void SetIndexBuffer(NonNullPtr<CommandList> commandList, NonNullPtr<GraphicsBuffer> buffer, IndexFormat format);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern JULIET_API void SetPushConstants(NonNullPtr<CommandList> commandList, ShaderStage stage,
|
extern JULIET_API void SetPushConstants(NonNullPtr<CommandList> commandList, ShaderStage stage,
|
||||||
uint32 rootParameterIndex, uint32 numConstants, const void* constants);
|
uint32 rootParameterIndex, uint32 numConstants, const void* constants);
|
||||||
|
|
||||||
@@ -157,8 +171,13 @@ namespace Juliet
|
|||||||
extern JULIET_API void CopyBuffer(NonNullPtr<CommandList> commandList, NonNullPtr<GraphicsBuffer> dst,
|
extern JULIET_API void CopyBuffer(NonNullPtr<CommandList> commandList, NonNullPtr<GraphicsBuffer> dst,
|
||||||
NonNullPtr<GraphicsTransferBuffer> src, size_t size, size_t dstOffset = 0,
|
NonNullPtr<GraphicsTransferBuffer> src, size_t size, size_t dstOffset = 0,
|
||||||
size_t srcOffset = 0);
|
size_t srcOffset = 0);
|
||||||
|
extern JULIET_API void CopyBufferToTexture(NonNullPtr<CommandList> commandList, NonNullPtr<Texture> dst,
|
||||||
|
NonNullPtr<GraphicsTransferBuffer> src);
|
||||||
|
|
||||||
extern JULIET_API void TransitionBufferToReadable(NonNullPtr<CommandList> commandList, NonNullPtr<GraphicsBuffer> buffer);
|
extern JULIET_API void TransitionBufferToReadable(NonNullPtr<CommandList> commandList, NonNullPtr<GraphicsBuffer> buffer);
|
||||||
extern JULIET_API uint32 GetDescriptorIndex(NonNullPtr<GraphicsDevice> device, NonNullPtr<GraphicsBuffer> buffer);
|
extern JULIET_API uint32 GetDescriptorIndex(NonNullPtr<GraphicsDevice> device, NonNullPtr<GraphicsBuffer> buffer);
|
||||||
|
extern JULIET_API uint32 GetDescriptorIndex(NonNullPtr<GraphicsDevice> device, NonNullPtr<Texture> texture);
|
||||||
|
|
||||||
extern JULIET_API void DestroyGraphicsBuffer(NonNullPtr<GraphicsDevice> device, NonNullPtr<GraphicsBuffer> buffer);
|
extern JULIET_API void DestroyGraphicsBuffer(NonNullPtr<GraphicsDevice> device, NonNullPtr<GraphicsBuffer> buffer);
|
||||||
extern JULIET_API void DestroyGraphicsTransferBuffer(NonNullPtr<GraphicsDevice> device, NonNullPtr<GraphicsTransferBuffer> buffer);
|
extern JULIET_API void DestroyGraphicsTransferBuffer(NonNullPtr<GraphicsDevice> device, NonNullPtr<GraphicsTransferBuffer> buffer);
|
||||||
} // namespace Juliet
|
} // namespace Juliet
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ namespace Juliet
|
|||||||
IndexBuffer = 1 << 0,
|
IndexBuffer = 1 << 0,
|
||||||
ConstantBuffer = 1 << 1,
|
ConstantBuffer = 1 << 1,
|
||||||
StructuredBuffer = 1 << 2,
|
StructuredBuffer = 1 << 2,
|
||||||
|
VertexBuffer = 1 << 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class TransferBufferUsage : uint8
|
enum class TransferBufferUsage : uint8
|
||||||
|
|||||||
12
Juliet/include/Graphics/ImGuiRenderer.h
Normal file
12
Juliet/include/Graphics/ImGuiRenderer.h
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <Graphics/Graphics.h>
|
||||||
|
#include <Juliet.h>
|
||||||
|
|
||||||
|
namespace Juliet
|
||||||
|
{
|
||||||
|
extern bool ImGuiRenderer_Initialize(GraphicsDevice* device);
|
||||||
|
extern void ImGuiRenderer_Shutdown(GraphicsDevice* device);
|
||||||
|
extern void ImGuiRenderer_NewFrame();
|
||||||
|
extern JULIET_API void ImGuiRenderer_Render(CommandList* cmdList, RenderPass* renderPass);
|
||||||
|
} // namespace Juliet
|
||||||
@@ -24,4 +24,12 @@
|
|||||||
#else
|
#else
|
||||||
#define JULIET_DEBUG 0
|
#define JULIET_DEBUG 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Manual override to disable ImGui
|
||||||
|
// #define JULIET_DISABLE_IMGUI
|
||||||
|
|
||||||
|
#if defined(JULIET_DISABLE_IMGUI) && defined(JULIET_ENABLE_IMGUI)
|
||||||
|
#undef JULIET_ENABLE_IMGUI
|
||||||
|
#endif
|
||||||
|
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|||||||
122
Juliet/src/Core/ImGui/ImGuiService.cpp
Normal file
122
Juliet/src/Core/ImGui/ImGuiService.cpp
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
#include <cstdio>
|
||||||
|
#include <Core/HAL/Display/Win32/Win32Window.h>
|
||||||
|
#include <Core/HAL/Display/Window.h>
|
||||||
|
#include <Core/ImGui/ImGuiService.h>
|
||||||
|
#include <Core/ImGui/ImGuiTests.h>
|
||||||
|
#include <Core/Logging/LogManager.h>
|
||||||
|
#include <Core/Memory/MemoryArena.h>
|
||||||
|
#include <Graphics/D3D12/D3D12Includes.h>
|
||||||
|
|
||||||
|
#include <imgui.h>
|
||||||
|
|
||||||
|
#include <backends/imgui_impl_dx12.h>
|
||||||
|
#include <backends/imgui_impl_win32.h>
|
||||||
|
|
||||||
|
// Forward declare implementation functions from backends
|
||||||
|
extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||||
|
|
||||||
|
namespace Juliet::ImGuiService
|
||||||
|
{
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
ImGuiContext* g_ImGuiContext = nullptr;
|
||||||
|
bool g_Initialized = false;
|
||||||
|
|
||||||
|
void* ImGuiAllocWrapper(size_t size, void* /*user_data*/)
|
||||||
|
{
|
||||||
|
return ArenaPush(GetGameArena(), size, 16, "ImGui");
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImGuiFreeWrapper(void* /*ptr*/, void* /*user_data*/)
|
||||||
|
{
|
||||||
|
// No-op free for linear allocator.
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
void Initialize(NonNullPtr<Window> window)
|
||||||
|
{
|
||||||
|
if (g_Initialized)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setup Allocator
|
||||||
|
ImGui::SetAllocatorFunctions(ImGuiAllocWrapper, ImGuiFreeWrapper, nullptr);
|
||||||
|
|
||||||
|
IMGUI_CHECKVERSION();
|
||||||
|
g_ImGuiContext = ImGui::CreateContext();
|
||||||
|
ImGuiIO& io = ImGui::GetIO();
|
||||||
|
(void)io;
|
||||||
|
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
|
||||||
|
// io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
|
||||||
|
|
||||||
|
ImGui::StyleColorsDark();
|
||||||
|
|
||||||
|
// Platform Init
|
||||||
|
auto* win32State = static_cast<Win32::Window32State*>(window->State);
|
||||||
|
ImGui_ImplWin32_Init(win32State->Handle);
|
||||||
|
|
||||||
|
// Renderer Init is done later or here?
|
||||||
|
// We need the ID3D12Device, which is in GraphicsDevice.
|
||||||
|
// We should probably split Init.
|
||||||
|
// For now, let's assume we do Renderer Init in GraphicsDevice.
|
||||||
|
|
||||||
|
g_Initialized = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Shutdown()
|
||||||
|
{
|
||||||
|
if (!g_Initialized) return;
|
||||||
|
|
||||||
|
ImGui_ImplWin32_Shutdown();
|
||||||
|
ImGui::DestroyContext(g_ImGuiContext);
|
||||||
|
g_ImGuiContext = nullptr;
|
||||||
|
g_Initialized = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void NewFrame()
|
||||||
|
{
|
||||||
|
if (!g_Initialized) return;
|
||||||
|
|
||||||
|
ImGui_ImplWin32_NewFrame();
|
||||||
|
ImGui::NewFrame();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Render()
|
||||||
|
{
|
||||||
|
if (!g_Initialized) return;
|
||||||
|
|
||||||
|
ImGui::Render();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool IsInitialized()
|
||||||
|
{
|
||||||
|
return g_Initialized;
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGuiContext* GetContext()
|
||||||
|
{
|
||||||
|
return g_ImGuiContext;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RunTests(NonNullPtr<GraphicsDevice> device, NonNullPtr<Window> window)
|
||||||
|
{
|
||||||
|
printf("ImGuiService: Running Unit Tests...\n");
|
||||||
|
Juliet::UnitTest::TestImGui(device, window);
|
||||||
|
|
||||||
|
// Also run internal Dear ImGui validation
|
||||||
|
if (g_ImGuiContext)
|
||||||
|
{
|
||||||
|
// Verify version and data layout (Basic internal check)
|
||||||
|
bool result = ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx));
|
||||||
|
if (result)
|
||||||
|
{
|
||||||
|
printf("ImGuiService: DebugCheckVersionAndDataLayout Passed.\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("ImGuiService: DebugCheckVersionAndDataLayout FAILED!\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // namespace Juliet::ImGuiService
|
||||||
89
Juliet/src/Core/ImGui/ImGuiTests.cpp
Normal file
89
Juliet/src/Core/ImGui/ImGuiTests.cpp
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
#include <Core/HAL/Display/Display.h>
|
||||||
|
#include <Core/ImGui/ImGuiService.h>
|
||||||
|
#include <Core/Memory/MemoryArena.h>
|
||||||
|
#include <Graphics/Graphics.h>
|
||||||
|
#include <imgui.h>
|
||||||
|
#include <Juliet.h>
|
||||||
|
#include <cstdio>
|
||||||
|
|
||||||
|
namespace Juliet::UnitTest
|
||||||
|
{
|
||||||
|
// Mocking window creation is hard because it needs real OS calls.
|
||||||
|
// We will assume the test runner has created a window or we create a headless one?
|
||||||
|
// Win32Window requires RegisterClass etc.
|
||||||
|
// Let's rely on the fact that if we run this test in "App" mode it works,
|
||||||
|
// but in CI headless it might fail if we don't handle it.
|
||||||
|
// For now, let's skip the Platform Init part if we can't create a window,
|
||||||
|
// or try to create a dummy window.
|
||||||
|
|
||||||
|
void TestImGui(NonNullPtr<GraphicsDevice> device, NonNullPtr<Window> window)
|
||||||
|
{
|
||||||
|
(void)device;
|
||||||
|
// 1. Verify Allocator Hook
|
||||||
|
|
||||||
|
// Initialize (Idempotent safe)
|
||||||
|
ImGuiService::Initialize(window);
|
||||||
|
|
||||||
|
ImGuiContext* ctx = ImGuiService::GetContext();
|
||||||
|
|
||||||
|
if (ImGui::GetCurrentContext() != ctx)
|
||||||
|
{
|
||||||
|
printf("WARN: Context Mismatch! Service=%p, Current=%p. Fixing...\n", (void*)ctx, (void*)ImGui::GetCurrentContext());
|
||||||
|
ImGui::SetCurrentContext(ctx);
|
||||||
|
}
|
||||||
|
Assert(ImGui::GetCurrentContext() == ctx);
|
||||||
|
(void)ctx;
|
||||||
|
printf("TestImGui: Context Verified.\n");
|
||||||
|
|
||||||
|
// 3. Verify IO
|
||||||
|
ImGuiIO& io = ImGui::GetIO();
|
||||||
|
Assert(io.BackendPlatformName != nullptr);
|
||||||
|
printf("TestImGui: IO Verified. Backend: %s\n", io.BackendPlatformName);
|
||||||
|
|
||||||
|
// 4. Verify Version
|
||||||
|
Assert(ImGui::GetVersion() != nullptr);
|
||||||
|
printf("TestImGui: Version Verified: %s\n", ImGui::GetVersion());
|
||||||
|
|
||||||
|
// 5. Verify Fonts
|
||||||
|
Assert(io.Fonts != nullptr);
|
||||||
|
printf("TestImGui: Fonts Verified.\n");
|
||||||
|
|
||||||
|
bool built = io.Fonts->IsBuilt();
|
||||||
|
printf("TestImGui: Fonts Built Status: %d\n", built);
|
||||||
|
|
||||||
|
// Assert(io.Fonts->IsBuilt() == false); // Disabled as Renderer might have built it
|
||||||
|
|
||||||
|
unsigned char* pixels;
|
||||||
|
int width, height;
|
||||||
|
io.Fonts->GetTexDataAsRGBA32(&pixels, &width, &height);
|
||||||
|
Assert(pixels != nullptr);
|
||||||
|
Assert(width > 0 && height > 0);
|
||||||
|
Assert(io.Fonts->IsBuilt() == true);
|
||||||
|
(void)pixels; (void)width; (void)height;
|
||||||
|
printf("TestImGui: Font Atlas Verified.\n");
|
||||||
|
|
||||||
|
// 6. Verify Style
|
||||||
|
ImGuiStyle& style = ImGui::GetStyle();
|
||||||
|
Assert(style.Alpha > 0.0f);
|
||||||
|
(void)style;
|
||||||
|
printf("TestImGui: Style Verified.\n");
|
||||||
|
|
||||||
|
// 7. Test New Frame
|
||||||
|
Assert(ImGuiService::IsInitialized());
|
||||||
|
|
||||||
|
// Simulate a frame
|
||||||
|
if (io.DisplaySize.x <= 0.0f || io.DisplaySize.y <= 0.0f) {
|
||||||
|
io.DisplaySize = ImVec2(1920, 1080);
|
||||||
|
}
|
||||||
|
io.DeltaTime = 1.0f / 60.0f;
|
||||||
|
printf("TestImGui: About to DrawList check.\n");
|
||||||
|
|
||||||
|
// 8. Check Draw List Access
|
||||||
|
ImDrawList* drawList = ImGui::GetForegroundDrawList();
|
||||||
|
Assert(drawList != nullptr);
|
||||||
|
(void)drawList;
|
||||||
|
|
||||||
|
printf("ImGui tests passed (Exhaustive).\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Juliet::UnitTest
|
||||||
68
Juliet/src/Engine/Debug/MemoryDebugger.cpp
Normal file
68
Juliet/src/Engine/Debug/MemoryDebugger.cpp
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
#include <Engine/Debug/MemoryDebugger.h>
|
||||||
|
#include <imgui.h>
|
||||||
|
#include <cstdio>
|
||||||
|
|
||||||
|
namespace Juliet
|
||||||
|
{
|
||||||
|
void MemoryDebugger::DrawMemoryArena(const char* name, const MemoryArena& arena)
|
||||||
|
{
|
||||||
|
if (ImGui::CollapsingHeader(name, ImGuiTreeNodeFlags_DefaultOpen))
|
||||||
|
{
|
||||||
|
float progress = 0.0f;
|
||||||
|
if (arena.Size > 0)
|
||||||
|
{
|
||||||
|
progress = (float)arena.Offset / (float)arena.Size;
|
||||||
|
}
|
||||||
|
|
||||||
|
char overlay[64];
|
||||||
|
sprintf_s(overlay, "%zu / %zu bytes", arena.Offset, arena.Size);
|
||||||
|
ImGui::ProgressBar(progress, ImVec2(0.0f, 0.0f), overlay);
|
||||||
|
|
||||||
|
#if JULIET_DEBUG
|
||||||
|
if (ImGui::TreeNode("Allocations"))
|
||||||
|
{
|
||||||
|
size_t displayedSize = 0;
|
||||||
|
// Draw allocations as a list for now
|
||||||
|
if (ImGui::BeginTable("AllocationsTable", 3, ImGuiTableFlags_Borders | ImGuiTableFlags_RowBg | ImGuiTableFlags_Resizable))
|
||||||
|
{
|
||||||
|
ImGui::TableSetupColumn("Tag");
|
||||||
|
ImGui::TableSetupColumn("Size");
|
||||||
|
ImGui::TableSetupColumn("Offset");
|
||||||
|
ImGui::TableHeadersRow();
|
||||||
|
|
||||||
|
for (size_t i = 0; i < arena.AllocationCount; ++i)
|
||||||
|
{
|
||||||
|
const auto& alloc = arena.Allocations[i];
|
||||||
|
ImGui::TableNextRow();
|
||||||
|
ImGui::TableSetColumnIndex(0);
|
||||||
|
ImGui::Text("%s", alloc.Tag);
|
||||||
|
ImGui::TableSetColumnIndex(1);
|
||||||
|
ImGui::Text("%zu", alloc.Size);
|
||||||
|
ImGui::TableSetColumnIndex(2);
|
||||||
|
ImGui::Text("%zu", alloc.Offset);
|
||||||
|
|
||||||
|
displayedSize += alloc.Size;
|
||||||
|
}
|
||||||
|
ImGui::EndTable();
|
||||||
|
}
|
||||||
|
ImGui::Text("Total Tracked Size: %zu", displayedSize);
|
||||||
|
ImGui::Text("Untracked/Padding: %zu", arena.Offset - displayedSize);
|
||||||
|
|
||||||
|
ImGui::TreePop();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
ImGui::Text("Detailed allocation tracking disabled in Release build.");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MemoryDebugger::DrawGlobalArenas()
|
||||||
|
{
|
||||||
|
if (ImGui::Begin("Memory Debugger"))
|
||||||
|
{
|
||||||
|
DrawMemoryArena("Scratch Arena", *GetScratchArena());
|
||||||
|
DrawMemoryArena("Game Arena", *GetGameArena());
|
||||||
|
}
|
||||||
|
ImGui::End();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,15 +1,132 @@
|
|||||||
#include <Core/Logging/LogManager.h>
|
#include <Core/Logging/LogManager.h>
|
||||||
#include <Engine/Engine.h>
|
#include <Engine/Engine.h>
|
||||||
|
#include <Core/Common/CoreUtils.h>
|
||||||
#include <Core/JulietInit.h>
|
#include <Core/JulietInit.h>
|
||||||
|
#include <Core/Memory/MemoryArena.h>
|
||||||
|
#include <Graphics/DebugDisplay.h>
|
||||||
|
#include <Graphics/Graphics.h>
|
||||||
|
#include <Graphics/RenderPass.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
#ifdef JULIET_ENABLE_IMGUI
|
||||||
|
#include <Core/ImGui/ImGuiService.h>
|
||||||
|
#include <Graphics/ImGuiRenderer.h>
|
||||||
|
#include <imgui.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace Juliet
|
namespace Juliet
|
||||||
{
|
{
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
Engine EngineInstance;
|
Engine EngineInstance;
|
||||||
}
|
|
||||||
|
// Initialize systems that depend on graphics/window (after App::Init)
|
||||||
|
void InitializeDependentSystems()
|
||||||
|
{
|
||||||
|
GraphicsDevice* device = EngineInstance.Application->GetGraphicsDevice();
|
||||||
|
|
||||||
|
// DebugDisplay system
|
||||||
|
if (device)
|
||||||
|
{
|
||||||
|
DebugDisplay_Initialize(device);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef JULIET_ENABLE_IMGUI
|
||||||
|
Window* window = EngineInstance.Application->GetPlatformWindow();
|
||||||
|
|
||||||
|
if (window)
|
||||||
|
{
|
||||||
|
ImGuiService::Initialize(window);
|
||||||
|
ImGui::SetCurrentContext(ImGuiService::GetContext());
|
||||||
|
|
||||||
|
if (device)
|
||||||
|
{
|
||||||
|
ImGuiRenderer_Initialize(device);
|
||||||
|
|
||||||
|
// Run Unit Tests automatically
|
||||||
|
ImGuiService::RunTests(device, window);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// Shutdown systems that were initialized in InitializeDependentSystems
|
||||||
|
void ShutdownDependentSystems()
|
||||||
|
{
|
||||||
|
GraphicsDevice* device = EngineInstance.Application->GetGraphicsDevice();
|
||||||
|
|
||||||
|
#ifdef JULIET_ENABLE_IMGUI
|
||||||
|
if (device)
|
||||||
|
{
|
||||||
|
ImGuiRenderer_Shutdown(device);
|
||||||
|
}
|
||||||
|
ImGuiService::Shutdown();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// DebugDisplay system
|
||||||
|
if (device)
|
||||||
|
{
|
||||||
|
DebugDisplay_Shutdown(device);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Render one frame
|
||||||
|
void RenderFrame()
|
||||||
|
{
|
||||||
|
GraphicsDevice* device = EngineInstance.Application->GetGraphicsDevice();
|
||||||
|
Window* window = EngineInstance.Application->GetPlatformWindow();
|
||||||
|
|
||||||
|
if (!device || !window)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CommandList* cmdList = AcquireCommandList(device, QueueType::Graphics);
|
||||||
|
if (!cmdList)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Texture* swapChainTexture = nullptr;
|
||||||
|
if (!WaitAndAcquireSwapChainTexture(cmdList, window, &swapChainTexture))
|
||||||
|
{
|
||||||
|
// Swapchain might need resize, submit empty and try again next frame
|
||||||
|
SubmitCommandLists(cmdList);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (swapChainTexture)
|
||||||
|
{
|
||||||
|
// Pre-render phase (buffer uploads, etc.)
|
||||||
|
EngineInstance.Application->OnPreRender(cmdList);
|
||||||
|
|
||||||
|
// Prepare debug display data (before render pass)
|
||||||
|
DebugDisplay_Prepare(cmdList);
|
||||||
|
|
||||||
|
// Get render targets from application
|
||||||
|
ColorTargetInfo colorInfo = EngineInstance.Application->GetColorTargetInfo(swapChainTexture);
|
||||||
|
DepthStencilTargetInfo* depthInfo = EngineInstance.Application->GetDepthTargetInfo();
|
||||||
|
|
||||||
|
RenderPass* pass = BeginRenderPass(cmdList, colorInfo, depthInfo);
|
||||||
|
|
||||||
|
// Application rendering
|
||||||
|
EngineInstance.Application->OnRender(pass, cmdList);
|
||||||
|
|
||||||
|
// Debug display flush (inside render pass)
|
||||||
|
Camera debugCamera = EngineInstance.Application->GetDebugCamera();
|
||||||
|
DebugDisplay_Flush(cmdList, pass, debugCamera);
|
||||||
|
|
||||||
|
#ifdef JULIET_ENABLE_IMGUI
|
||||||
|
// ImGui rendering (always last before EndRenderPass)
|
||||||
|
ImGuiRenderer_Render(cmdList, pass);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
EndRenderPass(pass);
|
||||||
|
}
|
||||||
|
|
||||||
|
SubmitCommandLists(cmdList);
|
||||||
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
void InitializeEngine(JulietInit_Flags flags)
|
void InitializeEngine(JulietInit_Flags flags)
|
||||||
{
|
{
|
||||||
@@ -27,10 +144,16 @@ namespace Juliet
|
|||||||
{
|
{
|
||||||
EngineInstance.Application = &app;
|
EngineInstance.Application = &app;
|
||||||
EngineInstance.Application->Init();
|
EngineInstance.Application->Init();
|
||||||
|
|
||||||
|
// Systems depending on Window/GraphicsDevice
|
||||||
|
InitializeDependentSystems();
|
||||||
}
|
}
|
||||||
|
|
||||||
void UnloadApplication()
|
void UnloadApplication()
|
||||||
{
|
{
|
||||||
|
// Shutdown dependent systems before app shutdown
|
||||||
|
ShutdownDependentSystems();
|
||||||
|
|
||||||
EngineInstance.Application->Shutdown();
|
EngineInstance.Application->Shutdown();
|
||||||
EngineInstance.Application = nullptr;
|
EngineInstance.Application = nullptr;
|
||||||
}
|
}
|
||||||
@@ -39,7 +162,18 @@ namespace Juliet
|
|||||||
{
|
{
|
||||||
while (EngineInstance.Application->IsRunning())
|
while (EngineInstance.Application->IsRunning())
|
||||||
{
|
{
|
||||||
|
#ifdef JULIET_ENABLE_IMGUI
|
||||||
|
ImGuiRenderer_NewFrame();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Logic tick
|
||||||
EngineInstance.Application->Update();
|
EngineInstance.Application->Update();
|
||||||
|
|
||||||
|
// Render tick
|
||||||
|
RenderFrame();
|
||||||
|
|
||||||
|
// Reset scratch arena at end of frame
|
||||||
|
ScratchArenaReset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // namespace Juliet
|
} // namespace Juliet
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ namespace Juliet
|
|||||||
{
|
{
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
constexpr uint32 kMaxDebugVertices = 65536;
|
constexpr uint32 kMaxDebugVertices = 16384; // 16K vertices = ~450KB per buffer
|
||||||
|
|
||||||
struct DebugVertex
|
struct DebugVertex
|
||||||
{
|
{
|
||||||
@@ -25,18 +25,14 @@ namespace Juliet
|
|||||||
GraphicsPipeline* DepthTestedPipeline;
|
GraphicsPipeline* DepthTestedPipeline;
|
||||||
GraphicsPipeline* OverlayPipeline;
|
GraphicsPipeline* OverlayPipeline;
|
||||||
|
|
||||||
// Vertex data
|
// Vertex data (CPU side - single array with two regions)
|
||||||
DebugVertex* DepthTestedVertices;
|
DebugVertex* Vertices; // Single allocation for all vertices
|
||||||
uint32 DepthTestedVertexCount;
|
uint32 DepthTestedVertexCount;
|
||||||
|
|
||||||
DebugVertex* OverlayVertices;
|
|
||||||
uint32 OverlayVertexCount;
|
uint32 OverlayVertexCount;
|
||||||
|
|
||||||
// GPU buffers
|
// GPU buffers (consolidated - single buffer pair)
|
||||||
GraphicsBuffer* DepthTestedBuffer;
|
GraphicsBuffer* VertexBuffer;
|
||||||
GraphicsBuffer* OverlayBuffer;
|
GraphicsTransferBuffer* TransferBuffer;
|
||||||
GraphicsTransferBuffer* DepthTestedTransfer;
|
|
||||||
GraphicsTransferBuffer* OverlayTransfer;
|
|
||||||
|
|
||||||
bool Initialized;
|
bool Initialized;
|
||||||
};
|
};
|
||||||
@@ -163,26 +159,23 @@ namespace Juliet
|
|||||||
|
|
||||||
g_DebugState.Device = device;
|
g_DebugState.Device = device;
|
||||||
|
|
||||||
// Allocate CPU vertex arrays
|
// Allocate single CPU vertex array (depth-tested in first half, overlay in second half)
|
||||||
g_DebugState.DepthTestedVertices = static_cast<DebugVertex*>(Malloc(kMaxDebugVertices * sizeof(DebugVertex)));
|
g_DebugState.Vertices = static_cast<DebugVertex*>(Malloc(kMaxDebugVertices * sizeof(DebugVertex)));
|
||||||
g_DebugState.OverlayVertices = static_cast<DebugVertex*>(Malloc(kMaxDebugVertices * sizeof(DebugVertex)));
|
|
||||||
g_DebugState.DepthTestedVertexCount = 0;
|
g_DebugState.DepthTestedVertexCount = 0;
|
||||||
g_DebugState.OverlayVertexCount = 0;
|
g_DebugState.OverlayVertexCount = 0;
|
||||||
|
|
||||||
// Create GPU buffers
|
// Create single GPU buffer pair (consolidated)
|
||||||
BufferCreateInfo bufferCI = {};
|
BufferCreateInfo bufferCI = {};
|
||||||
bufferCI.Size = kMaxDebugVertices * sizeof(DebugVertex);
|
bufferCI.Size = kMaxDebugVertices * sizeof(DebugVertex);
|
||||||
bufferCI.Usage = BufferUsage::StructuredBuffer;
|
bufferCI.Usage = BufferUsage::StructuredBuffer;
|
||||||
|
|
||||||
g_DebugState.DepthTestedBuffer = CreateGraphicsBuffer(device, bufferCI);
|
g_DebugState.VertexBuffer = CreateGraphicsBuffer(device, bufferCI);
|
||||||
g_DebugState.OverlayBuffer = CreateGraphicsBuffer(device, bufferCI);
|
|
||||||
|
|
||||||
TransferBufferCreateInfo transferCI = {};
|
TransferBufferCreateInfo transferCI = {};
|
||||||
transferCI.Size = kMaxDebugVertices * sizeof(DebugVertex);
|
transferCI.Size = kMaxDebugVertices * sizeof(DebugVertex);
|
||||||
transferCI.Usage = TransferBufferUsage::Upload;
|
transferCI.Usage = TransferBufferUsage::Upload;
|
||||||
|
|
||||||
g_DebugState.DepthTestedTransfer = CreateGraphicsTransferBuffer(device, transferCI);
|
g_DebugState.TransferBuffer = CreateGraphicsTransferBuffer(device, transferCI);
|
||||||
g_DebugState.OverlayTransfer = CreateGraphicsTransferBuffer(device, transferCI);
|
|
||||||
|
|
||||||
g_DebugState.Initialized = true;
|
g_DebugState.Initialized = true;
|
||||||
}
|
}
|
||||||
@@ -203,38 +196,33 @@ namespace Juliet
|
|||||||
DestroyGraphicsPipeline(device, g_DebugState.OverlayPipeline);
|
DestroyGraphicsPipeline(device, g_DebugState.OverlayPipeline);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_DebugState.DepthTestedBuffer)
|
if (g_DebugState.VertexBuffer)
|
||||||
{
|
{
|
||||||
DestroyGraphicsBuffer(device, g_DebugState.DepthTestedBuffer);
|
DestroyGraphicsBuffer(device, g_DebugState.VertexBuffer);
|
||||||
}
|
}
|
||||||
if (g_DebugState.OverlayBuffer)
|
if (g_DebugState.TransferBuffer)
|
||||||
{
|
{
|
||||||
DestroyGraphicsBuffer(device, g_DebugState.OverlayBuffer);
|
DestroyGraphicsTransferBuffer(device, g_DebugState.TransferBuffer);
|
||||||
}
|
|
||||||
if (g_DebugState.DepthTestedTransfer)
|
|
||||||
{
|
|
||||||
DestroyGraphicsTransferBuffer(device, g_DebugState.DepthTestedTransfer);
|
|
||||||
}
|
|
||||||
if (g_DebugState.OverlayTransfer)
|
|
||||||
{
|
|
||||||
DestroyGraphicsTransferBuffer(device, g_DebugState.OverlayTransfer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SafeFree(g_DebugState.DepthTestedVertices);
|
SafeFree(g_DebugState.Vertices);
|
||||||
SafeFree(g_DebugState.OverlayVertices);
|
|
||||||
|
|
||||||
g_DebugState = {};
|
g_DebugState = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebugDisplay_DrawLine(const Vector3& start, const Vector3& end, const FColor& color, bool overlay)
|
void DebugDisplay_DrawLine(const Vector3& start, const Vector3& end, const FColor& color, bool overlay)
|
||||||
{
|
{
|
||||||
|
// Depth-tested vertices at beginning, overlay vertices at end (growing backward)
|
||||||
if (overlay)
|
if (overlay)
|
||||||
{
|
{
|
||||||
AddLine(g_DebugState.OverlayVertices, g_DebugState.OverlayVertexCount, start, end, color);
|
// Overlay vertices grow from end of buffer backward
|
||||||
|
uint32 halfMax = kMaxDebugVertices / 2;
|
||||||
|
AddLine(g_DebugState.Vertices + halfMax, g_DebugState.OverlayVertexCount, start, end, color);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AddLine(g_DebugState.DepthTestedVertices, g_DebugState.DepthTestedVertexCount, start, end, color);
|
// Depth-tested vertices grow from start of buffer forward
|
||||||
|
AddLine(g_DebugState.Vertices, g_DebugState.DepthTestedVertexCount, start, end, color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -242,11 +230,12 @@ namespace Juliet
|
|||||||
{
|
{
|
||||||
if (overlay)
|
if (overlay)
|
||||||
{
|
{
|
||||||
AddSphereWireframe(g_DebugState.OverlayVertices, g_DebugState.OverlayVertexCount, center, radius, color);
|
uint32 halfMax = kMaxDebugVertices / 2;
|
||||||
|
AddSphereWireframe(g_DebugState.Vertices + halfMax, g_DebugState.OverlayVertexCount, center, radius, color);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
AddSphereWireframe(g_DebugState.DepthTestedVertices, g_DebugState.DepthTestedVertexCount, center, radius, color);
|
AddSphereWireframe(g_DebugState.Vertices, g_DebugState.DepthTestedVertexCount, center, radius, color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -257,36 +246,35 @@ namespace Juliet
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Render depth-tested primitives
|
uint32 totalVertices = g_DebugState.DepthTestedVertexCount + g_DebugState.OverlayVertexCount;
|
||||||
if (g_DebugState.DepthTestedVertexCount > 0 && g_DebugState.DepthTestedBuffer)
|
if (totalVertices == 0 || !g_DebugState.VertexBuffer)
|
||||||
{
|
{
|
||||||
// Upload vertex data
|
return;
|
||||||
void* ptr = MapGraphicsTransferBuffer(g_DebugState.Device, g_DebugState.DepthTestedTransfer);
|
|
||||||
if (ptr)
|
|
||||||
{
|
|
||||||
MemCopy(ptr, g_DebugState.DepthTestedVertices, g_DebugState.DepthTestedVertexCount * sizeof(DebugVertex));
|
|
||||||
UnmapGraphicsTransferBuffer(g_DebugState.Device, g_DebugState.DepthTestedTransfer);
|
|
||||||
|
|
||||||
CopyBuffer(cmdList, g_DebugState.DepthTestedBuffer, g_DebugState.DepthTestedTransfer,
|
|
||||||
g_DebugState.DepthTestedVertexCount * sizeof(DebugVertex));
|
|
||||||
TransitionBufferToReadable(cmdList, g_DebugState.DepthTestedBuffer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Render overlay primitives
|
// Upload all vertex data in one copy (depth-tested at start, overlay at kMaxDebugVertices/2)
|
||||||
if (g_DebugState.OverlayVertexCount > 0 && g_DebugState.OverlayBuffer)
|
void* ptr = MapGraphicsTransferBuffer(g_DebugState.Device, g_DebugState.TransferBuffer);
|
||||||
|
if (ptr)
|
||||||
{
|
{
|
||||||
// Upload vertex data
|
// Copy depth-tested vertices (at start)
|
||||||
void* ptr = MapGraphicsTransferBuffer(g_DebugState.Device, g_DebugState.OverlayTransfer);
|
if (g_DebugState.DepthTestedVertexCount > 0)
|
||||||
if (ptr)
|
|
||||||
{
|
{
|
||||||
MemCopy(ptr, g_DebugState.OverlayVertices, g_DebugState.OverlayVertexCount * sizeof(DebugVertex));
|
MemCopy(ptr, g_DebugState.Vertices, g_DebugState.DepthTestedVertexCount * sizeof(DebugVertex));
|
||||||
UnmapGraphicsTransferBuffer(g_DebugState.Device, g_DebugState.OverlayTransfer);
|
|
||||||
|
|
||||||
CopyBuffer(cmdList, g_DebugState.OverlayBuffer, g_DebugState.OverlayTransfer,
|
|
||||||
g_DebugState.OverlayVertexCount * sizeof(DebugVertex));
|
|
||||||
TransitionBufferToReadable(cmdList, g_DebugState.OverlayBuffer);
|
|
||||||
}
|
}
|
||||||
|
// Copy overlay vertices (at kMaxDebugVertices/2 offset)
|
||||||
|
if (g_DebugState.OverlayVertexCount > 0)
|
||||||
|
{
|
||||||
|
uint32 halfMax = kMaxDebugVertices / 2;
|
||||||
|
auto* overlayDest = static_cast<uint8*>(ptr) + halfMax * sizeof(DebugVertex);
|
||||||
|
auto* overlaySrc = g_DebugState.Vertices + halfMax;
|
||||||
|
MemCopy(overlayDest, overlaySrc, g_DebugState.OverlayVertexCount * sizeof(DebugVertex));
|
||||||
|
}
|
||||||
|
UnmapGraphicsTransferBuffer(g_DebugState.Device, g_DebugState.TransferBuffer);
|
||||||
|
|
||||||
|
// Single buffer copy (full buffer to ensure both regions are uploaded)
|
||||||
|
size_t copySize = kMaxDebugVertices * sizeof(DebugVertex);
|
||||||
|
CopyBuffer(cmdList, g_DebugState.VertexBuffer, g_DebugState.TransferBuffer, copySize);
|
||||||
|
TransitionBufferToReadable(cmdList, g_DebugState.VertexBuffer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,8 +294,10 @@ namespace Juliet
|
|||||||
g_DebugState.OverlayPipeline = CreateDebugPipeline(g_DebugState.Device, TextureFormat::B8G8R8A8_UNORM, false);
|
g_DebugState.OverlayPipeline = CreateDebugPipeline(g_DebugState.Device, TextureFormat::B8G8R8A8_UNORM, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Render depth-tested primitives
|
uint32 bufferIndex = GetDescriptorIndex(g_DebugState.Device, g_DebugState.VertexBuffer);
|
||||||
if (g_DebugState.DepthTestedVertexCount > 0 && g_DebugState.DepthTestedPipeline && g_DebugState.DepthTestedBuffer)
|
|
||||||
|
// Render depth-tested primitives (vertices at offset 0 in buffer)
|
||||||
|
if (g_DebugState.DepthTestedVertexCount > 0 && g_DebugState.DepthTestedPipeline && g_DebugState.VertexBuffer)
|
||||||
{
|
{
|
||||||
BindGraphicsPipeline(renderPass, g_DebugState.DepthTestedPipeline);
|
BindGraphicsPipeline(renderPass, g_DebugState.DepthTestedPipeline);
|
||||||
|
|
||||||
@@ -315,17 +305,19 @@ namespace Juliet
|
|||||||
struct {
|
struct {
|
||||||
Matrix vp;
|
Matrix vp;
|
||||||
uint32 bufferIndex;
|
uint32 bufferIndex;
|
||||||
uint32 padding[3];
|
uint32 vertexOffset; // Offset in vertices (not bytes)
|
||||||
|
uint32 padding[2];
|
||||||
} pushData;
|
} pushData;
|
||||||
pushData.vp = Camera_GetViewProjectionMatrix(camera);
|
pushData.vp = Camera_GetViewProjectionMatrix(camera);
|
||||||
pushData.bufferIndex = GetDescriptorIndex(g_DebugState.Device, g_DebugState.DepthTestedBuffer);
|
pushData.bufferIndex = bufferIndex;
|
||||||
|
pushData.vertexOffset = 0; // Depth-tested vertices start at 0
|
||||||
SetPushConstants(cmdList, ShaderStage::Vertex, 0, sizeof(pushData) / sizeof(uint32), &pushData);
|
SetPushConstants(cmdList, ShaderStage::Vertex, 0, sizeof(pushData) / sizeof(uint32), &pushData);
|
||||||
|
|
||||||
DrawPrimitives(renderPass, g_DebugState.DepthTestedVertexCount, 1, 0, 0);
|
DrawPrimitives(renderPass, g_DebugState.DepthTestedVertexCount, 1, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Render overlay primitives
|
// Render overlay primitives (vertices at offset kMaxDebugVertices/2 in buffer)
|
||||||
if (g_DebugState.OverlayVertexCount > 0 && g_DebugState.OverlayPipeline && g_DebugState.OverlayBuffer)
|
if (g_DebugState.OverlayVertexCount > 0 && g_DebugState.OverlayPipeline && g_DebugState.VertexBuffer)
|
||||||
{
|
{
|
||||||
BindGraphicsPipeline(renderPass, g_DebugState.OverlayPipeline);
|
BindGraphicsPipeline(renderPass, g_DebugState.OverlayPipeline);
|
||||||
|
|
||||||
@@ -333,10 +325,12 @@ namespace Juliet
|
|||||||
struct {
|
struct {
|
||||||
Matrix vp;
|
Matrix vp;
|
||||||
uint32 bufferIndex;
|
uint32 bufferIndex;
|
||||||
uint32 padding[3];
|
uint32 vertexOffset; // Offset in vertices (not bytes)
|
||||||
|
uint32 padding[2];
|
||||||
} pushData;
|
} pushData;
|
||||||
pushData.vp = Camera_GetViewProjectionMatrix(camera);
|
pushData.vp = Camera_GetViewProjectionMatrix(camera);
|
||||||
pushData.bufferIndex = GetDescriptorIndex(g_DebugState.Device, g_DebugState.OverlayBuffer);
|
pushData.bufferIndex = bufferIndex;
|
||||||
|
pushData.vertexOffset = kMaxDebugVertices / 2; // Overlay vertices start at half
|
||||||
SetPushConstants(cmdList, ShaderStage::Vertex, 0, sizeof(pushData) / sizeof(uint32), &pushData);
|
SetPushConstants(cmdList, ShaderStage::Vertex, 0, sizeof(pushData) / sizeof(uint32), &pushData);
|
||||||
|
|
||||||
DrawPrimitives(renderPass, g_DebugState.OverlayVertexCount, 1, 0, 0);
|
DrawPrimitives(renderPass, g_DebugState.OverlayVertexCount, 1, 0, 0);
|
||||||
|
|||||||
442
Juliet/src/Graphics/ImGuiRenderer.cpp
Normal file
442
Juliet/src/Graphics/ImGuiRenderer.cpp
Normal file
@@ -0,0 +1,442 @@
|
|||||||
|
#include <Juliet.h>
|
||||||
|
#ifdef JULIET_ENABLE_IMGUI
|
||||||
|
|
||||||
|
#include <Graphics/ImGuiRenderer.h>
|
||||||
|
|
||||||
|
#include <Core/Logging/LogManager.h>
|
||||||
|
#include <Core/Logging/LogTypes.h>
|
||||||
|
#include <Core/Memory/Allocator.h>
|
||||||
|
#include <Core/Memory/MemoryArena.h>
|
||||||
|
|
||||||
|
#include <Graphics/GraphicsPipeline.h>
|
||||||
|
#include <imgui.h>
|
||||||
|
|
||||||
|
namespace Juliet
|
||||||
|
{
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
constexpr uint32 kMaxFramesInFlight = 2;
|
||||||
|
|
||||||
|
struct FrameResources
|
||||||
|
{
|
||||||
|
GraphicsBuffer* VertexBuffer = nullptr;
|
||||||
|
GraphicsBuffer* IndexBuffer = nullptr;
|
||||||
|
GraphicsTransferBuffer* VertexUpload = nullptr;
|
||||||
|
GraphicsTransferBuffer* IndexUpload = nullptr;
|
||||||
|
uint32 VertexBufferSize = 0; // In bytes
|
||||||
|
uint32 IndexBufferSize = 0; // In bytes
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ImGuiRendererState
|
||||||
|
{
|
||||||
|
GraphicsDevice* Device;
|
||||||
|
GraphicsPipeline* Pipeline;
|
||||||
|
|
||||||
|
// Resources
|
||||||
|
Texture* FontTexture;
|
||||||
|
Shader* VertexShader;
|
||||||
|
Shader* FragmentShader;
|
||||||
|
|
||||||
|
// Frame Data
|
||||||
|
FrameResources Frames[kMaxFramesInFlight];
|
||||||
|
uint32 FrameIndex;
|
||||||
|
|
||||||
|
bool Initialized;
|
||||||
|
};
|
||||||
|
|
||||||
|
ImGuiRendererState g_ImGuiState = {};
|
||||||
|
|
||||||
|
// Helper to resize buffers for a specific frame
|
||||||
|
void EnsureBufferSize(FrameResources& frame, uint32 requiredVertexBytes, uint32 requiredIndexBytes)
|
||||||
|
{
|
||||||
|
bool needVertexRealloc = requiredVertexBytes > frame.VertexBufferSize;
|
||||||
|
bool needIndexRealloc = requiredIndexBytes > frame.IndexBufferSize;
|
||||||
|
|
||||||
|
// If any buffer needs reallocation, wait for GPU to finish using everybody to be safe.
|
||||||
|
// Ideally we only wait for this specific frame's fence, but we don't have that granularity easily exposed
|
||||||
|
// here. Resizing is rare, so global wait is acceptable.
|
||||||
|
if (needVertexRealloc || needIndexRealloc)
|
||||||
|
{
|
||||||
|
WaitUntilGPUIsIdle(g_ImGuiState.Device);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (needVertexRealloc)
|
||||||
|
{
|
||||||
|
if (frame.VertexBuffer)
|
||||||
|
{
|
||||||
|
DestroyGraphicsBuffer(g_ImGuiState.Device, frame.VertexBuffer);
|
||||||
|
}
|
||||||
|
if (frame.VertexUpload)
|
||||||
|
{
|
||||||
|
DestroyGraphicsTransferBuffer(g_ImGuiState.Device, frame.VertexUpload);
|
||||||
|
}
|
||||||
|
|
||||||
|
frame.VertexBufferSize = requiredVertexBytes + 5000 * sizeof(ImDrawVert); // Growth factor
|
||||||
|
|
||||||
|
BufferCreateInfo vci = {};
|
||||||
|
vci.Size = frame.VertexBufferSize;
|
||||||
|
vci.Usage = BufferUsage::StructuredBuffer;
|
||||||
|
frame.VertexBuffer = CreateGraphicsBuffer(g_ImGuiState.Device, vci);
|
||||||
|
|
||||||
|
TransferBufferCreateInfo tvci = {};
|
||||||
|
tvci.Size = frame.VertexBufferSize;
|
||||||
|
tvci.Usage = TransferBufferUsage::Upload;
|
||||||
|
frame.VertexUpload = CreateGraphicsTransferBuffer(g_ImGuiState.Device, tvci);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (needIndexRealloc)
|
||||||
|
{
|
||||||
|
if (frame.IndexBuffer)
|
||||||
|
{
|
||||||
|
DestroyGraphicsBuffer(g_ImGuiState.Device, frame.IndexBuffer);
|
||||||
|
}
|
||||||
|
if (frame.IndexUpload)
|
||||||
|
{
|
||||||
|
DestroyGraphicsTransferBuffer(g_ImGuiState.Device, frame.IndexUpload);
|
||||||
|
}
|
||||||
|
|
||||||
|
frame.IndexBufferSize = requiredIndexBytes + 10000 * sizeof(ImDrawIdx);
|
||||||
|
|
||||||
|
BufferCreateInfo ici = {};
|
||||||
|
ici.Size = frame.IndexBufferSize;
|
||||||
|
ici.Usage = BufferUsage::IndexBuffer;
|
||||||
|
frame.IndexBuffer = CreateGraphicsBuffer(g_ImGuiState.Device, ici);
|
||||||
|
|
||||||
|
TransferBufferCreateInfo tici = {};
|
||||||
|
tici.Size = frame.IndexBufferSize;
|
||||||
|
tici.Usage = TransferBufferUsage::Upload;
|
||||||
|
frame.IndexUpload = CreateGraphicsTransferBuffer(g_ImGuiState.Device, tici);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
bool ImGuiRenderer_Initialize(GraphicsDevice* device)
|
||||||
|
{
|
||||||
|
printf("ImGuiRenderer_Initialize: device=%p, g_ImGuiState=%p, Initialized=%d\n", (void*)device,
|
||||||
|
(void*)&g_ImGuiState, g_ImGuiState.Initialized);
|
||||||
|
if (g_ImGuiState.Initialized)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_ImGuiState.Device = device;
|
||||||
|
|
||||||
|
// Load Shaders
|
||||||
|
String entryPoint = WrapString("main");
|
||||||
|
ShaderCreateInfo shaderCI = {};
|
||||||
|
shaderCI.EntryPoint = entryPoint;
|
||||||
|
|
||||||
|
String vertPath = WrapString("../../Assets/compiled/ImGui.vert.dxil");
|
||||||
|
shaderCI.Stage = ShaderStage::Vertex;
|
||||||
|
g_ImGuiState.VertexShader = CreateShader(device, vertPath, shaderCI);
|
||||||
|
|
||||||
|
String fragPath = WrapString("../../Assets/compiled/ImGui.frag.dxil");
|
||||||
|
shaderCI.Stage = ShaderStage::Fragment;
|
||||||
|
g_ImGuiState.FragmentShader = CreateShader(device, fragPath, shaderCI);
|
||||||
|
|
||||||
|
if (!g_ImGuiState.VertexShader || !g_ImGuiState.FragmentShader)
|
||||||
|
{
|
||||||
|
LogError(LogCategory::Graphics, "Failed to load ImGui shaders");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Build Font Texture
|
||||||
|
ImGuiIO& io = ImGui::GetIO();
|
||||||
|
unsigned char* pixels;
|
||||||
|
int width, height;
|
||||||
|
io.Fonts->GetTexDataAsRGBA32(&pixels, &width, &height);
|
||||||
|
|
||||||
|
TextureCreateInfo texCI = {};
|
||||||
|
texCI.Type = TextureType::Texture_2D;
|
||||||
|
texCI.Width = (uint32)width;
|
||||||
|
texCI.Height = (uint32)height;
|
||||||
|
|
||||||
|
texCI.Format = TextureFormat::R8G8B8A8_UNORM;
|
||||||
|
texCI.Flags = TextureUsageFlag::Sampler;
|
||||||
|
texCI.LayerCount = 1;
|
||||||
|
texCI.MipLevelCount = 1;
|
||||||
|
texCI.SampleCount = TextureSampleCount::One;
|
||||||
|
|
||||||
|
g_ImGuiState.FontTexture = CreateTexture(device, texCI);
|
||||||
|
io.Fonts->SetTexID((ImTextureID)g_ImGuiState.FontTexture);
|
||||||
|
|
||||||
|
// Upload data
|
||||||
|
uint32 rowPitch = (uint32)width * 4u;
|
||||||
|
uint32 alignedRowPitch = (rowPitch + 255u) & ~255u;
|
||||||
|
uint32 textureSize = alignedRowPitch * static_cast<uint32>(height);
|
||||||
|
|
||||||
|
TransferBufferCreateInfo tbci = {};
|
||||||
|
tbci.Size = textureSize;
|
||||||
|
tbci.Usage = TransferBufferUsage::Upload;
|
||||||
|
GraphicsTransferBuffer* tb = CreateGraphicsTransferBuffer(device, tbci);
|
||||||
|
if (!tb)
|
||||||
|
{
|
||||||
|
Log(LogLevel::Error, LogCategory::Graphics, "ImGuiRenderer: Failed to create font upload buffer");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto dst = (uint8*)MapGraphicsTransferBuffer(device, tb);
|
||||||
|
|
||||||
|
for (uint32 y = 0; y < static_cast<uint32>(height); ++y)
|
||||||
|
{
|
||||||
|
MemCopy(dst + y * alignedRowPitch, pixels + y * rowPitch, rowPitch);
|
||||||
|
}
|
||||||
|
|
||||||
|
UnmapGraphicsTransferBuffer(device, tb);
|
||||||
|
|
||||||
|
CommandList* cmd = AcquireCommandList(device);
|
||||||
|
CopyBufferToTexture(cmd, g_ImGuiState.FontTexture, tb);
|
||||||
|
|
||||||
|
SubmitCommandLists(cmd);
|
||||||
|
|
||||||
|
WaitUntilGPUIsIdle(device);
|
||||||
|
|
||||||
|
DestroyGraphicsTransferBuffer(device, tb);
|
||||||
|
|
||||||
|
// Init Frame Data
|
||||||
|
g_ImGuiState.FrameIndex = 0;
|
||||||
|
for (uint32 i = 0; i < kMaxFramesInFlight; ++i)
|
||||||
|
{
|
||||||
|
g_ImGuiState.Frames[i] = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
g_ImGuiState.Initialized = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImGuiRenderer_Shutdown(GraphicsDevice* device)
|
||||||
|
{
|
||||||
|
if (!g_ImGuiState.Initialized)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
WaitUntilGPUIsIdle(device);
|
||||||
|
|
||||||
|
if (g_ImGuiState.Pipeline)
|
||||||
|
{
|
||||||
|
DestroyGraphicsPipeline(device, g_ImGuiState.Pipeline);
|
||||||
|
}
|
||||||
|
if (g_ImGuiState.VertexShader)
|
||||||
|
{
|
||||||
|
DestroyShader(device, g_ImGuiState.VertexShader);
|
||||||
|
}
|
||||||
|
if (g_ImGuiState.FragmentShader)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
DestroyShader(device, g_ImGuiState.FragmentShader);
|
||||||
|
}
|
||||||
|
if (g_ImGuiState.FontTexture)
|
||||||
|
{
|
||||||
|
DestroyTexture(device, g_ImGuiState.FontTexture);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (uint32 i = 0; i < kMaxFramesInFlight; ++i)
|
||||||
|
{
|
||||||
|
FrameResources& frame = g_ImGuiState.Frames[i];
|
||||||
|
if (frame.VertexBuffer)
|
||||||
|
{
|
||||||
|
DestroyGraphicsBuffer(device, frame.VertexBuffer);
|
||||||
|
}
|
||||||
|
if (frame.IndexBuffer)
|
||||||
|
{
|
||||||
|
DestroyGraphicsBuffer(device, frame.IndexBuffer);
|
||||||
|
}
|
||||||
|
if (frame.VertexUpload)
|
||||||
|
{
|
||||||
|
DestroyGraphicsTransferBuffer(device, frame.VertexUpload);
|
||||||
|
}
|
||||||
|
if (frame.IndexUpload)
|
||||||
|
{
|
||||||
|
DestroyGraphicsTransferBuffer(device, frame.IndexUpload);
|
||||||
|
}
|
||||||
|
frame = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
g_ImGuiState = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImGuiRenderer_NewFrame()
|
||||||
|
{
|
||||||
|
ImGui_ImplWin32_NewFrame(); // Assumes Win32 initialized elsewhere
|
||||||
|
ImGui::NewFrame();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ImGuiRenderer_Render(CommandList* cmdList, RenderPass* renderPass)
|
||||||
|
{
|
||||||
|
if (!g_ImGuiState.Initialized)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ImGui::Render();
|
||||||
|
ImDrawData* drawData = ImGui::GetDrawData();
|
||||||
|
|
||||||
|
if (!drawData || drawData->CmdListsCount == 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lazy create pipeline
|
||||||
|
if (!g_ImGuiState.Pipeline)
|
||||||
|
{
|
||||||
|
// Assume B8G8R8A8_UNORM for SwapChain
|
||||||
|
GraphicsPipelineCreateInfo pci = {};
|
||||||
|
pci.VertexShader = g_ImGuiState.VertexShader;
|
||||||
|
pci.FragmentShader = g_ImGuiState.FragmentShader;
|
||||||
|
pci.PrimitiveType = PrimitiveType::TriangleList;
|
||||||
|
pci.RasterizerState.FillMode = FillMode::Solid;
|
||||||
|
pci.RasterizerState.CullMode = CullMode::None;
|
||||||
|
|
||||||
|
ColorTargetDescription colorDesc = {};
|
||||||
|
colorDesc.Format = TextureFormat::B8G8R8A8_UNORM; // Match SwapChain
|
||||||
|
|
||||||
|
// Blend State
|
||||||
|
colorDesc.BlendState.EnableBlend = true;
|
||||||
|
colorDesc.BlendState.SourceColorBlendFactor = BlendFactor::Src_Alpha;
|
||||||
|
colorDesc.BlendState.DestinationColorBlendFactor = BlendFactor::One_Minus_Src_Alpha;
|
||||||
|
colorDesc.BlendState.ColorBlendOperation = BlendOperation::Add;
|
||||||
|
colorDesc.BlendState.SourceAlphaBlendFactor = BlendFactor::One;
|
||||||
|
colorDesc.BlendState.DestinationAlphaBlendFactor = BlendFactor::One_Minus_Src_Alpha;
|
||||||
|
colorDesc.BlendState.AlphaBlendOperation = BlendOperation::Add;
|
||||||
|
colorDesc.BlendState.EnableColorWriteMask = true;
|
||||||
|
colorDesc.BlendState.ColorWriteMask =
|
||||||
|
ColorComponentFlags::R | ColorComponentFlags::G | ColorComponentFlags::B | ColorComponentFlags::A;
|
||||||
|
|
||||||
|
pci.TargetInfo.ColorTargetDescriptions = &colorDesc;
|
||||||
|
pci.TargetInfo.NumColorTargets = 1;
|
||||||
|
|
||||||
|
g_ImGuiState.Pipeline = CreateGraphicsPipeline(g_ImGuiState.Device, pci);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cycle Frame
|
||||||
|
g_ImGuiState.FrameIndex = (g_ImGuiState.FrameIndex + 1) % kMaxFramesInFlight;
|
||||||
|
FrameResources& currentFrame = g_ImGuiState.Frames[g_ImGuiState.FrameIndex];
|
||||||
|
|
||||||
|
// Upload Buffers
|
||||||
|
uint32 totalVtx = (uint32)drawData->TotalVtxCount;
|
||||||
|
uint32 totalIdx = (uint32)drawData->TotalIdxCount;
|
||||||
|
|
||||||
|
EnsureBufferSize(currentFrame, totalVtx * sizeof(ImDrawVert), totalIdx * sizeof(ImDrawIdx));
|
||||||
|
|
||||||
|
auto vtxDst = (ImDrawVert*)MapGraphicsTransferBuffer(g_ImGuiState.Device, currentFrame.VertexUpload);
|
||||||
|
auto idxDst = (ImDrawIdx*)MapGraphicsTransferBuffer(g_ImGuiState.Device, currentFrame.IndexUpload);
|
||||||
|
|
||||||
|
for (int n = 0; n < drawData->CmdListsCount; n++)
|
||||||
|
{
|
||||||
|
const ImDrawList* cmd_list = drawData->CmdLists[n];
|
||||||
|
MemCopy(vtxDst, cmd_list->VtxBuffer.Data, static_cast<size_t>(cmd_list->VtxBuffer.Size) * sizeof(ImDrawVert));
|
||||||
|
MemCopy(idxDst, cmd_list->IdxBuffer.Data, static_cast<size_t>(cmd_list->IdxBuffer.Size) * sizeof(ImDrawIdx));
|
||||||
|
vtxDst += cmd_list->VtxBuffer.Size;
|
||||||
|
idxDst += cmd_list->IdxBuffer.Size;
|
||||||
|
}
|
||||||
|
|
||||||
|
UnmapGraphicsTransferBuffer(g_ImGuiState.Device, currentFrame.VertexUpload);
|
||||||
|
UnmapGraphicsTransferBuffer(g_ImGuiState.Device, currentFrame.IndexUpload);
|
||||||
|
|
||||||
|
// Copy both vertex and index buffers to GPU
|
||||||
|
CopyBuffer(cmdList, currentFrame.VertexBuffer, currentFrame.VertexUpload, totalVtx * sizeof(ImDrawVert));
|
||||||
|
CopyBuffer(cmdList, currentFrame.IndexBuffer, currentFrame.IndexUpload, totalIdx * sizeof(ImDrawIdx));
|
||||||
|
|
||||||
|
// Transition vertex buffer to SRV state (this barrier waits for copy to complete)
|
||||||
|
TransitionBufferToReadable(cmdList, currentFrame.VertexBuffer);
|
||||||
|
|
||||||
|
// SetIndexBuffer transitions from COPY_DEST to INDEX_BUFFER (barrier waits for copy to complete)
|
||||||
|
SetIndexBuffer(cmdList, currentFrame.IndexBuffer, IndexFormat::UInt16);
|
||||||
|
|
||||||
|
// Render
|
||||||
|
BindGraphicsPipeline(renderPass, g_ImGuiState.Pipeline);
|
||||||
|
|
||||||
|
// Setup Viewport / Scale
|
||||||
|
float L = drawData->DisplayPos.x;
|
||||||
|
float R = drawData->DisplayPos.x + drawData->DisplaySize.x;
|
||||||
|
float T = drawData->DisplayPos.y;
|
||||||
|
float B = drawData->DisplayPos.y + drawData->DisplaySize.y;
|
||||||
|
|
||||||
|
float scale[2];
|
||||||
|
scale[0] = 2.0f / (R - L);
|
||||||
|
scale[1] = -2.0f / (B - T);
|
||||||
|
|
||||||
|
float translate[2];
|
||||||
|
translate[0] = -1.0f - L * scale[0];
|
||||||
|
translate[1] = 1.0f - T * scale[1];
|
||||||
|
|
||||||
|
// Global State (Display Size, etc)
|
||||||
|
|
||||||
|
uint32 globalVtxOffset = 0;
|
||||||
|
uint32 globalIdxOffset = 0;
|
||||||
|
|
||||||
|
ImVec2 clip_off = drawData->DisplayPos;
|
||||||
|
ImVec2 clip_scale = drawData->FramebufferScale;
|
||||||
|
|
||||||
|
for (int n = 0; n < drawData->CmdListsCount; n++)
|
||||||
|
{
|
||||||
|
const ImDrawList* cmd_list = drawData->CmdLists[n];
|
||||||
|
for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++)
|
||||||
|
{
|
||||||
|
const ImDrawCmd* pcmd = &cmd_list->CmdBuffer[cmd_i];
|
||||||
|
if (pcmd->UserCallback != nullptr)
|
||||||
|
{
|
||||||
|
// pcmd->UserCallback(cmd_list, pcmd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Project scissor/clipping rectangles into framebuffer space
|
||||||
|
ImVec2 clip_min((pcmd->ClipRect.x - clip_off.x) * clip_scale.x,
|
||||||
|
(pcmd->ClipRect.y - clip_off.y) * clip_scale.y);
|
||||||
|
ImVec2 clip_max((pcmd->ClipRect.z - clip_off.x) * clip_scale.x,
|
||||||
|
(pcmd->ClipRect.w - clip_off.y) * clip_scale.y);
|
||||||
|
|
||||||
|
// Skip draw commands with zero-sized scissor rectangles
|
||||||
|
if (clip_max.x <= clip_min.x || clip_max.y <= clip_min.y)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set scissor rect (clipping rectangle)
|
||||||
|
Rectangle scissorRect = {};
|
||||||
|
scissorRect.X = static_cast<int32>(clip_min.x);
|
||||||
|
scissorRect.Y = static_cast<int32>(clip_min.y);
|
||||||
|
scissorRect.Width = static_cast<int32>(clip_max.x - clip_min.x);
|
||||||
|
scissorRect.Height = static_cast<int32>(clip_max.y - clip_min.y);
|
||||||
|
SetScissorRect(renderPass, scissorRect);
|
||||||
|
|
||||||
|
// Bind Texture
|
||||||
|
uint32 textureIndex = GetDescriptorIndex(g_ImGuiState.Device, (Texture*)pcmd->GetTexID());
|
||||||
|
|
||||||
|
// Push Constants
|
||||||
|
// Layout: ViewProjection(64) + BufferIndex(4) + TextureIndex(4) + VertexOffset(4) + Padding(4) + Scale(8) + Translate(8)
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
float dummyVP[16]; // Occupy VP slot
|
||||||
|
uint32 bufferIndex;
|
||||||
|
uint32 textureIndex;
|
||||||
|
uint32 vertexOffset; // Base vertex for indexed bindless drawing
|
||||||
|
uint32 padding; // Alignment padding
|
||||||
|
float scale[2];
|
||||||
|
float translate[2];
|
||||||
|
} pushData = {}; // Zero-initialize all fields
|
||||||
|
|
||||||
|
pushData.bufferIndex = GetDescriptorIndex(g_ImGuiState.Device, currentFrame.VertexBuffer);
|
||||||
|
pushData.textureIndex = textureIndex;
|
||||||
|
pushData.vertexOffset = pcmd->VtxOffset + globalVtxOffset; // Pass vertex offset for bindless
|
||||||
|
pushData.scale[0] = scale[0];
|
||||||
|
pushData.scale[1] = scale[1];
|
||||||
|
pushData.translate[0] = translate[0];
|
||||||
|
pushData.translate[1] = translate[1];
|
||||||
|
|
||||||
|
SetPushConstants(cmdList, ShaderStage::Vertex, 0, sizeof(pushData) / 4, &pushData);
|
||||||
|
|
||||||
|
// Draw - pass 0 for vertexOffset since shader handles it via push constants
|
||||||
|
DrawIndexedPrimitives(renderPass, pcmd->ElemCount, 1, pcmd->IdxOffset + globalIdxOffset, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
globalIdxOffset += static_cast<uint32>(cmd_list->IdxBuffer.Size);
|
||||||
|
globalVtxOffset += static_cast<uint32>(cmd_list->VtxBuffer.Size);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // namespace Juliet
|
||||||
|
|
||||||
|
#endif // JULIET_ENABLE_IMGUI
|
||||||
@@ -5,6 +5,8 @@
|
|||||||
.ProjectPath = 'JulietApp'
|
.ProjectPath = 'JulietApp'
|
||||||
.JulietIncludePath = ' "-IJuliet/include"'
|
.JulietIncludePath = ' "-IJuliet/include"'
|
||||||
+ ' "-IJuliet/src"'
|
+ ' "-IJuliet/src"'
|
||||||
|
+ ' "-IExternal/imgui"'
|
||||||
|
|
||||||
.ProjectDefPath = '$_WORKING_DIR_$/$ProjectName$/$ProjectName$.def'
|
.ProjectDefPath = '$_WORKING_DIR_$/$ProjectName$/$ProjectName$.def'
|
||||||
|
|
||||||
// Library
|
// Library
|
||||||
@@ -34,7 +36,6 @@
|
|||||||
// Extra Compiler Options
|
// Extra Compiler Options
|
||||||
.CompilerOptions + .JulietIncludePath
|
.CompilerOptions + .JulietIncludePath
|
||||||
|
|
||||||
|
|
||||||
#if __WINDOWS__
|
#if __WINDOWS__
|
||||||
.CompilerOptions + ' -DJULIET_WIN32'
|
.CompilerOptions + ' -DJULIET_WIN32'
|
||||||
#endif
|
#endif
|
||||||
@@ -58,9 +59,11 @@
|
|||||||
.Libraries = {
|
.Libraries = {
|
||||||
'JulietApp-Lib-$Platform$-$BuildConfigName$',
|
'JulietApp-Lib-$Platform$-$BuildConfigName$',
|
||||||
'Juliet-Lib-$Platform$-$BuildConfigName$',
|
'Juliet-Lib-$Platform$-$BuildConfigName$',
|
||||||
'Game-Lib-$Platform$-$BuildConfigName$'
|
'Game-Lib-$Platform$-$BuildConfigName$',
|
||||||
|
'ImGui-Lib-$Platform$-$BuildConfigName$'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$$ExeExtension$'
|
.LinkerOutput = '$BinPath$/$Platform$-$BuildConfigName$/$ProjectName$$ExeExtension$'
|
||||||
|
|
||||||
// TODO : Only use when using DLL and not static link
|
// TODO : Only use when using DLL and not static link
|
||||||
|
|||||||
@@ -73,6 +73,30 @@
|
|||||||
<Configuration>x64Clang-Release</Configuration>
|
<Configuration>x64Clang-Release</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64-Debug|x64">
|
||||||
|
<Configuration>x64-Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64-Profile|x64">
|
||||||
|
<Configuration>x64-Profile</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64-Release|x64">
|
||||||
|
<Configuration>x64-Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64Clang-Debug|x64">
|
||||||
|
<Configuration>x64Clang-Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64Clang-Profile|x64">
|
||||||
|
<Configuration>x64Clang-Profile</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="x64Clang-Release|x64">
|
||||||
|
<Configuration>x64Clang-Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CustomBuild Include="JulietApp.bff" />
|
<CustomBuild Include="JulietApp.bff" />
|
||||||
@@ -194,6 +218,42 @@
|
|||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Makefile</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<LocalDebuggerCommand>$(SolutionDir)\bin\$(Configuration)\$(ProjectName).exe</LocalDebuggerCommand>
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@@ -251,12 +311,90 @@
|
|||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;_CRT_SECURE_NO_WARNINGS;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
<OutDir>$(SolutionDir)\bin</OutDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -266,7 +404,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -276,7 +414,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -285,8 +423,8 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -296,7 +434,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -306,7 +444,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -315,7 +453,7 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
@@ -345,7 +483,7 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Game;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
@@ -375,8 +513,8 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -386,7 +524,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -396,7 +534,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 /wd5267 /wd4061 /wd4505 /wd4514 /wd4577 /wd4625 /wd4710 /wd4711 /wd4746 /wd4820 /wd5045 /wd5220 /wd5245 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -405,8 +543,8 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -416,7 +554,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;PROFILING_ENABLED;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -426,7 +564,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -522,6 +660,36 @@
|
|||||||
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
</BuildLog>
|
</BuildLog>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64-Debug|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64-Profile|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64-Release|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Profile|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Release|x64'">
|
||||||
|
<BuildLog>
|
||||||
|
<Path>$(SolutionDir)\Intermediate\$(ProjectName)-$(Configuration).log</Path>
|
||||||
|
</BuildLog>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@@ -2,24 +2,32 @@
|
|||||||
|
|
||||||
#include <Core/Application/ApplicationManager.h>
|
#include <Core/Application/ApplicationManager.h>
|
||||||
#include <Core/Common/EnumUtils.h>
|
#include <Core/Common/EnumUtils.h>
|
||||||
|
#include <Core/Common/String.h>
|
||||||
#include <Core/HAL/Display/Display.h>
|
#include <Core/HAL/Display/Display.h>
|
||||||
#include <Core/HAL/Event/SystemEvent.h>
|
#include <Core/HAL/Event/SystemEvent.h>
|
||||||
#include <Core/HAL/Filesystem/Filesystem.h>
|
#include <Core/HAL/Filesystem/Filesystem.h>
|
||||||
#include <Core/JulietInit.h>
|
#include <Core/JulietInit.h>
|
||||||
#include <Core/Logging/LogManager.h>
|
#include <Core/Logging/LogManager.h>
|
||||||
#include <Core/Logging/LogTypes.h>
|
#include <Core/Logging/LogTypes.h>
|
||||||
|
#include <Core/Math/Matrix.h>
|
||||||
|
#include <Core/Memory/MemoryArena.h>
|
||||||
|
#include <Core/Memory/Utils.h>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <Engine/Debug/MemoryDebugger.h>
|
||||||
#include <Graphics/Camera.h>
|
#include <Graphics/Camera.h>
|
||||||
#include <Graphics/DebugDisplay.h>
|
#include <Graphics/DebugDisplay.h>
|
||||||
#include <Graphics/Graphics.h>
|
#include <Graphics/Graphics.h>
|
||||||
#include <Graphics/GraphicsConfig.h>
|
#include <Graphics/GraphicsConfig.h>
|
||||||
#include <Graphics/GraphicsPipeline.h>
|
#include <Graphics/GraphicsPipeline.h>
|
||||||
#include <Graphics/RenderPass.h>
|
#include <Graphics/RenderPass.h>
|
||||||
|
#include <Juliet.h>
|
||||||
|
|
||||||
#include <Core/Common/String.h>
|
#ifdef JULIET_ENABLE_IMGUI
|
||||||
#include <Core/Memory/Utils.h>
|
#include <Graphics/ImGuiRenderer.h>
|
||||||
#include <Core/Memory/MemoryArena.h>
|
#include <imgui.h>
|
||||||
#include <Core/Memory/EngineArena.h>
|
#endif
|
||||||
#include <cstdlib>
|
|
||||||
|
static bool ShowMemoryDebugger = false;
|
||||||
|
|
||||||
// TODO : Replace with message box from framework + call main and not winmain + subsystem
|
// TODO : Replace with message box from framework + call main and not winmain + subsystem
|
||||||
// TODO : Think how to do the draw pipeline.
|
// TODO : Think how to do the draw pipeline.
|
||||||
@@ -33,6 +41,13 @@
|
|||||||
|
|
||||||
using namespace Juliet;
|
using namespace Juliet;
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
__declspec(dllexport) extern const unsigned int D3D12SDKVersion = 615;
|
||||||
|
}
|
||||||
|
extern "C" {
|
||||||
|
__declspec(dllexport) extern const char* D3D12SDKPath = ".\\";
|
||||||
|
}
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
using GameInit_t = void (*)(GameInitParams*);
|
using GameInit_t = void (*)(GameInitParams*);
|
||||||
@@ -44,6 +59,7 @@ namespace
|
|||||||
GameShutdown_t Shutdown = nullptr;
|
GameShutdown_t Shutdown = nullptr;
|
||||||
GameUpdate_t Update = nullptr;
|
GameUpdate_t Update = nullptr;
|
||||||
} Game;
|
} Game;
|
||||||
|
|
||||||
const char* GameFunctionTable[] = { "GameInit", "GameShutdown", "GameUpdate" };
|
const char* GameFunctionTable[] = { "GameInit", "GameShutdown", "GameUpdate" };
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
@@ -91,15 +107,15 @@ void JulietApplication::Init()
|
|||||||
ColorTargetDescription colorTargetDescription = {};
|
ColorTargetDescription colorTargetDescription = {};
|
||||||
colorTargetDescription.Format = GetSwapChainTextureFormat(GraphicsDevice, MainWindow);
|
colorTargetDescription.Format = GetSwapChainTextureFormat(GraphicsDevice, MainWindow);
|
||||||
|
|
||||||
GraphicsPipelineCreateInfo pipelineCI = {};
|
GraphicsPipelineCreateInfo pipelineCI = {};
|
||||||
pipelineCI.VertexShader = vertexShader;
|
pipelineCI.VertexShader = vertexShader;
|
||||||
pipelineCI.FragmentShader = fragmentShader;
|
pipelineCI.FragmentShader = fragmentShader;
|
||||||
pipelineCI.PrimitiveType = PrimitiveType::TriangleList;
|
pipelineCI.PrimitiveType = PrimitiveType::TriangleList;
|
||||||
pipelineCI.TargetInfo = { .ColorTargetDescriptions = &colorTargetDescription,
|
pipelineCI.TargetInfo = { .ColorTargetDescriptions = &colorTargetDescription,
|
||||||
.NumColorTargets = 1,
|
.NumColorTargets = 1,
|
||||||
.DepthStencilFormat = TextureFormat::D32_FLOAT,
|
.DepthStencilFormat = TextureFormat::D32_FLOAT,
|
||||||
.HasDepthStencilTarget = true };
|
.HasDepthStencilTarget = true };
|
||||||
pipelineCI.RasterizerState.FillMode = FillMode::Solid;
|
pipelineCI.RasterizerState.FillMode = FillMode::Solid;
|
||||||
pipelineCI.DepthStencilState.EnableDepthTest = true;
|
pipelineCI.DepthStencilState.EnableDepthTest = true;
|
||||||
pipelineCI.DepthStencilState.EnableDepthWrite = true;
|
pipelineCI.DepthStencilState.EnableDepthWrite = true;
|
||||||
pipelineCI.DepthStencilState.CompareOperation = CompareOperation::Less;
|
pipelineCI.DepthStencilState.CompareOperation = CompareOperation::Less;
|
||||||
@@ -128,10 +144,10 @@ void JulietApplication::Init()
|
|||||||
Running = false;
|
Running = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create Buffers
|
// Create Buffers - Using StructuredBuffer for bindless SRV access in shader
|
||||||
BufferCreateInfo bufferCI = {};
|
BufferCreateInfo bufferCI = {};
|
||||||
bufferCI.Size = 256;
|
bufferCI.Size = 256;
|
||||||
bufferCI.Usage = BufferUsage::StructuredBuffer; // Changed to StructuredBuffer As Requested
|
bufferCI.Usage = BufferUsage::StructuredBuffer; // SRV for ResourceDescriptorHeap access
|
||||||
ConstantBuffer = CreateGraphicsBuffer(GraphicsDevice, bufferCI);
|
ConstantBuffer = CreateGraphicsBuffer(GraphicsDevice, bufferCI);
|
||||||
|
|
||||||
TransferBufferCreateInfo transferCI = {};
|
TransferBufferCreateInfo transferCI = {};
|
||||||
@@ -139,6 +155,28 @@ void JulietApplication::Init()
|
|||||||
transferCI.Usage = TransferBufferUsage::Upload;
|
transferCI.Usage = TransferBufferUsage::Upload;
|
||||||
TransferBuffer = CreateGraphicsTransferBuffer(GraphicsDevice, transferCI);
|
TransferBuffer = CreateGraphicsTransferBuffer(GraphicsDevice, transferCI);
|
||||||
|
|
||||||
|
// Upload Static Data for Test
|
||||||
|
if (TransferBuffer && ConstantBuffer)
|
||||||
|
{
|
||||||
|
void* data = MapGraphicsTransferBuffer(GraphicsDevice, TransferBuffer);
|
||||||
|
if (data)
|
||||||
|
{
|
||||||
|
Matrix projection = PerspectiveFov(60.0f * (3.14159f / 180.0f), 1200.0f / 800.0f, 0.1f, 1000.0f);
|
||||||
|
Matrix view = LookAt({ 30.0f, 0.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 1.0f });
|
||||||
|
Matrix model = Matrix::Identity();
|
||||||
|
Matrix mvp = projection * view * model;
|
||||||
|
|
||||||
|
MemCopy(data, &mvp, sizeof(Matrix));
|
||||||
|
UnmapGraphicsTransferBuffer(GraphicsDevice, TransferBuffer);
|
||||||
|
|
||||||
|
CommandList* initCmd = AcquireCommandList(GraphicsDevice);
|
||||||
|
CopyBuffer(initCmd, ConstantBuffer, TransferBuffer, 256);
|
||||||
|
TransitionBufferToReadable(initCmd, ConstantBuffer);
|
||||||
|
SubmitCommandLists(initCmd);
|
||||||
|
WaitUntilGPUIsIdle(GraphicsDevice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (vertexShader)
|
if (vertexShader)
|
||||||
{
|
{
|
||||||
DestroyShader(GraphicsDevice, vertexShader);
|
DestroyShader(GraphicsDevice, vertexShader);
|
||||||
@@ -165,9 +203,6 @@ void JulietApplication::Init()
|
|||||||
params.ScratchArena = GetScratchArena();
|
params.ScratchArena = GetScratchArena();
|
||||||
Game.Init(¶ms);
|
Game.Init(¶ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize DebugDisplay
|
|
||||||
DebugDisplay_Initialize(GraphicsDevice);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,12 +216,6 @@ void JulietApplication::Shutdown()
|
|||||||
ShutdownHotReloadCode(GameCode);
|
ShutdownHotReloadCode(GameCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Shutdown DebugDisplay before graphics device
|
|
||||||
if (GraphicsDevice)
|
|
||||||
{
|
|
||||||
DebugDisplay_Shutdown(GraphicsDevice);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (GraphicsPipeline)
|
if (GraphicsPipeline)
|
||||||
{
|
{
|
||||||
DestroyGraphicsPipeline(GraphicsDevice, GraphicsPipeline);
|
DestroyGraphicsPipeline(GraphicsDevice, GraphicsPipeline);
|
||||||
@@ -243,7 +272,6 @@ void JulietApplication::Update()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Shader hot reload using keyboard.
|
// Shader hot reload using keyboard.
|
||||||
// TODO: Add Input debounce in the library. (Just pressed vs pressed)
|
|
||||||
if (!reloadShadersDebounce && ((GetKeyModState() & KeyMod::Alt) != KeyMod::None) && IsKeyDown(ScanCode::R))
|
if (!reloadShadersDebounce && ((GetKeyModState() & KeyMod::Alt) != KeyMod::None) && IsKeyDown(ScanCode::R))
|
||||||
{
|
{
|
||||||
reloadShaders = true;
|
reloadShaders = true;
|
||||||
@@ -256,6 +284,16 @@ void JulietApplication::Update()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef JULIET_ENABLE_IMGUI
|
||||||
|
ImGui::ShowDemoWindow();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Debug display shapes - can be called from anywhere before engine flush
|
||||||
|
DebugDisplay_DrawLine({ 0.0f, 0.0f, 0.0f }, { 10.0f, 0.0f, 0.0f }, { 1.0f, 0.0f, 0.0f, 1.0f }, false);
|
||||||
|
DebugDisplay_DrawLine({ 0.0f, 0.0f, 0.0f }, { 0.0f, 10.0f, 0.0f }, { 0.0f, 1.0f, 0.0f, 1.0f }, true);
|
||||||
|
DebugDisplay_DrawLine({ 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 10.0f }, { 0.0f, 0.0f, 1.0f, 1.0f }, true);
|
||||||
|
DebugDisplay_DrawSphere({ 0.0f, 0.0f, 0.0f }, 5.0f, { 1.0f, 1.0f, 0.0f, 1.0f }, true);
|
||||||
|
|
||||||
Game.Update(0.0f);
|
Game.Update(0.0f);
|
||||||
|
|
||||||
if (ShouldReloadCode(GameCode))
|
if (ShouldReloadCode(GameCode))
|
||||||
@@ -265,7 +303,6 @@ void JulietApplication::Update()
|
|||||||
|
|
||||||
if (reloadShaders)
|
if (reloadShaders)
|
||||||
{
|
{
|
||||||
// We need to wait for the gpu to be idle to recreate our graphics pipelines
|
|
||||||
WaitUntilGPUIsIdle(GraphicsDevice);
|
WaitUntilGPUIsIdle(GraphicsDevice);
|
||||||
|
|
||||||
#if ALLOW_SHADER_HOT_RELOAD
|
#if ALLOW_SHADER_HOT_RELOAD
|
||||||
@@ -293,104 +330,121 @@ void JulietApplication::Update()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Draw here for now
|
// Memory debugger toggle
|
||||||
// 1) Acquire a Command Buffer
|
static bool toggleDebounce = false;
|
||||||
CommandList* cmdList = AcquireCommandList(GraphicsDevice, QueueType::Graphics);
|
if (IsKeyDown(Juliet::ScanCode::Home))
|
||||||
if (cmdList == nullptr)
|
|
||||||
{
|
{
|
||||||
Log(LogLevel::Error, LogCategory::Tool, "Failed to acquire command list.");
|
if (!toggleDebounce)
|
||||||
Running = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Texture* swapChainTexture = nullptr;
|
|
||||||
if (!WaitAndAcquireSwapChainTexture(cmdList, MainWindow, &swapChainTexture))
|
|
||||||
{
|
|
||||||
Log(LogLevel::Error, LogCategory::Tool, "Failed to acquire swapchain texture.");
|
|
||||||
Running = false;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (swapChainTexture)
|
|
||||||
{
|
|
||||||
ColorTargetInfo colorTargetInfo = {};
|
|
||||||
colorTargetInfo.TargetTexture = swapChainTexture;
|
|
||||||
colorTargetInfo.ClearColor = { .R = .0f, .G = .0f, .B = .0f, .A = 1.f };
|
|
||||||
colorTargetInfo.LoadOperation = LoadOperation::Clear;
|
|
||||||
colorTargetInfo.StoreOperation = StoreOperation::Store;
|
|
||||||
|
|
||||||
if (ConstantBuffer && TransferBuffer)
|
|
||||||
{
|
{
|
||||||
void* ptr = MapGraphicsTransferBuffer(GraphicsDevice, TransferBuffer);
|
ShowMemoryDebugger = !ShowMemoryDebugger;
|
||||||
if (ptr)
|
toggleDebounce = true;
|
||||||
{
|
}
|
||||||
Vertex* vertices = static_cast<Vertex*>(ptr);
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
toggleDebounce = false;
|
||||||
|
}
|
||||||
|
|
||||||
// Triangle 1
|
// Auto-close logic
|
||||||
vertices[0] = { { -0.5f, -0.5f }, { 1.0f, 0.0f, 0.0f, 1.0f } }; // Red
|
if (AutoCloseFrameCount > 0)
|
||||||
vertices[1] = { { 0.0f, 0.5f }, { 0.0f, 1.0f, 0.0f, 1.0f } }; // Green
|
{
|
||||||
vertices[2] = { { 0.5f, -0.5f }, { 0.0f, 0.0f, 1.0f, 1.0f } }; // Blue
|
AutoCloseFrameCount--;
|
||||||
|
if (AutoCloseFrameCount == 0)
|
||||||
|
{
|
||||||
|
Log(LogLevel::Message, LogCategory::Tool, "Auto-closing application as requested.");
|
||||||
|
Running = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Triangle 2
|
void JulietApplication::OnPreRender(CommandList* cmd)
|
||||||
vertices[3] = { { -0.5f, 0.5f }, { 1.0f, 1.0f, 0.0f, 1.0f } }; // Yellow
|
{
|
||||||
vertices[4] = { { 0.0f, 0.8f }, { 0.0f, 1.0f, 1.0f, 1.0f } }; // Cyan
|
// Buffer uploads
|
||||||
vertices[5] = { { 0.5f, 0.5f }, { 1.0f, 0.0f, 1.0f, 1.0f } }; // Magenta
|
if (ConstantBuffer && TransferBuffer)
|
||||||
|
{
|
||||||
|
void* ptr = MapGraphicsTransferBuffer(GraphicsDevice, TransferBuffer);
|
||||||
|
if (ptr)
|
||||||
|
{
|
||||||
|
auto vertices = static_cast<Vertex*>(ptr);
|
||||||
|
|
||||||
UnmapGraphicsTransferBuffer(GraphicsDevice, TransferBuffer);
|
// Triangle 1
|
||||||
}
|
vertices[0] = { { -0.5f, -0.5f }, { 1.0f, 0.0f, 0.0f, 1.0f } }; // Red
|
||||||
|
vertices[1] = { { 0.0f, 0.5f }, { 0.0f, 1.0f, 0.0f, 1.0f } }; // Green
|
||||||
|
vertices[2] = { { 0.5f, -0.5f }, { 0.0f, 0.0f, 1.0f, 1.0f } }; // Blue
|
||||||
|
|
||||||
CopyBuffer(cmdList, ConstantBuffer, TransferBuffer, 256);
|
// Triangle 2
|
||||||
TransitionBufferToReadable(cmdList, ConstantBuffer);
|
vertices[3] = { { -0.5f, 0.5f }, { 1.0f, 1.0f, 0.0f, 1.0f } }; // Yellow
|
||||||
|
vertices[4] = { { 0.0f, 0.8f }, { 0.0f, 1.0f, 1.0f, 1.0f } }; // Cyan
|
||||||
|
vertices[5] = { { 0.5f, 0.5f }, { 1.0f, 0.0f, 1.0f, 1.0f } }; // Magenta
|
||||||
|
|
||||||
|
UnmapGraphicsTransferBuffer(GraphicsDevice, TransferBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test lines and sphere - GIANT SCALE
|
CopyBuffer(cmd, ConstantBuffer, TransferBuffer, 256);
|
||||||
DebugDisplay_DrawLine({ 0.0f, 0.0f, 0.0f }, { 10.0f, 0.0f, 0.0f }, { 1.0f, 0.0f, 0.0f, 1.0f }, false); // X-Axis (Red)
|
TransitionBufferToReadable(cmd, ConstantBuffer);
|
||||||
DebugDisplay_DrawLine({ 0.0f, 0.0f, 0.0f }, { 0.0f, 10.0f, 0.0f }, { 0.0f, 1.0f, 0.0f, 1.0f }, true); // Y-Axis (Green)
|
|
||||||
DebugDisplay_DrawLine({ 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 10.0f }, { 0.0f, 0.0f, 1.0f, 1.0f }, true); // Z-Axis (Blue) - Up
|
|
||||||
DebugDisplay_DrawSphere({ 0.0f, 0.0f, 0.0f }, 5.0f, { 1.0f, 1.0f, 0.0f, 1.0f }, true); // Yellow sphere
|
|
||||||
|
|
||||||
// Prepare debug data (outside render pass)
|
|
||||||
DebugDisplay_Prepare(cmdList);
|
|
||||||
|
|
||||||
DepthStencilTargetInfo depthTargetInfo = {};
|
|
||||||
depthTargetInfo.TargetTexture = DepthBuffer;
|
|
||||||
depthTargetInfo.ClearDepth = 1.0f;
|
|
||||||
depthTargetInfo.LoadOperation = LoadOperation::Clear;
|
|
||||||
depthTargetInfo.StoreOperation = StoreOperation::Store;
|
|
||||||
|
|
||||||
RenderPass* renderPass = BeginRenderPass(cmdList, colorTargetInfo, &depthTargetInfo);
|
|
||||||
BindGraphicsPipeline(renderPass, GraphicsPipeline);
|
|
||||||
|
|
||||||
// Pass descriptor index via Push Constants AFTER finding the pipeline (RootSignature)
|
|
||||||
uint32 descriptorIndex = GetDescriptorIndex(GraphicsDevice, ConstantBuffer);
|
|
||||||
SetPushConstants(cmdList, ShaderStage::Vertex, 0, 1, &descriptorIndex);
|
|
||||||
|
|
||||||
DrawPrimitives(renderPass, 6, 1, 0, 0);
|
|
||||||
|
|
||||||
// Debug Display - render shapes (inside render pass)
|
|
||||||
static float orbitTime = 0.0f;
|
|
||||||
orbitTime += 0.016f; // Rough approximation for 60fps
|
|
||||||
|
|
||||||
float radius = 30.0f;
|
|
||||||
Camera debugCamera = {};
|
|
||||||
debugCamera.Position = { cosf(orbitTime) * radius, sinf(orbitTime) * radius, 10.0f }; // Rotate in XY plane
|
|
||||||
debugCamera.Target = { 0.0f, 0.0f, 0.0f };
|
|
||||||
debugCamera.Up = { 0.0f, 0.0f, 1.0f }; // Z-Up
|
|
||||||
debugCamera.FOV = 1.047f; // 60 degrees
|
|
||||||
debugCamera.AspectRatio = 1200.0f / 800.0f;
|
|
||||||
debugCamera.NearPlane = 0.1f;
|
|
||||||
debugCamera.FarPlane = 1000.0f;
|
|
||||||
|
|
||||||
DebugDisplay_Flush(cmdList, renderPass, debugCamera);
|
|
||||||
|
|
||||||
EndRenderPass(renderPass);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Submit Commands
|
|
||||||
SubmitCommandLists(cmdList);
|
|
||||||
|
|
||||||
// Reset Scratch Arena at the end of the frame
|
}
|
||||||
ScratchArenaReset();
|
|
||||||
|
void JulietApplication::OnRender(RenderPass* pass, CommandList* cmd)
|
||||||
|
{
|
||||||
|
BindGraphicsPipeline(pass, GraphicsPipeline);
|
||||||
|
|
||||||
|
uint32 descriptorIndex = GetDescriptorIndex(GraphicsDevice, ConstantBuffer);
|
||||||
|
|
||||||
|
struct PushData
|
||||||
|
{
|
||||||
|
float ViewProjection[16];
|
||||||
|
uint32 BufferIndex;
|
||||||
|
} pushData = {};
|
||||||
|
pushData.BufferIndex = descriptorIndex;
|
||||||
|
|
||||||
|
SetPushConstants(cmd, ShaderStage::Vertex, 0, sizeof(pushData) / 4, &pushData);
|
||||||
|
|
||||||
|
DrawPrimitives(pass, 6, 1, 0, 0);
|
||||||
|
|
||||||
|
if (ShowMemoryDebugger)
|
||||||
|
{
|
||||||
|
MemoryDebugger::DrawGlobalArenas();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ColorTargetInfo JulietApplication::GetColorTargetInfo(Texture* swapchainTexture)
|
||||||
|
{
|
||||||
|
ColorTargetInfo info = {};
|
||||||
|
info.TargetTexture = swapchainTexture;
|
||||||
|
info.ClearColor = { .R = 0.0f, .G = 0.0f, .B = 0.0f, .A = 1.0f };
|
||||||
|
info.LoadOperation = LoadOperation::Clear;
|
||||||
|
info.StoreOperation = StoreOperation::Store;
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
|
||||||
|
DepthStencilTargetInfo* JulietApplication::GetDepthTargetInfo()
|
||||||
|
{
|
||||||
|
static DepthStencilTargetInfo info = {};
|
||||||
|
info.TargetTexture = DepthBuffer;
|
||||||
|
info.ClearDepth = 1.0f;
|
||||||
|
info.LoadOperation = LoadOperation::Clear;
|
||||||
|
info.StoreOperation = StoreOperation::Store;
|
||||||
|
return &info;
|
||||||
|
}
|
||||||
|
|
||||||
|
Camera JulietApplication::GetDebugCamera()
|
||||||
|
{
|
||||||
|
static float orbitTime = 0.0f;
|
||||||
|
orbitTime += 0.016f;
|
||||||
|
|
||||||
|
float radius = 30.0f;
|
||||||
|
Camera cam = {};
|
||||||
|
cam.Position = { cosf(orbitTime) * radius, sinf(orbitTime) * radius, 10.0f };
|
||||||
|
cam.Target = { 0.0f, 0.0f, 0.0f };
|
||||||
|
cam.Up = { 0.0f, 0.0f, 1.0f };
|
||||||
|
cam.FOV = 1.047f;
|
||||||
|
cam.AspectRatio = 1200.0f / 800.0f;
|
||||||
|
cam.NearPlane = 0.1f;
|
||||||
|
cam.FarPlane = 1000.0f;
|
||||||
|
return cam;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool JulietApplication::IsRunning()
|
bool JulietApplication::IsRunning()
|
||||||
@@ -419,10 +473,28 @@ int main(int /*argc*/, char** /*argv*/)
|
|||||||
// return EXIT_FAILURE;
|
// return EXIT_FAILURE;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
setvbuf(stdout, nullptr, _IONBF, 0);
|
||||||
|
|
||||||
|
if (__argc > 1)
|
||||||
|
{
|
||||||
|
for (int i = 1; i < __argc; ++i)
|
||||||
|
{
|
||||||
|
if (strcmp(__argv[i], "-autoclose") == 0 && (i + 1 < __argc))
|
||||||
|
{
|
||||||
|
int frames = atoi(__argv[i + 1]);
|
||||||
|
EditorApplication.SetAutoCloseFrameCount(frames);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
StartApplication(EditorApplication, JulietInit_Flags::Display);
|
StartApplication(EditorApplication, JulietInit_Flags::Display);
|
||||||
|
|
||||||
// Pause here to not close the console window immediatly on stop
|
// Pause here to not close the console window immediatly on stop
|
||||||
system("PAUSE");
|
// Only pause if not in auto-close mode
|
||||||
|
if (EditorApplication.GetAutoCloseFrameCount() == -1)
|
||||||
|
{
|
||||||
|
system("PAUSE");
|
||||||
|
}
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,20 @@ class JulietApplication : public Juliet::IApplication
|
|||||||
void Update() override;
|
void Update() override;
|
||||||
bool IsRunning() override;
|
bool IsRunning() override;
|
||||||
|
|
||||||
|
Juliet::Window* GetPlatformWindow() override { return MainWindow; }
|
||||||
|
Juliet::GraphicsDevice* GetGraphicsDevice() override { return GraphicsDevice; }
|
||||||
|
|
||||||
|
// Render Lifecycle
|
||||||
|
void OnPreRender(Juliet::CommandList* cmd) override;
|
||||||
|
void OnRender(Juliet::RenderPass* pass, Juliet::CommandList* cmd) override;
|
||||||
|
Juliet::ColorTargetInfo GetColorTargetInfo(Juliet::Texture* swapchainTexture) override;
|
||||||
|
Juliet::DepthStencilTargetInfo* GetDepthTargetInfo() override;
|
||||||
|
Juliet::Camera GetDebugCamera() override;
|
||||||
|
|
||||||
|
public:
|
||||||
|
void SetAutoCloseFrameCount(int count) { AutoCloseFrameCount = count; }
|
||||||
|
int GetAutoCloseFrameCount() const { return AutoCloseFrameCount; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Juliet::Window* MainWindow = {};
|
Juliet::Window* MainWindow = {};
|
||||||
Juliet::GraphicsDevice* GraphicsDevice = {};
|
Juliet::GraphicsDevice* GraphicsDevice = {};
|
||||||
@@ -32,6 +46,7 @@ class JulietApplication : public Juliet::IApplication
|
|||||||
Juliet::Texture* DepthBuffer = {};
|
Juliet::Texture* DepthBuffer = {};
|
||||||
|
|
||||||
bool Running = false;
|
bool Running = false;
|
||||||
|
int AutoCloseFrameCount = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
JulietApplication& GetEditorApplication();
|
JulietApplication& GetEditorApplication();
|
||||||
|
|||||||
@@ -51,8 +51,8 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='x64Clang-Debug|x64'">
|
||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;DEBUG;PROFILING_ENABLED;JULIET_ENABLE_IMGUI;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
<NMakeBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache $(ProjectName)-$(Configuration)</NMakeBuildCommandLine>
|
||||||
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
<NMakeReBuildCommandLine>cd $(SolutionDir) & misc\fbuild -ide -dist -monitor -cache -clean $(ProjectName)-$(Configuration)</NMakeReBuildCommandLine>
|
||||||
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
<NMakePreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_UNICODE;UNICODE;WIN32_LEAN_AND_MEAN;WIN32;_WIN32;__WINDOWS__;_HAS_EXCEPTIONS=0;WIN64;RELEASE;JULIET_EXPORT;JULIET_WIN32;</NMakePreprocessorDefinitions>
|
||||||
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
<NMakeIncludeSearchPath>..\;..\Juliet\include;..\Juliet\src;..\External\imgui;..\External\imgui\backends;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared;</NMakeIncludeSearchPath>
|
||||||
<AdditionalOptions>/std:c++20 </AdditionalOptions>
|
<AdditionalOptions>/std:c++20 </AdditionalOptions>
|
||||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
<LocalDebuggerWorkingDirectory>$(SolutionDir)\bin\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||||
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
<IntDir>$(SolutionDir)\Intermediate</IntDir>
|
||||||
|
|||||||
11
fbuild.bff
11
fbuild.bff
@@ -21,7 +21,9 @@ Settings
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
.BinPath = 'bin'
|
.BinPath = 'bin'
|
||||||
.OutputBase = 'Intermediate'
|
.OutputBase = 'Intermediate'
|
||||||
.CommonWinLibs = ' kernel32.lib user32.lib gdi32.lib dxguid.lib Ws2_32.lib dxgi.lib'
|
.CommonWinLibs = ' kernel32.lib user32.lib gdi32.lib dxguid.lib Ws2_32.lib dxgi.lib imm32.lib dwmapi.lib d3dcompiler.lib shell32.lib'
|
||||||
|
|
||||||
|
|
||||||
.ProjectConfigs = {}
|
.ProjectConfigs = {}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
@@ -29,7 +31,7 @@ Settings
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
.Debug_Config =
|
.Debug_Config =
|
||||||
[
|
[
|
||||||
.CompilerOptions = ' -DDEBUG -DPROFILING_ENABLED'
|
.CompilerOptions = ' -DDEBUG -DPROFILING_ENABLED -DJULIET_ENABLE_IMGUI'
|
||||||
.CompilerOptionsC = .CompilerOptions
|
.CompilerOptionsC = .CompilerOptions
|
||||||
.BuildConfigName = 'Debug'
|
.BuildConfigName = 'Debug'
|
||||||
]
|
]
|
||||||
@@ -174,11 +176,13 @@ Settings
|
|||||||
.Targets_x64Clang_Release = {}
|
.Targets_x64Clang_Release = {}
|
||||||
|
|
||||||
// Include all projects to build
|
// Include all projects to build
|
||||||
|
#include "External/imgui/Imgui.bff"
|
||||||
#include "Juliet/Juliet.bff"
|
#include "Juliet/Juliet.bff"
|
||||||
#include "Game/Game.bff"
|
#include "Game/Game.bff"
|
||||||
#include "JulietApp/JulietApp.Bff"
|
#include "JulietApp/JulietApp.Bff"
|
||||||
#include "JulietShaderCompiler/JulietShaderCompiler.Bff"
|
#include "JulietShaderCompiler/JulietShaderCompiler.Bff"
|
||||||
|
|
||||||
|
|
||||||
// Aliases : All-$Platform$-$Config$
|
// Aliases : All-$Platform$-$Config$
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
ForEach( .BuildConfig in .BuildConfigs )
|
ForEach( .BuildConfig in .BuildConfigs )
|
||||||
@@ -253,7 +257,8 @@ ForEach( .Config in .Configs )
|
|||||||
VSSolution( 'GenerateSolution' )
|
VSSolution( 'GenerateSolution' )
|
||||||
{
|
{
|
||||||
.SolutionOutput = 'Juliet.sln'
|
.SolutionOutput = 'Juliet.sln'
|
||||||
.SolutionProjects = { 'Juliet', 'Game', 'JulietApp' }
|
.SolutionProjects = { 'Juliet', 'Game', 'JulietApp', 'ImGui' }
|
||||||
|
|
||||||
.SolutionConfigs = .ProjectConfigs
|
.SolutionConfigs = .ProjectConfigs
|
||||||
.SolutionBuildProject = 'JulietApp'
|
.SolutionBuildProject = 'JulietApp'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user