Skip to content

Latest commit

 

History

History
77 lines (63 loc) · 2.37 KB

README.md

File metadata and controls

77 lines (63 loc) · 2.37 KB

RenderPipeline

RenderPipeline is an open-source implementation of the book 'Real-Time Graphics Rendering Engine' (《实时图形绘制引擎技术》) framework.

Table of contents

Overview

  • graphic: vulkan
  • framework: render pipeline

Resource

  • vulkan: C++ examples for the Vulkan graphics API.
  • vulkan tutorial: Tutorial for the Vulkan graphics and compute API.
  • vulkan 3dgs: Vulkan-based Gaussian Splatting viewer.
  • tinygltf: Header only C++11 tiny glTF 2.0 library
  • tinyobjloader: Tiny but powerful single file wavefront obj loader

Todo

vulkan

  • Device: VkInstance, VkPhysicalDevice, VkDevice, VkQueue
  • Swapchain: VkSwapchainKHR, VkImage, VkImageView, VkFramebuffer, VkRenderPass
  • Texture: VkImage, VkImageView, VkDeviceMemory, VkSampler
  • Buffer: VkBuffer, VkDeviceMemory
  • Graphic Pipeline: VkPipeline, VkPipelineLayout, VkDescriptorSetLayout, VkDescriptorSet, VkShaderModule
  • Computer Pipeline: VkPipeline, VkPipelineLayout, VkDescriptorSetLayout

framework

  • RenderPipeline
  • PreRender
    • NodeClassify
  • RenderModule
  • RenderQueue
  • RenderTarget
  • RHIResource, RHIResourceManager
  • Scene, SGNode, MeshBuilder, Mesh, Material
    • MeshBuilder
    • SceneBuilder

model files

  • obj
  • gltf
  • 3dgs
    • Load .splat file
    • projection, drawing quad
    • sort splat, color blending
    • optimize: computer shader parser

samples

  • model
  • 3dgs
  • ray tracer

Architecture

RenderEngine


RenderUnit


PreRender


RenderPipeline


Samples