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
    Compute Shader 独立于渲染管线,可用于并行计算。本文介绍了 Compute Space (WorkGroups, LocalSizes), Invocations, Barriers, Dispatch 等基本概念
  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