Skip to content

Graphics

Overview

I. Postmodern OpenGL 4 Series 后现代OpenGL4系列

虽然 OpenGL 在现代 Vulkan, DX12, Wgpu 大行其道势如破竹的时候,可能有些过时了。但它仍然是趁手的,对个体开发者有生产力的。
本系列讲介绍 GL4 高级特性。可能需具备 GL3 基础。

  1. All Draw Functions
    所有 Draw 函数,从基本的 glDrawArrays/Elements,到 MultiDraw, Instancing, Indirect, MultiDraw Indirect MDI, Transform Feedback..
  2. Shader Storage Buffer Objects. SSBOs
    SSBO 可用于shader之间传输(读/写)大量数据, 也可用于CPU和shader之间传输大量数据。
  3. Programmable Vertex Pulling with SSBOs
    摆脱 VBO, VAO, etc. 使用特制的数据格式,在着色器中手动解包数据
  4. Bindless Texture
    Bindless texture 允许 shader 直接通过 integer handle, (从SSBOs中)访问大量 textures, 而无需 bind texture unit.
  5. Compute Shader
    .
  6. MultiDraw Indirect. MDI
    MultiDraw 与 Indirect. Command 录制 & 多帧复用,实例。
  7. Tessellation Shader
    细分曲面
  8. Direct State Access. DSA
    性能对比,简要概述总结,和一些示例
Resoueces

II. Modern Graphics APIs

  1. Vulkan Review
    快速过一遍Vulkan 1000行的Hello Triangle
  2. OpenGL4 Review
    100行 OpenGL 4.6, Hello Triangle. GLFW+GLAD+Cpp20
  3. Wgpu Review
    快速过一遍Wgpu 200 行的 Hello Triangle。对比和 OpenGL, Vulkan 的性能。
  4. DirectX 12 Review
  5. DirectX 9 Review
  6. Comparison

  1. Vulkan 1.3 Dynamic Rendering
    使用DynamicRendering特性化繁为简,去除针对Tiling GPU的依赖,去除RenderPass Framebuffer
  2. DirectX 12 Task Graph
    DX12 TaskGraph 分析。

  1. Virtual Textures
  2. Render Graph
  3. Virtual Geometry(Nanite/Meshlet)

III. GFX

  1. Atmosphere (Rayleigh Scattering)
    大气Rayleigh散射渲染
  2. Volumetric Fog & Light
    体积雾
  3. Rectilinear Texture Warping Shadow Mapping. RTWSM
    结合EyeFish扭曲矫正,对比CSM联级阴影
  4. Volumetric Clouds
    体积云
  5. Isosurface + ComputeShader
    CS GPU端即时生成 Isosurface Mesh
  6. ComputeShader + Instancing Massive Stars Rendering nbodysim
    大量小行星渲染&积分
  7. RayMarching Voxels
  8. Skeleton Animation
Lighting Model

https://alain.xyz/blog/advances-in-material-models#lambertian