实现全屏四边形 Ray Marching 体积渲染基础

步骤 1 完成:
1. 创建全屏四边形顶点数据
2. 实现 Ray Marching 着色器:
   - 从相机发射光线
   - 光线与边界框相交检测
   - 固定密度采样
   - Alpha 混合输出
3. 添加 CreateQuadPSO 函数
4. 更新渲染管线

验证结果:
- 整个背景变成淡蓝色
- Ray marching 基础逻辑工作正常
This commit is contained in:
2026-03-11 20:52:56 +08:00
parent 1e8c3710a5
commit 859b851842
4 changed files with 161 additions and 33 deletions

View File

@@ -24,6 +24,8 @@ ID3D12PipelineState* CreatePSO(ID3D12RootSignature* inID3D12RootSignature,
D3D12_SHADER_BYTECODE inGSShader);
ID3D12PipelineState* CreateVolumePSO(ID3D12RootSignature* inID3D12RootSignature,
D3D12_SHADER_BYTECODE inVertexShader, D3D12_SHADER_BYTECODE inPixelShader);
ID3D12PipelineState* CreateQuadPSO(ID3D12RootSignature* inID3D12RootSignature,
D3D12_SHADER_BYTECODE inVertexShader, D3D12_SHADER_BYTECODE inPixelShader);
bool InitD3D12(HWND inHWND, int inWidth, int inHeight);
ID3D12GraphicsCommandList* GetCommandList();
ID3D12CommandAllocator* GetCommandAllocator();