Skip to content

Commit fc42962

Browse files
authored
Restructuring (#92)
* rename * Rename * rename * rename * rename * Resources * restructuring * rename * filter * rename * weird filter bug * resLight_ * main loop * destroy internal * restructure * resource shared * init shared resources * cleanup
1 parent db6f92c commit fc42962

File tree

86 files changed

+804
-831
lines changed

Some content is hidden

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

86 files changed

+804
-831
lines changed

HelloVulkan/Header/Apps/AppBase.h

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33

44
#include "VulkanInstance.h"
55
#include "VulkanContext.h"
6-
#include "Camera.h"
76
#include "PipelineBase.h"
8-
#include "IBLResources.h"
7+
#include "ResourcesIBL.h"
8+
#include "ResourcesShared.h"
99
#include "FrameCounter.h"
10+
#include "Camera.h"
1011

1112
#define GLFW_INCLUDE_VULKAN
1213
#include "GLFW/glfw3.h"
@@ -17,7 +18,7 @@ class AppBase
1718
{
1819
public:
1920
AppBase();
20-
virtual int MainLoop() = 0;
21+
virtual void MainLoop() = 0;
2122

2223
protected:
2324
virtual void UpdateUBOs() = 0;
@@ -43,16 +44,16 @@ class AppBase
4344

4445
// Resources
4546
void InitIBLResources(const std::string& hdrFile);
46-
void InitSharedImageResources();
47+
void InitSharedResources();
4748

4849
// Functions related to the main loop
49-
int GLFWWindowShouldClose();
50+
bool StillRunning();
5051
void PollEvents();
5152
void ProcessTiming();
5253
void ProcessInput();
5354

5455
// Should be used to destroy resources
55-
void Terminate();
56+
void DestroyInternal();
5657

5758
protected:
5859
GLFWwindow* glfwWindow_;
@@ -80,14 +81,8 @@ class AppBase
8081
uint32_t windowHeight_;
8182
bool shouldRecreateSwapchain_;
8283

83-
// Shared by multiple render passes
84-
// TODO Maybe group these inside a struct and use a unique_ptr
85-
std::unique_ptr<VulkanImage> multiSampledColorImage_;
86-
std::unique_ptr<VulkanImage> singleSampledColorImage_;
87-
std::unique_ptr<VulkanImage> depthImage_;
88-
89-
// Optional IBL images
90-
std::unique_ptr<IBLResources> iblResources_;
84+
std::unique_ptr<ResourcesShared> resShared_;
85+
std::unique_ptr<ResourcesIBL> resIBL_;
9186
};
9287

9388
#endif

HelloVulkan/Header/Apps/AppPBRBindless.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#define APP_PBR_BINDLESS
33

44
#include "AppBase.h"
5-
#include "Light.h"
5+
#include "ResourcesLight.h"
66
#include "Scene.h"
77

88
// Pipelines
@@ -16,7 +16,6 @@
1616
#include "PipelineImGui.h"
1717

1818
// STL
19-
#include <vector>
2019
#include <memory>
2120

2221
/*
@@ -26,7 +25,7 @@ class AppPBRBindless final : AppBase
2625
{
2726
public:
2827
AppPBRBindless();
29-
int MainLoop() override;
28+
void MainLoop() override;
3029
void UpdateUBOs() override;
3130
void UpdateUI() override;
3231

@@ -45,7 +44,7 @@ class AppPBRBindless final : AppBase
4544
std::unique_ptr<PipelineImGui> imguiPtr_;
4645

4746
std::unique_ptr<Scene> scene_;
48-
std::unique_ptr<Lights> lights_; // TODO Set as unique_ptr
47+
std::unique_ptr<ResourcesLight> resourcesLight_; // TODO Set as unique_ptr
4948

5049
float cubemapMipmapCount_;
5150
float modelRotation_;

HelloVulkan/Header/Apps/AppPBRClusterForward.h

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22
#define APP_PBR_CLUSTER_FORWARD
33

44
#include "AppBase.h"
5-
#include "VulkanImage.h"
6-
#include "Light.h"
5+
#include "ResourcesLight.h"
76
#include "Model.h"
8-
#include "IBLResources.h"
97

108
// Pipelines
119
#include "PipelineSkybox.h"
@@ -20,10 +18,9 @@
2018
#include "PipelinePBRClusterForward.h"
2119
#include "PipelineAABBGenerator.h"
2220
#include "PipelineLightCulling.h"
23-
#include "ClusterForwardBuffers.h"
21+
#include "ResourcesClusterForward.h"
2422

2523
// STL
26-
#include <vector>
2724
#include <memory>
2825

2926
/*
@@ -33,7 +30,7 @@ class AppPBRClusterForward final : AppBase
3330
{
3431
public:
3532
AppPBRClusterForward();
36-
int MainLoop() override;
33+
void MainLoop() override;
3734
void UpdateUBOs() override;
3835
void UpdateUI() override;
3936

@@ -44,24 +41,20 @@ class AppPBRClusterForward final : AppBase
4441
private:
4542
std::unique_ptr<PipelineClear> clearPtr_;
4643
std::unique_ptr<PipelineSkybox> skyboxPtr_;
47-
4844
std::unique_ptr<PipelineTonemap> tonemapPtr_;
4945
std::unique_ptr<PipelineFinish> finishPtr_;
5046
std::unique_ptr<PipelineResolveMS> resolveMSPtr_;
5147
std::unique_ptr<PipelineLightRender> lightPtr_;
5248
std::unique_ptr<PipelineImGui> imguiPtr_;
53-
5449
std::unique_ptr<PipelinePBRClusterForward> pbrPtr_;
5550
std::unique_ptr<PipelineAABBGenerator> aabbPtr_;
5651
std::unique_ptr<PipelineLightCulling> lightCullPtr_;
5752

58-
// Buffers for clustered forward shading
59-
std::unique_ptr<ClusterForwardBuffers> cfBuffers_;
53+
std::unique_ptr<ResourcesClusterForward> resCF_;
54+
std::unique_ptr<ResourcesLight> resLight_;
6055

6156
std::unique_ptr<Model> model_;
6257

63-
std::unique_ptr<Lights> lights_;
64-
6558
float cubemapMipmapCount_;
6659
};
6760

HelloVulkan/Header/Apps/AppPBRShadow.h

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22
#define APP_PBR_SHADOW_MAPPING
33

44
#include "AppBase.h"
5-
#include "VulkanImage.h"
6-
#include "Light.h"
75
#include "Scene.h"
8-
#include "IBLResources.h"
6+
#include "ResourcesShadow.h"
7+
#include "ResourcesLight.h"
98

109
// Pipelines
1110
#include "PipelineSkybox.h"
@@ -19,7 +18,6 @@
1918
#include "PipelineImGui.h"
2019

2120
// STL
22-
#include <vector>
2321
#include <memory>
2422

2523
/*
@@ -29,7 +27,7 @@ class AppPBRShadow final : AppBase
2927
{
3028
public:
3129
AppPBRShadow();
32-
int MainLoop() override;
30+
void MainLoop() override;
3331
void UpdateUBOs() override;
3432
void UpdateUI() override;
3533

@@ -48,17 +46,17 @@ class AppPBRShadow final : AppBase
4846
std::unique_ptr<PipelineLightRender> lightPtr_;
4947
std::unique_ptr<PipelineImGui> imguiPtr_;
5048

49+
std::unique_ptr<ResourcesLight> resLights_;
50+
std::unique_ptr<ResourcesShadow> resShadow_;
51+
5152
std::unique_ptr<Scene> scene_;
5253

53-
std::unique_ptr<Lights> lights_;
5454
ShadowMapUBO shadowUBO_;
55-
5655
float cubemapMipmapCount_;
5756

5857
float shadowNearPlane_;
5958
float shadowFarPlane_;
6059
uint32_t shadowMapSize_;
61-
std::unique_ptr<VulkanImage> shadowMap_;
6260
};
6361

6462
#endif

HelloVulkan/Header/Apps/AppPBRSlotBased.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22
#define APP_PBR_SLOT_BASED
33

44
#include "AppBase.h"
5-
#include "VulkanImage.h"
6-
#include "Light.h"
75
#include "Model.h"
8-
#include "IBLResources.h"
6+
#include "ResourcesLight.h"
97

108
// Pipelines
119
#include "PipelineSkybox.h"
@@ -18,7 +16,6 @@
1816
#include "PipelineImGui.h"
1917

2018
// STL
21-
#include <vector>
2219
#include <memory>
2320

2421
/*
@@ -28,7 +25,7 @@ class AppPBRSlotBased final : AppBase
2825
{
2926
public:
3027
AppPBRSlotBased();
31-
int MainLoop() override;
28+
void MainLoop() override;
3229
void UpdateUBOs() override;
3330
void UpdateUI() override;
3431

@@ -39,16 +36,15 @@ class AppPBRSlotBased final : AppBase
3936
private:
4037
std::unique_ptr<PipelineClear> clearPtr_;
4138
std::unique_ptr<PipelineSkybox> skyboxPtr_;
42-
4339
std::unique_ptr<PipelinePBRSlotBased> pbrPtr_;
4440
std::unique_ptr<PipelineTonemap> tonemapPtr_;
4541
std::unique_ptr<PipelineFinish> finishPtr_;
4642
std::unique_ptr<PipelineResolveMS> resolveMSPtr_;
4743
std::unique_ptr<PipelineLightRender> lightPtr_;
4844
std::unique_ptr<PipelineImGui> imguiPtr_;
4945

46+
std::unique_ptr<ResourcesLight> resLights_;
5047
std::unique_ptr<Model> model_;
51-
std::unique_ptr<Lights> lights_;
5248

5349
float cubemapMipmapCount_;
5450
float modelRotation_;

HelloVulkan/Header/Apps/AppSimpleRaytracing.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
#define APP_SIMPLE_RAYTRACING
33

44
#include "AppBase.h"
5-
#include "VulkanImage.h"
6-
#include "Model.h"
75

86
// Pipelines
97
#include "PipelineClear.h"
@@ -12,15 +10,14 @@
1210
#include "PipelineSimpleRaytracing.h"
1311

1412
// STL
15-
#include <vector>
1613
#include <memory>
1714

1815
class AppSimpleRaytracing final : AppBase
1916
{
2017
public:
2118
AppSimpleRaytracing();
2219

23-
int MainLoop() override;
20+
void MainLoop() override;
2421
void UpdateUBOs() override;
2522
void UpdateUI() override;
2623

HelloVulkan/Header/Camera.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include "glm/glm.hpp"
66

77
#include "Configs.h"
8-
#include "UBO.h"
8+
#include "UBOs.h"
99

1010
// TODO convert this to enum class
1111
enum class CameraMovement : uint8_t

HelloVulkan/Header/Mesh.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#include "VulkanContext.h"
55
#include "VulkanBuffer.h"
66
#include "TextureMapper.h"
7-
#include "UBO.h"
7+
#include "UBOs.h"
88

99
#include <vector>
1010
#include <unordered_map>

HelloVulkan/Header/Pipelines/PipelineAABBGenerator.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
#include "PipelineBase.h"
55
#include "VulkanContext.h"
6-
#include "ClusterForwardBuffers.h"
6+
#include "ResourcesClusterForward.h"
77
#include "Camera.h"
88
#include "Configs.h"
99

@@ -15,7 +15,7 @@ Clustered Forward
1515
class PipelineAABBGenerator final : public PipelineBase
1616
{
1717
public:
18-
PipelineAABBGenerator(VulkanContext& ctx, ClusterForwardBuffers* cfBuffers);
18+
PipelineAABBGenerator(VulkanContext& ctx, ResourcesClusterForward* resCF);
1919
~PipelineAABBGenerator();
2020

2121
void FillCommandBuffer(VulkanContext& ctx, VkCommandBuffer commandBuffer) override;
@@ -28,7 +28,7 @@ class PipelineAABBGenerator final : public PipelineBase
2828
}
2929

3030
private:
31-
ClusterForwardBuffers* cfBuffers_;
31+
ResourcesClusterForward* resCF_;
3232

3333
std::vector<VulkanBuffer> cfUBOBuffers_;
3434
std::array<VkDescriptorSet, AppConfig::FrameOverlapCount> descriptorSets_;

HelloVulkan/Header/Pipelines/PipelineBase.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include "VulkanDescriptor.h"
1111
#include "PipelineConfig.h"
1212
#include "Scene.h"
13-
#include "UBO.h"
13+
#include "UBOs.h"
1414

1515
#include <string>
1616

0 commit comments

Comments
 (0)