Skip to content

Commit 21dd4b1

Browse files
implement instancing support. implement culling support. implement renderable entities. refactor entitydb to allow component reference initializers. refactor sequencer to map based on explicit types. refactor project structure to separate project specific classes to appropriate folders. implement indexed pointer set. implement lean memory pool. refactor various systems to not cause as many dynamic allocations.
1 parent 43606f6 commit 21dd4b1

File tree

201 files changed

+5203
-2171
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

201 files changed

+5203
-2171
lines changed

PKAssetTools

PKRenderer/PKRenderer.vcxproj

Lines changed: 114 additions & 25 deletions
Large diffs are not rendered by default.

PKRenderer/PKRenderer.vcxproj.filters

Lines changed: 217 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -963,28 +963,28 @@
963963
<ClInclude Include="src\Core\Application.h">
964964
<Filter>Header Files</Filter>
965965
</ClInclude>
966-
<ClInclude Include="src\Core\AssetDatabase.h">
966+
<ClInclude Include="src\Core\Services\AssetDatabase.h">
967967
<Filter>Header Files</Filter>
968968
</ClInclude>
969-
<ClInclude Include="src\Core\BufferView.h">
969+
<ClInclude Include="src\Utilities\BufferView.h">
970970
<Filter>Header Files</Filter>
971971
</ClInclude>
972-
<ClInclude Include="src\Core\Input.h">
972+
<ClInclude Include="src\Core\Services\Input.h">
973973
<Filter>Header Files</Filter>
974974
</ClInclude>
975-
<ClInclude Include="src\Core\IService.h">
975+
<ClInclude Include="src\Core\Services\IService.h">
976976
<Filter>Header Files</Filter>
977977
</ClInclude>
978-
<ClInclude Include="src\Core\ISingleton.h">
978+
<ClInclude Include="src\Utilities\ISingleton.h">
979979
<Filter>Header Files</Filter>
980980
</ClInclude>
981-
<ClInclude Include="src\Core\NoCopy.h">
981+
<ClInclude Include="src\Utilities\NoCopy.h">
982982
<Filter>Header Files</Filter>
983983
</ClInclude>
984-
<ClInclude Include="src\Core\ServiceRegister.h">
984+
<ClInclude Include="src\Core\Services\ServiceRegister.h">
985985
<Filter>Header Files</Filter>
986986
</ClInclude>
987-
<ClInclude Include="src\Core\Time.h">
987+
<ClInclude Include="src\Core\Services\Time.h">
988988
<Filter>Header Files</Filter>
989989
</ClInclude>
990990
<ClInclude Include="src\Core\UpdateStep.h">
@@ -996,10 +996,7 @@
996996
<ClInclude Include="src\ECS\EntityDatabase.h">
997997
<Filter>Header Files</Filter>
998998
</ClInclude>
999-
<ClInclude Include="src\ECS\Sequencer.h">
1000-
<Filter>Header Files</Filter>
1001-
</ClInclude>
1002-
<ClInclude Include="src\Math\PKMath.h">
999+
<ClInclude Include="src\Core\Services\Sequencer.h">
10031000
<Filter>Header Files</Filter>
10041001
</ClInclude>
10051002
<ClInclude Include="src\PrecompiledHeader.h">
@@ -1077,13 +1074,13 @@
10771074
<ClInclude Include="src\Rendering\VulkanRHI\VulkanWindow.h">
10781075
<Filter>Header Files</Filter>
10791076
</ClInclude>
1080-
<ClInclude Include="src\Utilities\Log.h">
1077+
<ClInclude Include="src\Core\Services\Log.h">
10811078
<Filter>Header Files</Filter>
10821079
</ClInclude>
10831080
<ClInclude Include="src\Utilities\Ref.h">
10841081
<Filter>Header Files</Filter>
10851082
</ClInclude>
1086-
<ClInclude Include="src\Utilities\StringHashID.h">
1083+
<ClInclude Include="src\Core\Services\StringHashID.h">
10871084
<Filter>Header Files</Filter>
10881085
</ClInclude>
10891086
<ClInclude Include="include\PKAssets\PKAsset.h">
@@ -1095,9 +1092,6 @@
10951092
<ClInclude Include="src\Rendering\Objects\Shader.h">
10961093
<Filter>Header Files</Filter>
10971094
</ClInclude>
1098-
<ClInclude Include="src\Utilities\StringUtilities.h">
1099-
<Filter>Header Files</Filter>
1100-
</ClInclude>
11011095
<ClInclude Include="src\Rendering\Objects\Texture.h">
11021096
<Filter>Header Files</Filter>
11031097
</ClInclude>
@@ -1119,7 +1113,7 @@
11191113
<ClInclude Include="src\Rendering\Objects\CommandBuffer.h">
11201114
<Filter>Header Files</Filter>
11211115
</ClInclude>
1122-
<ClInclude Include="src\Core\NativeInterface.h">
1116+
<ClInclude Include="src\Utilities\NativeInterface.h">
11231117
<Filter>Header Files</Filter>
11241118
</ClInclude>
11251119
<ClInclude Include="src\Rendering\Objects\RenderTexture.h">
@@ -1251,7 +1245,7 @@
12511245
<ClInclude Include="src\Core\ApplicationConfig.h">
12521246
<Filter>Header Files</Filter>
12531247
</ClInclude>
1254-
<ClInclude Include="src\Core\PropertyBlock.h">
1248+
<ClInclude Include="src\Utilities\PropertyBlock.h">
12551249
<Filter>Header Files</Filter>
12561250
</ClInclude>
12571251
<ClInclude Include="src\Rendering\HashCache.h">
@@ -1281,6 +1275,114 @@
12811275
<ClInclude Include="src\Rendering\Passes\PassDepthOfField.h">
12821276
<Filter>Header Files</Filter>
12831277
</ClInclude>
1278+
<ClInclude Include="src\Rendering\VulkanRHI\Objects\VulkanBindArray.h">
1279+
<Filter>Header Files</Filter>
1280+
</ClInclude>
1281+
<ClInclude Include="src\Rendering\Objects\BindArray.h">
1282+
<Filter>Header Files</Filter>
1283+
</ClInclude>
1284+
<ClInclude Include="src\ECS\Contextual\Components\Transform.h">
1285+
<Filter>Header Files</Filter>
1286+
</ClInclude>
1287+
<ClInclude Include="src\ECS\Contextual\Components\Bounds.h">
1288+
<Filter>Header Files</Filter>
1289+
</ClInclude>
1290+
<ClInclude Include="src\ECS\Contextual\Components\Renderable.h">
1291+
<Filter>Header Files</Filter>
1292+
</ClInclude>
1293+
<ClInclude Include="src\ECS\Contextual\Components\MeshReference.h">
1294+
<Filter>Header Files</Filter>
1295+
</ClInclude>
1296+
<ClInclude Include="src\ECS\Contextual\Components\Light.h">
1297+
<Filter>Header Files</Filter>
1298+
</ClInclude>
1299+
<ClInclude Include="src\ECS\Contextual\EntityViews\BaseRenderableView.h">
1300+
<Filter>Header Files</Filter>
1301+
</ClInclude>
1302+
<ClInclude Include="src\ECS\Contextual\EntityViews\TransformView.h">
1303+
<Filter>Header Files</Filter>
1304+
</ClInclude>
1305+
<ClInclude Include="src\ECS\Contextual\EntityViews\MeshRenderableView.h">
1306+
<Filter>Header Files</Filter>
1307+
</ClInclude>
1308+
<ClInclude Include="src\ECS\Contextual\EntityViews\LightRenderableView.h">
1309+
<Filter>Header Files</Filter>
1310+
</ClInclude>
1311+
<ClInclude Include="src\ECS\Contextual\EntityViews\LightSphereView.h">
1312+
<Filter>Header Files</Filter>
1313+
</ClInclude>
1314+
<ClInclude Include="src\ECS\Contextual\Implementers\MeshRenderableImplementer.h">
1315+
<Filter>Header Files</Filter>
1316+
</ClInclude>
1317+
<ClInclude Include="src\ECS\Contextual\Implementers\LightImplementer.h">
1318+
<Filter>Header Files</Filter>
1319+
</ClInclude>
1320+
<ClInclude Include="src\ECS\Contextual\Engines\EngineUpdateTransforms.h">
1321+
<Filter>Header Files</Filter>
1322+
</ClInclude>
1323+
<ClInclude Include="src\ECS\Contextual\Engines\EngineCull.h">
1324+
<Filter>Header Files</Filter>
1325+
</ClInclude>
1326+
<ClInclude Include="src\Rendering\Batcher.h">
1327+
<Filter>Header Files</Filter>
1328+
</ClInclude>
1329+
<ClInclude Include="src\ECS\Contextual\Tokens\CullingTokens.h">
1330+
<Filter>Header Files</Filter>
1331+
</ClInclude>
1332+
<ClInclude Include="src\Rendering\Objects\Material.h">
1333+
<Filter>Header Files</Filter>
1334+
</ClInclude>
1335+
<ClInclude Include="src\ECS\Contextual\Components\Materials.h">
1336+
<Filter>Header Files</Filter>
1337+
</ClInclude>
1338+
<ClInclude Include="src\Utilities\Handle.h">
1339+
<Filter>Header Files</Filter>
1340+
</ClInclude>
1341+
<ClInclude Include="src\Rendering\Objects\BindSet.h">
1342+
<Filter>Header Files</Filter>
1343+
</ClInclude>
1344+
<ClInclude Include="src\Rendering\Objects\ShaderPropertyBlock.h">
1345+
<Filter>Header Files</Filter>
1346+
</ClInclude>
1347+
<ClInclude Include="src\ECS\Contextual\Builders\Builders.h">
1348+
<Filter>Header Files</Filter>
1349+
</ClInclude>
1350+
<ClInclude Include="src\Utilities\VectorUtilities.h">
1351+
<Filter>Header Files</Filter>
1352+
</ClInclude>
1353+
<ClInclude Include="src\Math\Types.h">
1354+
<Filter>Header Files</Filter>
1355+
</ClInclude>
1356+
<ClInclude Include="src\Math\FunctionsMisc.h">
1357+
<Filter>Header Files</Filter>
1358+
</ClInclude>
1359+
<ClInclude Include="src\Math\FunctionsMatrix.h">
1360+
<Filter>Header Files</Filter>
1361+
</ClInclude>
1362+
<ClInclude Include="src\Math\FunctionsColor.h">
1363+
<Filter>Header Files</Filter>
1364+
</ClInclude>
1365+
<ClInclude Include="src\Math\FunctionsIntersect.h">
1366+
<Filter>Header Files</Filter>
1367+
</ClInclude>
1368+
<ClInclude Include="src\ECS\Contextual\Engines\EngineDebug.h">
1369+
<Filter>Header Files</Filter>
1370+
</ClInclude>
1371+
<ClInclude Include="src\Rendering\Passes\PassGeometry.h">
1372+
<Filter>Header Files</Filter>
1373+
</ClInclude>
1374+
<ClInclude Include="src\Rendering\Passes\PassLights.h">
1375+
<Filter>Header Files</Filter>
1376+
</ClInclude>
1377+
<ClInclude Include="src\Utilities\Pool.h">
1378+
<Filter>Header Files</Filter>
1379+
</ClInclude>
1380+
<ClInclude Include="src\Utilities\HashHelpers.h">
1381+
<Filter>Header Files</Filter>
1382+
</ClInclude>
1383+
<ClInclude Include="src\Utilities\IndexedSet.h">
1384+
<Filter>Header Files</Filter>
1385+
</ClInclude>
12841386
</ItemGroup>
12851387
<ItemGroup>
12861388
<None Include="include\glm\detail\func_common.inl">
@@ -1695,7 +1797,6 @@
16951797
<None Include="libs\ktx_read.dll" />
16961798
<None Include="libs\vulkan-1.pdb" />
16971799
<None Include="libs\VulkanMemoryAllocatord.pdb" />
1698-
<None Include="res\textures\T_DebugTexture.ktx2" />
16991800
<None Include="res\shaders\SH_WS_Debug.shader" />
17001801
<None Include="res\models\MDL_Debug.mdl" />
17011802
<None Include="res\models\MDL_Cloth.mdl" />
@@ -1724,6 +1825,45 @@
17241825
<None Include="res\shaders\SH_CS_AutoFocus.shader" />
17251826
<None Include="res\shaders\SH_VS_DepthOfFieldBlur.shader" />
17261827
<None Include="res\shaders\SH_VS_DepthOfFieldComposite.shader" />
1828+
<None Include="res\shaders\SH_WS_Unlit_Color.shader" />
1829+
<None Include="res\materials\M_Color_Red.material" />
1830+
<None Include="res\materials\M_Debug.material" />
1831+
<None Include="res\textures\T_Wood_Floor_S.ktx2" />
1832+
<None Include="res\textures\T_OEM_Trail.ktx2" />
1833+
<None Include="res\textures\T_Sand_D.ktx2" />
1834+
<None Include="res\textures\T_Sand_H.ktx2" />
1835+
<None Include="res\textures\T_Sand_N.ktx2" />
1836+
<None Include="res\textures\T_Sand_S.ktx2" />
1837+
<None Include="res\textures\T_Wood_Floor_D.ktx2" />
1838+
<None Include="res\textures\T_Wood_Floor_N.ktx2" />
1839+
<None Include="res\textures\T_OEM_Park.ktx2" />
1840+
<None Include="res\textures\T_Gravel_D.ktx2" />
1841+
<None Include="res\textures\T_Gravel_N.ktx2" />
1842+
<None Include="res\textures\T_Gravel_S.ktx2" />
1843+
<None Include="res\textures\T_Ground_D.ktx2" />
1844+
<None Include="res\textures\T_Ground_H.ktx2" />
1845+
<None Include="res\textures\T_Ground_N.ktx2" />
1846+
<None Include="res\textures\T_Ground_S.ktx2" />
1847+
<None Include="res\textures\T_LightCookies.ktx2" />
1848+
<None Include="res\textures\T_Metal_Plates_D.ktx2" />
1849+
<None Include="res\textures\T_Metal_Plates_N.ktx2" />
1850+
<None Include="res\textures\T_Metal_Plates_S.ktx2" />
1851+
<None Include="res\textures\T_Metal_Rust_D.ktx2" />
1852+
<None Include="res\textures\T_Metal_Rust_N.ktx2" />
1853+
<None Include="res\textures\T_Metal_Rust_S.ktx2" />
1854+
<None Include="res\textures\T_OEM_Desert.ktx2" />
1855+
<None Include="res\textures\T_OEM_Mountains.ktx2" />
1856+
<None Include="res\textures\T_OEM_Night.ktx2" />
1857+
<None Include="res\textures\T_EmissiveTest_E.ktx2" />
1858+
<None Include="res\textures\T_Cloth_S.ktx2" />
1859+
<None Include="res\textures\T_Bluenoise256.ktx2" />
1860+
<None Include="res\textures\T_Cloth_D.ktx2" />
1861+
<None Include="res\textures\T_Cloth_H.ktx2" />
1862+
<None Include="res\textures\T_Asphalt_S.ktx2" />
1863+
<None Include="res\textures\T_Asphalt_D.ktx2" />
1864+
<None Include="res\textures\T_Asphalt_H.ktx2" />
1865+
<None Include="res\textures\T_Asphalt_N.ktx2" />
1866+
<None Include="res\materials\M_Color_Green.material" />
17271867
</ItemGroup>
17281868
<ItemGroup>
17291869
<ClCompile Include="include\glm\detail\glm.cpp">
@@ -1732,24 +1872,21 @@
17321872
<ClCompile Include="src\Core\Application.cpp">
17331873
<Filter>Source Files</Filter>
17341874
</ClCompile>
1735-
<ClCompile Include="src\Core\Input.cpp">
1875+
<ClCompile Include="src\Core\Services\Input.cpp">
17361876
<Filter>Source Files</Filter>
17371877
</ClCompile>
1738-
<ClCompile Include="src\Core\Time.cpp">
1878+
<ClCompile Include="src\Core\Services\Time.cpp">
17391879
<Filter>Source Files</Filter>
17401880
</ClCompile>
17411881
<ClCompile Include="src\Core\Window.cpp">
17421882
<Filter>Source Files</Filter>
17431883
</ClCompile>
1744-
<ClCompile Include="src\ECS\Sequencer.cpp">
1884+
<ClCompile Include="src\Core\Services\Sequencer.cpp">
17451885
<Filter>Source Files</Filter>
17461886
</ClCompile>
17471887
<ClCompile Include="src\main.cpp">
17481888
<Filter>Source Files</Filter>
17491889
</ClCompile>
1750-
<ClCompile Include="src\Math\PKMath.cpp">
1751-
<Filter>Source Files</Filter>
1752-
</ClCompile>
17531890
<ClCompile Include="src\PrecompiledHeader.cpp">
17541891
<Filter>Source Files</Filter>
17551892
</ClCompile>
@@ -1759,9 +1896,6 @@
17591896
<ClCompile Include="src\Rendering\RenderPipeline.cpp">
17601897
<Filter>Source Files</Filter>
17611898
</ClCompile>
1762-
<ClCompile Include="src\Rendering\Structs\Enums.cpp">
1763-
<Filter>Source Files</Filter>
1764-
</ClCompile>
17651899
<ClCompile Include="src\Rendering\Structs\Layout.cpp">
17661900
<Filter>Source Files</Filter>
17671901
</ClCompile>
@@ -1822,10 +1956,10 @@
18221956
<ClCompile Include="src\Rendering\VulkanRHI\VulkanWindow.cpp">
18231957
<Filter>Source Files</Filter>
18241958
</ClCompile>
1825-
<ClCompile Include="src\Utilities\Log.cpp">
1959+
<ClCompile Include="src\Core\Services\Log.cpp">
18261960
<Filter>Source Files</Filter>
18271961
</ClCompile>
1828-
<ClCompile Include="src\Utilities\StringHashID.cpp">
1962+
<ClCompile Include="src\Core\Services\StringHashID.cpp">
18291963
<Filter>Source Files</Filter>
18301964
</ClCompile>
18311965
<ClCompile Include="include\PKAssets\PKAssetLoader.cpp">
@@ -1834,9 +1968,6 @@
18341968
<ClCompile Include="src\Rendering\Objects\Shader.cpp">
18351969
<Filter>Source Files</Filter>
18361970
</ClCompile>
1837-
<ClCompile Include="src\Utilities\StringUtilities.cpp">
1838-
<Filter>Source Files</Filter>
1839-
</ClCompile>
18401971
<ClCompile Include="src\Rendering\Objects\Texture.cpp">
18411972
<Filter>Source Files</Filter>
18421973
</ClCompile>
@@ -1867,7 +1998,7 @@
18671998
<ClCompile Include="src\Core\ApplicationConfig.cpp">
18681999
<Filter>Source Files</Filter>
18692000
</ClCompile>
1870-
<ClCompile Include="src\Core\PropertyBlock.cpp">
2001+
<ClCompile Include="src\Utilities\PropertyBlock.cpp">
18712002
<Filter>Source Files</Filter>
18722003
</ClCompile>
18732004
<ClCompile Include="src\Rendering\Objects\ConstantBuffer.cpp">
@@ -1891,6 +2022,57 @@
18912022
<ClCompile Include="include\PKAssets\PKAsset.cpp">
18922023
<Filter>Source Files</Filter>
18932024
</ClCompile>
2025+
<ClCompile Include="src\Rendering\VulkanRHI\Objects\VulkanBindArray.cpp">
2026+
<Filter>Source Files</Filter>
2027+
</ClCompile>
2028+
<ClCompile Include="src\Rendering\Objects\BindArray.cpp">
2029+
<Filter>Source Files</Filter>
2030+
</ClCompile>
2031+
<ClCompile Include="src\ECS\Contextual\Engines\EngineUpdateTransforms.cpp">
2032+
<Filter>Source Files</Filter>
2033+
</ClCompile>
2034+
<ClCompile Include="src\ECS\Contextual\Engines\EngineCull.cpp">
2035+
<Filter>Source Files</Filter>
2036+
</ClCompile>
2037+
<ClCompile Include="src\Rendering\Batcher.cpp">
2038+
<Filter>Source Files</Filter>
2039+
</ClCompile>
2040+
<ClCompile Include="src\ECS\Contextual\Tokens\CullingTokens.cpp">
2041+
<Filter>Source Files</Filter>
2042+
</ClCompile>
2043+
<ClCompile Include="src\Rendering\Objects\Material.cpp">
2044+
<Filter>Source Files</Filter>
2045+
</ClCompile>
2046+
<ClCompile Include="src\Rendering\Objects\ShaderPropertyBlock.cpp">
2047+
<Filter>Source Files</Filter>
2048+
</ClCompile>
2049+
<ClCompile Include="src\ECS\Contextual\Builders\Builders.cpp">
2050+
<Filter>Source Files</Filter>
2051+
</ClCompile>
2052+
<ClCompile Include="src\Math\FunctionsMatrix.cpp">
2053+
<Filter>Source Files</Filter>
2054+
</ClCompile>
2055+
<ClCompile Include="src\Math\FunctionsColor.cpp">
2056+
<Filter>Source Files</Filter>
2057+
</ClCompile>
2058+
<ClCompile Include="src\Math\FunctionsMisc.cpp">
2059+
<Filter>Source Files</Filter>
2060+
</ClCompile>
2061+
<ClCompile Include="src\Math\FunctionsIntersect.cpp">
2062+
<Filter>Source Files</Filter>
2063+
</ClCompile>
2064+
<ClCompile Include="src\ECS\Contextual\Engines\EngineDebug.cpp">
2065+
<Filter>Source Files</Filter>
2066+
</ClCompile>
2067+
<ClCompile Include="src\Rendering\Passes\PassGeometry.cpp">
2068+
<Filter>Source Files</Filter>
2069+
</ClCompile>
2070+
<ClCompile Include="src\Rendering\Passes\PassLights.cpp">
2071+
<Filter>Source Files</Filter>
2072+
</ClCompile>
2073+
<ClCompile Include="src\Utilities\HashHelpers.cpp">
2074+
<Filter>Source Files</Filter>
2075+
</ClCompile>
18942076
</ItemGroup>
18952077
<ItemGroup>
18962078
<Library Include="libs\glfw3.lib" />

0 commit comments

Comments
 (0)