Vulkan-only Renderer

image.png

Scene / ECS / Application
    ↓
SceneRenderer / Renderer2D / DebugRenderer
    ↓
Renderer 静态门面
    ↓
RendererAPI
    ↓
Pipeline / RenderPass / ComputePass / Framebuffer / Buffer / Texture / Image
    ↓
Vulkan 实现
高层渲染系统:
    SceneRenderer.h
    Renderer2D.h
    DebugRenderer.h
    SceneEnvironment.h

全局渲染入口:
    Renderer.h
    RendererAPI.h
    RendererContext.h

渲染资源抽象:
    Texture.h
    Image.h
    Framebuffer.h
    VertexBuffer.h
    IndexBuffer.h
    UniformBuffer.h
    StorageBuffer.h

Pipeline / Pass 抽象:
    Pipeline.h
    PipelineCompute.h
    RenderPass.h
    ComputePass.h

材质与 Shader:
    Shader.h
    ShaderUniform.h
    ShaderPack.h
    ShaderDefs.h
    Material.h
    MaterialAsset.h

Mesh 与资产:
    Mesh.h
    MeshFactory.h

命令与多线程:
    RenderCommandBuffer.h
    RenderCommandQueue.h

RHI

RendererAPI
RendererContext
RenderCommandBuffer
Framebuffer
Image
Texture
VertexBuffer
IndexBuffer
UniformBuffer
StorageBuffer
Pipeline
PipelineCompute
RenderPass
ComputePass