vault backup: 2024-10-08 19:50:49
This commit is contained in:
parent
4082426960
commit
fffce22833
@ -94,7 +94,7 @@ enum EColorWriteMask
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
### 混合运算
|
#### 混合运算
|
||||||
混合运算符对于颜色混合方程和Alpha混合方程效果是一样的,这里就只用颜色混合方程来做讲解。
|
混合运算符对于颜色混合方程和Alpha混合方程效果是一样的,这里就只用颜色混合方程来做讲解。
|
||||||
|
|
||||||
| BlendOperation | 颜色混合方程 |
|
| BlendOperation | 颜色混合方程 |
|
||||||
@ -106,7 +106,7 @@ enum EColorWriteMask
|
|||||||
| BO_Max | $$C = Max(C_{src} , C_{dst} )C=Max(Csrc,Cdst)$$ |
|
| BO_Max | $$C = Max(C_{src} , C_{dst} )C=Max(Csrc,Cdst)$$ |
|
||||||
| BO_Min和BO_Max忽略了混合因子 | |
|
| BO_Min和BO_Max忽略了混合因子 | |
|
||||||
|
|
||||||
### 混合因子
|
#### 混合因子
|
||||||
|
|
||||||
| BlendFactor | 颜色混合因子 | Alpha混合因子 |
|
| BlendFactor | 颜色混合因子 | Alpha混合因子 |
|
||||||
| ----------------------------- | ---------------------------------------------------------------- | ------------------------ |
|
| ----------------------------- | ---------------------------------------------------------------- | ------------------------ |
|
||||||
@ -134,10 +134,10 @@ TStaticDepthStencilState<
|
|||||||
bEnableDepthWrite, // 是否启用深度写入
|
bEnableDepthWrite, // 是否启用深度写入
|
||||||
DepthTest, // 深度测试比较函数
|
DepthTest, // 深度测试比较函数
|
||||||
bEnableFrontFaceStencil, // (正面)启用模板
|
bEnableFrontFaceStencil, // (正面)启用模板
|
||||||
FrontFaceStencilTest, // (正面)模板失败操作
|
FrontFaceStencilTest, // (正面)模板测试操作
|
||||||
FrontFaceStencilFailStencilOp, //(正面)模板测试失败时如何更新模板缓冲区
|
FrontFaceStencilFailStencilOp, //(正面)模板测试失败时如何更新模板缓冲区
|
||||||
FrontFaceDepthFailStencilOp, //(正面)深度测试失败时如何更新模板缓冲区
|
FrontFaceDepthFailStencilOp, //(正面)深度测试失败时如何更新模板缓冲区
|
||||||
FrontFacePassStencilOp, //(正面)通过模板测试时如何更新模板红冲去
|
FrontFacePassStencilOp, //(正面)通过模板测试时如何更新模板缓冲区
|
||||||
bEnableBackFaceStencil, // (背面)启用模板
|
bEnableBackFaceStencil, // (背面)启用模板
|
||||||
BackFaceStencilTest, // (背面)模板失败操作
|
BackFaceStencilTest, // (背面)模板失败操作
|
||||||
BackFaceStencilFailStencilOp, //(背面)模板测试失败时如何更新模板缓冲区
|
BackFaceStencilFailStencilOp, //(背面)模板测试失败时如何更新模板缓冲区
|
||||||
@ -148,6 +148,13 @@ TStaticDepthStencilState<
|
|||||||
>
|
>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```c++
|
||||||
|
//一般使用这个
|
||||||
|
TStaticDepthStencilState<true, CF_DepthNearOrEqual>::GetRHI();
|
||||||
|
//CustomStencil中使用的
|
||||||
|
TStaticDepthStencilState<true, CF_DepthNearOrEqual, true, CF_Always, SO_Keep, SO_Keep, SO_Replace, false, CF_Always, SO_Keep, SO_Keep, SO_Keep, 255, 255>::GetRHI()
|
||||||
|
```
|
||||||
|
|
||||||
#### DepthTest
|
#### DepthTest
|
||||||
深度测试比较函数。
|
深度测试比较函数。
|
||||||
```c++
|
```c++
|
||||||
@ -173,6 +180,23 @@ enum ECompareFunction
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```c++
|
||||||
|
enum EStencilOp
|
||||||
|
{
|
||||||
|
SO_Keep,
|
||||||
|
SO_Zero,
|
||||||
|
SO_Replace,
|
||||||
|
SO_SaturatedIncrement,
|
||||||
|
SO_SaturatedDecrement,
|
||||||
|
SO_Invert,
|
||||||
|
SO_Increment,
|
||||||
|
SO_Decrement,
|
||||||
|
|
||||||
|
EStencilOp_Num,
|
||||||
|
EStencilOp_NumBits = 3,
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
### CustomStencil
|
### CustomStencil
|
||||||
#### InitCustomDepthStencilContext()
|
#### InitCustomDepthStencilContext()
|
||||||
根据当前平台是否支持使用ComputeShader直接输出结果(bComputeExport)、以及是否写入Stencil缓存,以此来创建不同的资源。最终输出FCustomDepthContext。
|
根据当前平台是否支持使用ComputeShader直接输出结果(bComputeExport)、以及是否写入Stencil缓存,以此来创建不同的资源。最终输出FCustomDepthContext。
|
||||||
|
Loading…
x
Reference in New Issue
Block a user