vault backup: 2024-10-16 15:26:06
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
---
|
||||
title: Untitled
|
||||
date: 2024-10-16 14:39:40
|
||||
excerpt:
|
||||
tags:
|
||||
rating: ⭐
|
||||
---
|
||||
# 前言
|
||||
|
||||
# Stencil相关
|
||||
BasePass:绘制Stencil
|
||||
=>
|
||||
CopyStencilToLightingChannels
|
||||
=>
|
||||
ClearStencil (SceneDepthZ) :清空深度缓存中的Stencil
|
||||
|
||||
## BasePass
|
||||
BasePass中进行LIGHTING_CHANNELS、DISTANCE_FIELD_REPRESENTATION、贴花方面的Mask Bit计算,设置到深度缓存的Stencil上。
|
||||
```c++
|
||||
template<bool bDepthTest, ECompareFunction CompareFunction>
|
||||
void SetDepthStencilStateForBasePass_Internal(FMeshPassProcessorRenderState& InDrawRenderState, ERHIFeatureLevel::Type FeatureLevel)
|
||||
{
|
||||
const static bool bStrataDufferPassEnabled = Strata::IsStrataEnabled() && Strata::IsDBufferPassEnabled(GShaderPlatformForFeatureLevel[FeatureLevel]);
|
||||
if (bStrataDufferPassEnabled)
|
||||
{
|
||||
SetDepthStencilStateForBasePass_Internal<bDepthTest, CompareFunction, GET_STENCIL_BIT_MASK(STRATA_RECEIVE_DBUFFER_NORMAL, 1) | GET_STENCIL_BIT_MASK(STRATA_RECEIVE_DBUFFER_DIFFUSE, 1) | GET_STENCIL_BIT_MASK(STRATA_RECEIVE_DBUFFER_ROUGHNESS, 1) | GET_STENCIL_BIT_MASK(DISTANCE_FIELD_REPRESENTATION, 1) | STENCIL_LIGHTING_CHANNELS_MASK(0x7)>(InDrawRenderState);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetDepthStencilStateForBasePass_Internal<bDepthTest, CompareFunction, GET_STENCIL_BIT_MASK(RECEIVE_DECAL, 1) | GET_STENCIL_BIT_MASK(DISTANCE_FIELD_REPRESENTATION, 1) | STENCIL_LIGHTING_CHANNELS_MASK(0x7)>(InDrawRenderState);
|
||||
}
|
||||
}
|
||||
```
|
@@ -92,9 +92,10 @@ rating: ⭐⭐⭐
|
||||
4. [x] fix 模型勾选渲染CustomDepth才能正常渲染的bug
|
||||
5. [x] fix 开启一个模型的CustomDepth会让其他ToonStandard模型开启CustomDepth写入。(将CustomDepth写入 => Depth写入)
|
||||
6. [x] 深度剔除bug解决
|
||||
7. [ ] TODO:确认VR中的运行结果是否正确?
|
||||
8. [ ] TODO:Nanite模型支持。
|
||||
9. [ ] TODO:另一种思路定点内扩+Stencil的方式渲染内描边?
|
||||
7. [ ] 添加Stencil作为判定Mask,在后处理中处理完之后再进行Clear。ClearStencil()
|
||||
8. [ ] TODO:确认VR中的运行结果是否正确?
|
||||
9. [ ] TODO:Nanite模型支持。
|
||||
10. [ ] TODO:另一种思路定点内扩+Stencil的方式渲染内描边?
|
||||
4. [ ] TODO:RayTacing描边方法。
|
||||
7. [ ] ToonPostProcess
|
||||
1. [ ] ToonBloom
|
||||
|
Reference in New Issue
Block a user