EDIT: folder structure refactoring
This commit is contained in:
@@ -202,7 +202,7 @@ Benefits:
|
|||||||
- Integrated barrier management with other passes.
|
- Integrated barrier management with other passes.
|
||||||
- Per-frame synchronization tracking.
|
- Per-frame synchronization tracking.
|
||||||
|
|
||||||
Reference: `src/render/vk_renderpass_background.cpp`.
|
Reference: `src/render/passes/background.cpp`.
|
||||||
|
|
||||||
### Synchronization
|
### Synchronization
|
||||||
|
|
||||||
@@ -279,9 +279,9 @@ src/core/
|
|||||||
└── vk_resource.h/cpp # immediate_submit() for GPU-blocking
|
└── vk_resource.h/cpp # immediate_submit() for GPU-blocking
|
||||||
|
|
||||||
src/render/
|
src/render/
|
||||||
├── vk_renderpass_background.cpp # Example: gradient/sky compute passes
|
├── passes/background.cpp # Example: gradient/sky compute passes
|
||||||
├── rg_types.h # RGPassType::Compute, RGImageUsage::ComputeWrite
|
├── graph/types.h # RGPassType::Compute, RGImageUsage::ComputeWrite
|
||||||
└── rg_graph.h # Render graph integration
|
└── graph/graph.h # Render graph integration
|
||||||
|
|
||||||
shaders/
|
shaders/
|
||||||
├── gradient_color.comp # Example: gradient background
|
├── gradient_color.comp # Example: gradient background
|
||||||
|
|||||||
@@ -21,15 +21,15 @@ Lightweight render graph that builds a per‑frame DAG from pass declarations, c
|
|||||||
- `RenderGraph::add_pass(name, RGPassType type, BuildCallback build, RecordCallback record)`
|
- `RenderGraph::add_pass(name, RGPassType type, BuildCallback build, RecordCallback record)`
|
||||||
- Declare image/buffer accesses and attachments inside `build` using `RGPassBuilder`.
|
- Declare image/buffer accesses and attachments inside `build` using `RGPassBuilder`.
|
||||||
- Do your actual rendering/copies in `record` using resolved Vulkan objects from `RGPassResources`.
|
- Do your actual rendering/copies in `record` using resolved Vulkan objects from `RGPassResources`.
|
||||||
- See: `src/render/rg_graph.h:36`, `src/render/rg_graph.cpp:51`.
|
- See: `src/render/graph/graph.h:36`, `src/render/graph/graph.cpp:51`.
|
||||||
|
|
||||||
- `RenderGraph::compile()` → builds ordering and per‑pass `Vk*MemoryBarrier2` lists. See `src/render/rg_graph.cpp:83`.
|
- `RenderGraph::compile()` → builds ordering and per‑pass `Vk*MemoryBarrier2` lists. See `src/render/graph/graph.cpp:83`.
|
||||||
|
|
||||||
- `RenderGraph::execute(cmd)` → emits barriers and dynamic rendering begin/end. See `src/render/rg_graph.cpp:592`.
|
- `RenderGraph::execute(cmd)` → emits barriers and dynamic rendering begin/end. See `src/render/graph/graph.cpp:592`.
|
||||||
|
|
||||||
- Import helpers for engine images: `import_draw_image()`, `import_depth_image()`, `import_gbuffer_*()`, `import_swapchain_image(index)`. See `src/render/rg_graph.cpp:740`.
|
- Import helpers for engine images: `import_draw_image()`, `import_depth_image()`, `import_gbuffer_*()`, `import_swapchain_image(index)`. See `src/render/graph/graph.cpp:740`.
|
||||||
|
|
||||||
- Present chain: `add_present_chain(draw, swapchain, appendExtra)` inserts Copy→Present passes and lets you inject extra passes (e.g., ImGui) in between. See `src/render/rg_graph.cpp:705`.
|
- Present chain: `add_present_chain(draw, swapchain, appendExtra)` inserts Copy→Present passes and lets you inject extra passes (e.g., ImGui) in between. See `src/render/graph/graph.cpp:705`.
|
||||||
|
|
||||||
### Declaring a Pass
|
### Declaring a Pass
|
||||||
|
|
||||||
@@ -75,14 +75,14 @@ void MyPass::register_graph(RenderGraph* graph,
|
|||||||
- `read_buffer(RGBufferHandle, RGBufferUsage)` / `write_buffer(RGBufferHandle, RGBufferUsage)`.
|
- `read_buffer(RGBufferHandle, RGBufferUsage)` / `write_buffer(RGBufferHandle, RGBufferUsage)`.
|
||||||
- Convenience import: `read_buffer(VkBuffer, RGBufferUsage, size, name)` and `write_buffer(VkBuffer, ...)` dedup by raw handle.
|
- Convenience import: `read_buffer(VkBuffer, RGBufferUsage, size, name)` and `write_buffer(VkBuffer, ...)` dedup by raw handle.
|
||||||
|
|
||||||
See `src/render/rg_builder.h:39` and impl in `src/render/rg_builder.cpp:20`.
|
See `src/render/graph/builder.h:39` and impl in `src/render/graph/builder.cpp:20`.
|
||||||
|
|
||||||
### Resource Model (`RGResourceRegistry`)
|
### Resource Model (`RGResourceRegistry`)
|
||||||
|
|
||||||
- Imported vs transient resources are tracked uniformly with lifetime indices (`firstUse/lastUse`).
|
- Imported vs transient resources are tracked uniformly with lifetime indices (`firstUse/lastUse`).
|
||||||
- Imports are deduplicated by `VkImage`/`VkBuffer` and keep initial layout/stage/access as the starting state.
|
- Imports are deduplicated by `VkImage`/`VkBuffer` and keep initial layout/stage/access as the starting state.
|
||||||
- Transients are created via `ResourceManager` and auto‑destroyed at end of frame using the frame deletion queue.
|
- Transients are created via `ResourceManager` and auto‑destroyed at end of frame using the frame deletion queue.
|
||||||
- See `src/render/rg_resources.h:11` and `src/render/rg_resources.cpp:1`.
|
- See `src/render/graph/resources.h:11` and `src/render/graph/resources.cpp:1`.
|
||||||
|
|
||||||
### Synchronization and Layouts
|
### Synchronization and Layouts
|
||||||
|
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ Thin scene layer that produces `RenderObject`s for the renderer. It gathers opaq
|
|||||||
|
|
||||||
### Sorting / Culling
|
### Sorting / Culling
|
||||||
|
|
||||||
- Opaque (geometry): stable sort by `material` then `indexBuffer` (see `src/render/vk_renderpass_geometry.cpp`).
|
- Opaque (geometry): stable sort by `material` then `indexBuffer` (see `src/render/passes/geometry.cpp`).
|
||||||
- Transparent: sort by camera‑space depth far→near (see `src/render/vk_renderpass_transparent.cpp`).
|
- Transparent: sort by camera‑space depth far→near (see `src/render/passes/transparent.cpp`).
|
||||||
- An example frustum test exists in `vk_renderpass_geometry.cpp` (`is_visible`) and can be enabled to cull meshes.
|
- An example frustum test exists in `passes/geometry.cpp` (`is_visible`) and can be enabled to cull meshes.
|
||||||
|
|
||||||
### Dynamic Instances
|
### Dynamic Instances
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Overview
|
|||||||
- Materials: layouts use `UPDATE_AFTER_BIND`; descriptors can be rewritten after bind.
|
- Materials: layouts use `UPDATE_AFTER_BIND`; descriptors can be rewritten after bind.
|
||||||
- glTF loader: `src/scene/vk_loader.cpp` builds keys, requests handles, and registers descriptor patches with the cache.
|
- glTF loader: `src/scene/vk_loader.cpp` builds keys, requests handles, and registers descriptor patches with the cache.
|
||||||
- Primitives/adhoc: `src/core/asset_manager.cpp` builds materials and registers texture watches.
|
- Primitives/adhoc: `src/core/asset_manager.cpp` builds materials and registers texture watches.
|
||||||
- Visibility: `src/render/vk_renderpass_geometry.cpp` and `src/render/vk_renderpass_transparent.cpp` call `TextureCache::markSetUsed(...)` for sets that are actually drawn.
|
- Visibility: `src/render/passes/geometry.cpp` and `src/render/passes/transparent.cpp` call `TextureCache::markSetUsed(...)` for sets that are actually drawn.
|
||||||
- IBL: high‑dynamic‑range environment textures are typically loaded directly as `.ktx2` via `IBLManager` instead of the generic streaming cache. See “Image‑Based Lighting (IBL)” below.
|
- IBL: high‑dynamic‑range environment textures are typically loaded directly as `.ktx2` via `IBLManager` instead of the generic streaming cache. See “Image‑Based Lighting (IBL)” below.
|
||||||
|
|
||||||
Data Flow
|
Data Flow
|
||||||
@@ -114,6 +114,6 @@ Image‑Based Lighting (IBL) Textures
|
|||||||
- binding 1: `COMBINED_IMAGE_SAMPLER` — BRDF LUT 2D.
|
- binding 1: `COMBINED_IMAGE_SAMPLER` — BRDF LUT 2D.
|
||||||
- binding 2: `UNIFORM_BUFFER` — SH coefficients (`vec4 sh[9]`, RGB in `.xyz`).
|
- binding 2: `UNIFORM_BUFFER` — SH coefficients (`vec4 sh[9]`, RGB in `.xyz`).
|
||||||
- Render passes that use IBL fetch this layout from `EngineContext::ibl` and allocate per‑frame sets:
|
- Render passes that use IBL fetch this layout from `EngineContext::ibl` and allocate per‑frame sets:
|
||||||
- `vk_renderpass_lighting.cpp`: deferred lighting (set=3).
|
- `passes/lighting.cpp`: deferred lighting (set=3).
|
||||||
- `vk_renderpass_transparent.cpp`: forward/transparent PBR materials (set=3).
|
- `passes/transparent.cpp`: forward/transparent PBR materials (set=3).
|
||||||
- `vk_renderpass_background.cpp`: environment background (set=3; only binding 0 is used in the shader).
|
- `passes/background.cpp`: environment background (set=3; only binding 0 is used in the shader).
|
||||||
|
|||||||
@@ -45,35 +45,36 @@ add_executable (vulkan_engine
|
|||||||
core/ibl_manager.h
|
core/ibl_manager.h
|
||||||
core/ibl_manager.cpp
|
core/ibl_manager.cpp
|
||||||
# render
|
# render
|
||||||
render/vk_pipelines.h
|
render/pipelines.h
|
||||||
render/vk_pipelines.cpp
|
render/pipelines.cpp
|
||||||
render/vk_renderpass.h
|
render/renderpass.h
|
||||||
render/vk_renderpass.cpp
|
render/renderpass.cpp
|
||||||
render/vk_renderpass_background.h
|
render/materials.h
|
||||||
render/vk_renderpass_background.cpp
|
render/materials.cpp
|
||||||
render/vk_renderpass_geometry.h
|
|
||||||
render/vk_renderpass_geometry.cpp
|
|
||||||
render/vk_renderpass_lighting.h
|
|
||||||
render/vk_renderpass_lighting.cpp
|
|
||||||
render/vk_renderpass_shadow.h
|
|
||||||
render/vk_renderpass_shadow.cpp
|
|
||||||
render/vk_renderpass_transparent.h
|
|
||||||
render/vk_renderpass_transparent.cpp
|
|
||||||
render/vk_renderpass_imgui.h
|
|
||||||
render/vk_renderpass_imgui.cpp
|
|
||||||
render/vk_renderpass_tonemap.h
|
|
||||||
render/vk_renderpass_tonemap.cpp
|
|
||||||
# render graph (initial skeleton)
|
|
||||||
render/rg_types.h
|
|
||||||
render/rg_graph.h
|
|
||||||
render/rg_graph.cpp
|
|
||||||
render/rg_builder.h
|
|
||||||
render/rg_builder.cpp
|
|
||||||
render/rg_resources.h
|
|
||||||
render/rg_resources.cpp
|
|
||||||
render/vk_materials.h
|
|
||||||
render/vk_materials.cpp
|
|
||||||
render/primitives.h
|
render/primitives.h
|
||||||
|
# render passes
|
||||||
|
render/passes/background.h
|
||||||
|
render/passes/background.cpp
|
||||||
|
render/passes/geometry.h
|
||||||
|
render/passes/geometry.cpp
|
||||||
|
render/passes/lighting.h
|
||||||
|
render/passes/lighting.cpp
|
||||||
|
render/passes/shadow.h
|
||||||
|
render/passes/shadow.cpp
|
||||||
|
render/passes/transparent.h
|
||||||
|
render/passes/transparent.cpp
|
||||||
|
render/passes/imgui_pass.h
|
||||||
|
render/passes/imgui_pass.cpp
|
||||||
|
render/passes/tonemap.h
|
||||||
|
render/passes/tonemap.cpp
|
||||||
|
# render graph
|
||||||
|
render/graph/types.h
|
||||||
|
render/graph/graph.h
|
||||||
|
render/graph/graph.cpp
|
||||||
|
render/graph/builder.h
|
||||||
|
render/graph/builder.cpp
|
||||||
|
render/graph/resources.h
|
||||||
|
render/graph/resources.cpp
|
||||||
# scene
|
# scene
|
||||||
scene/vk_scene.h
|
scene/vk_scene.h
|
||||||
scene/vk_scene.cpp
|
scene/vk_scene.cpp
|
||||||
@@ -97,6 +98,8 @@ target_include_directories(vulkan_engine PUBLIC
|
|||||||
"${CMAKE_CURRENT_SOURCE_DIR}"
|
"${CMAKE_CURRENT_SOURCE_DIR}"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/core"
|
"${CMAKE_CURRENT_SOURCE_DIR}/core"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/render"
|
"${CMAKE_CURRENT_SOURCE_DIR}/render"
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/render/passes"
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/render/graph"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/scene"
|
"${CMAKE_CURRENT_SOURCE_DIR}/scene"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/compute"
|
"${CMAKE_CURRENT_SOURCE_DIR}/compute"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#include <compute/vk_compute.h>
|
#include <compute/vk_compute.h>
|
||||||
#include <core/engine_context.h>
|
#include <core/engine_context.h>
|
||||||
#include <render/vk_pipelines.h>
|
#include <render/pipelines.h>
|
||||||
#include <core/vk_initializers.h>
|
#include <core/vk_initializers.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#include <core/vk_engine.h>
|
#include <core/vk_engine.h>
|
||||||
#include <core/vk_resource.h>
|
#include <core/vk_resource.h>
|
||||||
#include <render/vk_materials.h>
|
#include <render/materials.h>
|
||||||
#include <render/primitives.h>
|
#include <render/primitives.h>
|
||||||
#include <scene/tangent_space.h>
|
#include <scene/tangent_space.h>
|
||||||
#include <scene/mesh_bvh.h>
|
#include <scene/mesh_bvh.h>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#include <scene/vk_loader.h>
|
#include <scene/vk_loader.h>
|
||||||
#include <core/vk_types.h>
|
#include <core/vk_types.h>
|
||||||
|
|
||||||
#include "vk_materials.h"
|
#include "materials.h"
|
||||||
#include "asset_locator.h"
|
#include "asset_locator.h"
|
||||||
|
|
||||||
class VulkanEngine;
|
class VulkanEngine;
|
||||||
|
|||||||
@@ -37,12 +37,12 @@
|
|||||||
#include "imgui.h"
|
#include "imgui.h"
|
||||||
#include "imgui_impl_sdl2.h"
|
#include "imgui_impl_sdl2.h"
|
||||||
#include "imgui_impl_vulkan.h"
|
#include "imgui_impl_vulkan.h"
|
||||||
#include "render/vk_renderpass_geometry.h"
|
#include "render/passes/geometry.h"
|
||||||
#include "render/vk_renderpass_imgui.h"
|
#include "render/passes/imgui_pass.h"
|
||||||
#include "render/vk_renderpass_lighting.h"
|
#include "render/passes/lighting.h"
|
||||||
#include "render/vk_renderpass_transparent.h"
|
#include "render/passes/transparent.h"
|
||||||
#include "render/vk_renderpass_tonemap.h"
|
#include "render/passes/tonemap.h"
|
||||||
#include "render/vk_renderpass_shadow.h"
|
#include "render/passes/shadow.h"
|
||||||
#include "vk_resource.h"
|
#include "vk_resource.h"
|
||||||
#include "engine_context.h"
|
#include "engine_context.h"
|
||||||
#include "core/vk_pipeline_manager.h"
|
#include "core/vk_pipeline_manager.h"
|
||||||
|
|||||||
@@ -16,12 +16,12 @@
|
|||||||
#include <scene/camera.h>
|
#include <scene/camera.h>
|
||||||
|
|
||||||
#include "vk_device.h"
|
#include "vk_device.h"
|
||||||
#include "render/vk_renderpass.h"
|
#include "render/renderpass.h"
|
||||||
#include "render/vk_renderpass_background.h"
|
#include "render/passes/background.h"
|
||||||
#include "vk_resource.h"
|
#include "vk_resource.h"
|
||||||
#include "vk_swapchain.h"
|
#include "vk_swapchain.h"
|
||||||
#include "scene/vk_scene.h"
|
#include "scene/vk_scene.h"
|
||||||
#include "render/vk_materials.h"
|
#include "render/materials.h"
|
||||||
|
|
||||||
#include "frame_resources.h"
|
#include "frame_resources.h"
|
||||||
#include "vk_descriptor_manager.h"
|
#include "vk_descriptor_manager.h"
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
#include "core/engine_context.h"
|
#include "core/engine_context.h"
|
||||||
#include "core/vk_pipeline_manager.h"
|
#include "core/vk_pipeline_manager.h"
|
||||||
#include "core/asset_manager.h"
|
#include "core/asset_manager.h"
|
||||||
#include "render/rg_graph.h"
|
#include "render/graph/graph.h"
|
||||||
#include "core/vk_raytracing.h"
|
#include "core/vk_raytracing.h"
|
||||||
#include "core/texture_cache.h"
|
#include "core/texture_cache.h"
|
||||||
#include "core/ibl_manager.h"
|
#include "core/ibl_manager.h"
|
||||||
|
|||||||
@@ -11,11 +11,11 @@
|
|||||||
|
|
||||||
#include "render/primitives.h"
|
#include "render/primitives.h"
|
||||||
#include "vk_mem_alloc.h"
|
#include "vk_mem_alloc.h"
|
||||||
#include "render/vk_renderpass_tonemap.h"
|
#include "render/passes/tonemap.h"
|
||||||
#include "render/vk_renderpass_background.h"
|
#include "render/passes/background.h"
|
||||||
#include <glm/gtx/euler_angles.hpp>
|
#include <glm/gtx/euler_angles.hpp>
|
||||||
#include <glm/gtc/matrix_transform.hpp>
|
#include <glm/gtc/matrix_transform.hpp>
|
||||||
#include "render/rg_graph.h"
|
#include "render/graph/graph.h"
|
||||||
#include "core/vk_pipeline_manager.h"
|
#include "core/vk_pipeline_manager.h"
|
||||||
#include "core/texture_cache.h"
|
#include "core/texture_cache.h"
|
||||||
#include "core/ibl_manager.h"
|
#include "core/ibl_manager.h"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
#include <core/engine_context.h>
|
#include <core/engine_context.h>
|
||||||
#include <core/vk_initializers.h>
|
#include <core/vk_initializers.h>
|
||||||
|
|
||||||
#include <render/vk_pipelines.h>
|
#include <render/pipelines.h>
|
||||||
#include <vk_device.h>
|
#include <vk_device.h>
|
||||||
|
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <core/vk_types.h>
|
#include <core/vk_types.h>
|
||||||
#include <render/vk_pipelines.h>
|
#include <render/pipelines.h>
|
||||||
#include <compute/vk_compute.h>
|
#include <compute/vk_compute.h>
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
#include "vk_initializers.h"
|
#include "vk_initializers.h"
|
||||||
|
|
||||||
#include "vk_mem_alloc.h"
|
#include "vk_mem_alloc.h"
|
||||||
#include <render/rg_graph.h>
|
#include <render/graph/graph.h>
|
||||||
#include <render/rg_builder.h>
|
#include <render/graph/builder.h>
|
||||||
#include <render/rg_resources.h>
|
#include <render/graph/resources.h>
|
||||||
|
|
||||||
#include "frame_resources.h"
|
#include "frame_resources.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#include <render/rg_builder.h>
|
#include "builder.h"
|
||||||
#include <render/rg_resources.h>
|
#include "resources.h"
|
||||||
|
|
||||||
// ---- RGPassResources ----
|
// ---- RGPassResources ----
|
||||||
VkImage RGPassResources::image(RGImageHandle h) const
|
VkImage RGPassResources::image(RGImageHandle h) const
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <render/rg_types.h>
|
#include <render/graph/types.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
class RGResourceRegistry;
|
class RGResourceRegistry;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include <render/rg_graph.h>
|
#include "graph.h"
|
||||||
#include <core/engine_context.h>
|
#include <core/engine_context.h>
|
||||||
#include <core/vk_images.h>
|
#include <core/vk_images.h>
|
||||||
#include <core/vk_initializers.h>
|
#include <core/vk_initializers.h>
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <core/vk_types.h>
|
#include <core/vk_types.h>
|
||||||
#include <render/rg_types.h>
|
#include <render/graph/types.h>
|
||||||
#include <render/rg_resources.h>
|
#include <render/graph/resources.h>
|
||||||
#include <render/rg_builder.h>
|
#include <render/graph/builder.h>
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <string>
|
#include <string>
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include <render/rg_resources.h>
|
#include "resources.h"
|
||||||
#include <core/engine_context.h>
|
#include <core/engine_context.h>
|
||||||
#include <core/vk_resource.h>
|
#include <core/vk_resource.h>
|
||||||
#include <vk_mem_alloc.h>
|
#include <vk_mem_alloc.h>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <core/vk_types.h>
|
#include <core/vk_types.h>
|
||||||
#include <render/rg_types.h>
|
#include <render/graph/types.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#include "vk_materials.h"
|
#include "materials.h"
|
||||||
|
|
||||||
#include "core/vk_engine.h"
|
#include "core/vk_engine.h"
|
||||||
#include "render/vk_pipelines.h"
|
#include "render/pipelines.h"
|
||||||
#include "core/vk_initializers.h"
|
#include "core/vk_initializers.h"
|
||||||
#include "core/vk_pipeline_manager.h"
|
#include "core/vk_pipeline_manager.h"
|
||||||
#include "core/asset_manager.h"
|
#include "core/asset_manager.h"
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "vk_renderpass_background.h"
|
#include "background.h"
|
||||||
#include <string_view>
|
#include <string_view>
|
||||||
|
|
||||||
#include "vk_swapchain.h"
|
#include "vk_swapchain.h"
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
#include "core/vk_resource.h"
|
#include "core/vk_resource.h"
|
||||||
#include "core/vk_pipeline_manager.h"
|
#include "core/vk_pipeline_manager.h"
|
||||||
#include "core/asset_manager.h"
|
#include "core/asset_manager.h"
|
||||||
#include "render/rg_graph.h"
|
#include "render/graph/graph.h"
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
#include "frame_resources.h"
|
#include "frame_resources.h"
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "vk_renderpass.h"
|
#include "render/renderpass.h"
|
||||||
#include "compute/vk_compute.h"
|
#include "compute/vk_compute.h"
|
||||||
#include "render/rg_types.h"
|
#include "render/graph/types.h"
|
||||||
|
|
||||||
class RenderGraph;
|
class RenderGraph;
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "vk_renderpass_geometry.h"
|
#include "geometry.h"
|
||||||
|
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
#include "vk_mem_alloc.h"
|
#include "vk_mem_alloc.h"
|
||||||
#include "vk_scene.h"
|
#include "vk_scene.h"
|
||||||
#include "vk_swapchain.h"
|
#include "vk_swapchain.h"
|
||||||
#include "render/rg_graph.h"
|
#include "render/graph/graph.h"
|
||||||
|
|
||||||
// Basic conservative frustum test against RenderObject AABB.
|
// Basic conservative frustum test against RenderObject AABB.
|
||||||
// Clip space uses Vulkan Z0 (0..w). Returns true if any part of the box is inside.
|
// Clip space uses Vulkan Z0 (0..w). Returns true if any part of the box is inside.
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "vk_renderpass.h"
|
#include "render/renderpass.h"
|
||||||
#include <render/rg_types.h>
|
#include <render/graph/types.h>
|
||||||
|
|
||||||
class SwapchainManager;
|
class SwapchainManager;
|
||||||
class RenderGraph;
|
class RenderGraph;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "vk_renderpass_imgui.h"
|
#include "imgui_pass.h"
|
||||||
|
|
||||||
#include "imgui.h"
|
#include "imgui.h"
|
||||||
#include "imgui_impl_sdl2.h"
|
#include "imgui_impl_sdl2.h"
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
#include "vk_swapchain.h"
|
#include "vk_swapchain.h"
|
||||||
#include "core/vk_initializers.h"
|
#include "core/vk_initializers.h"
|
||||||
#include "core/engine_context.h"
|
#include "core/engine_context.h"
|
||||||
#include "render/rg_graph.h"
|
#include "render/graph/graph.h"
|
||||||
|
|
||||||
void ImGuiPass::init(EngineContext *context)
|
void ImGuiPass::init(EngineContext *context)
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "vk_renderpass.h"
|
#include "render/renderpass.h"
|
||||||
#include "core/vk_types.h"
|
#include "core/vk_types.h"
|
||||||
#include <render/rg_types.h>
|
#include <render/graph/types.h>
|
||||||
|
|
||||||
class ImGuiPass : public IRenderPass
|
class ImGuiPass : public IRenderPass
|
||||||
{
|
{
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "vk_renderpass_lighting.h"
|
#include "lighting.h"
|
||||||
|
|
||||||
#include "frame_resources.h"
|
#include "frame_resources.h"
|
||||||
#include "vk_descriptor_manager.h"
|
#include "vk_descriptor_manager.h"
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
#include "core/engine_context.h"
|
#include "core/engine_context.h"
|
||||||
#include "core/vk_initializers.h"
|
#include "core/vk_initializers.h"
|
||||||
#include "core/vk_resource.h"
|
#include "core/vk_resource.h"
|
||||||
#include "render/vk_pipelines.h"
|
#include "render/pipelines.h"
|
||||||
#include "core/vk_pipeline_manager.h"
|
#include "core/vk_pipeline_manager.h"
|
||||||
#include "core/asset_manager.h"
|
#include "core/asset_manager.h"
|
||||||
#include "core/vk_descriptors.h"
|
#include "core/vk_descriptors.h"
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
#include "vk_mem_alloc.h"
|
#include "vk_mem_alloc.h"
|
||||||
#include "vk_sampler_manager.h"
|
#include "vk_sampler_manager.h"
|
||||||
#include "vk_swapchain.h"
|
#include "vk_swapchain.h"
|
||||||
#include "render/rg_graph.h"
|
#include "render/graph/graph.h"
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "vk_renderpass.h"
|
#include "render/renderpass.h"
|
||||||
#include <render/rg_types.h>
|
#include <render/graph/types.h>
|
||||||
#include <span>
|
#include <span>
|
||||||
|
|
||||||
class LightingPass : public IRenderPass
|
class LightingPass : public IRenderPass
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
#include "vk_renderpass_shadow.h"
|
#include "shadow.h"
|
||||||
|
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "core/engine_context.h"
|
#include "core/engine_context.h"
|
||||||
#include "render/rg_graph.h"
|
#include "render/graph/graph.h"
|
||||||
#include "render/rg_builder.h"
|
#include "render/graph/builder.h"
|
||||||
#include "vk_swapchain.h"
|
#include "vk_swapchain.h"
|
||||||
#include "vk_scene.h"
|
#include "vk_scene.h"
|
||||||
#include "frame_resources.h"
|
#include "frame_resources.h"
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
#include "core/vk_initializers.h"
|
#include "core/vk_initializers.h"
|
||||||
#include "core/vk_pipeline_manager.h"
|
#include "core/vk_pipeline_manager.h"
|
||||||
#include "core/asset_manager.h"
|
#include "core/asset_manager.h"
|
||||||
#include "render/vk_pipelines.h"
|
#include "render/pipelines.h"
|
||||||
#include "core/vk_types.h"
|
#include "core/vk_types.h"
|
||||||
#include "core/config.h"
|
#include "core/config.h"
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "vk_renderpass.h"
|
#include "render/renderpass.h"
|
||||||
#include <render/rg_types.h>
|
#include <render/graph/types.h>
|
||||||
#include <span>
|
#include <span>
|
||||||
|
|
||||||
class RenderGraph;
|
class RenderGraph;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "vk_renderpass_tonemap.h"
|
#include "tonemap.h"
|
||||||
|
|
||||||
#include <core/engine_context.h>
|
#include <core/engine_context.h>
|
||||||
#include <core/vk_descriptors.h>
|
#include <core/vk_descriptors.h>
|
||||||
@@ -8,8 +8,8 @@
|
|||||||
#include <core/vk_device.h>
|
#include <core/vk_device.h>
|
||||||
#include <core/vk_resource.h>
|
#include <core/vk_resource.h>
|
||||||
#include <vk_sampler_manager.h>
|
#include <vk_sampler_manager.h>
|
||||||
#include <render/rg_graph.h>
|
#include <render/graph/graph.h>
|
||||||
#include <render/rg_resources.h>
|
#include <render/graph/resources.h>
|
||||||
|
|
||||||
#include "frame_resources.h"
|
#include "frame_resources.h"
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <core/vk_types.h>
|
#include <core/vk_types.h>
|
||||||
#include <render/vk_renderpass.h>
|
#include <render/renderpass.h>
|
||||||
#include <render/rg_types.h>
|
#include <render/graph/types.h>
|
||||||
|
|
||||||
class EngineContext;
|
class EngineContext;
|
||||||
class RenderGraph;
|
class RenderGraph;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "vk_renderpass_transparent.h"
|
#include "transparent.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
#include "core/vk_device.h"
|
#include "core/vk_device.h"
|
||||||
#include "core/vk_descriptor_manager.h"
|
#include "core/vk_descriptor_manager.h"
|
||||||
#include "core/frame_resources.h"
|
#include "core/frame_resources.h"
|
||||||
#include "render/rg_graph.h"
|
#include "render/graph/graph.h"
|
||||||
|
|
||||||
void TransparentPass::init(EngineContext *context)
|
void TransparentPass::init(EngineContext *context)
|
||||||
{
|
{
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "vk_renderpass.h"
|
#include "render/renderpass.h"
|
||||||
#include "render/rg_types.h"
|
#include "render/graph/types.h"
|
||||||
|
|
||||||
class TransparentPass : public IRenderPass
|
class TransparentPass : public IRenderPass
|
||||||
{
|
{
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include <render/vk_pipelines.h>
|
#include "pipelines.h"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <core/vk_initializers.h>
|
#include <core/vk_initializers.h>
|
||||||
|
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
#include "vk_renderpass.h"
|
#include "renderpass.h"
|
||||||
|
|
||||||
#include "vk_renderpass_background.h"
|
#include "passes/background.h"
|
||||||
#include "vk_renderpass_geometry.h"
|
#include "passes/geometry.h"
|
||||||
#include "vk_renderpass_imgui.h"
|
#include "passes/imgui_pass.h"
|
||||||
#include "vk_renderpass_lighting.h"
|
#include "passes/lighting.h"
|
||||||
#include "vk_renderpass_transparent.h"
|
#include "passes/transparent.h"
|
||||||
#include "vk_renderpass_tonemap.h"
|
#include "passes/tonemap.h"
|
||||||
#include "vk_renderpass_shadow.h"
|
#include "passes/shadow.h"
|
||||||
|
|
||||||
void RenderPassManager::init(EngineContext *context)
|
void RenderPassManager::init(EngineContext *context)
|
||||||
{
|
{
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
#include "core/texture_cache.h"
|
#include "core/texture_cache.h"
|
||||||
|
|
||||||
#include "core/vk_engine.h"
|
#include "core/vk_engine.h"
|
||||||
#include "render/vk_materials.h"
|
#include "render/materials.h"
|
||||||
#include "core/vk_initializers.h"
|
#include "core/vk_initializers.h"
|
||||||
#include "core/vk_types.h"
|
#include "core/vk_types.h"
|
||||||
#include "core/config.h"
|
#include "core/config.h"
|
||||||
|
|||||||
Reference in New Issue
Block a user