vault backup: 2024-10-22 17:22:11
This commit is contained in:
parent
f1bd2a3926
commit
472cca130e
@ -1 +1 @@
|
|||||||
{"582020846":{"582020846":{"currentFile":{"count":1,"lastUpdated":1727792069567}}},"根据bComputeExport,分别使用RDG的ComputeShader与PixelShader输出DepthStencil。":{"根据bComputeExport,分别使用RDG的ComputeShader与PixelShader输出DepthStencil。":{"currentFile":{"count":1,"lastUpdated":1727249472660}}},"MeshDraw":{"MeshDraw":{"internalLink":{"count":1,"lastUpdated":1727260163677}}},"实现了一个在屏幕空间宽度恒定的":{"实现了一个在屏幕空间宽度恒定的":{"currentFile":{"count":1,"lastUpdated":1728700795488}}},"TsDirectorCamManagerActor":{"TsDirectorCamManagerActor":{"currentFile":{"count":1,"lastUpdated":1729139925413}}},"Bloom":{"Bloom":{"currentFile":{"count":1,"lastUpdated":1729490733473}}}}
|
{"582020846":{"582020846":{"currentFile":{"count":1,"lastUpdated":1727792069567}}},"根据bComputeExport,分别使用RDG的ComputeShader与PixelShader输出DepthStencil。":{"根据bComputeExport,分别使用RDG的ComputeShader与PixelShader输出DepthStencil。":{"currentFile":{"count":1,"lastUpdated":1727249472660}}},"MeshDraw":{"MeshDraw":{"internalLink":{"count":1,"lastUpdated":1727260163677}}},"实现了一个在屏幕空间宽度恒定的":{"实现了一个在屏幕空间宽度恒定的":{"currentFile":{"count":1,"lastUpdated":1728700795488}}},"TsDirectorCamManagerActor":{"TsDirectorCamManagerActor":{"currentFile":{"count":1,"lastUpdated":1729139925413}}},"Bloom":{"Bloom":{"currentFile":{"count":1,"lastUpdated":1729490733473}}},"FBloomFinalizeApplyConstantsCS":{"FBloomFinalizeApplyConstantsCS":{"currentFile":{"count":1,"lastUpdated":1729584275683}}},"解决NaiLin高跟":{"解决NaiLin高跟":{"currentFile":{"count":1,"lastUpdated":1729587089926}}}}
|
@ -9,4 +9,6 @@
|
|||||||
# 10.21~10.26
|
# 10.21~10.26
|
||||||
1. 给运营与导播部署共享盘。
|
1. 给运营与导播部署共享盘。
|
||||||
2. 使用闲置路由器测试为什么飞书无法进行局域网传文件的问题。
|
2. 使用闲置路由器测试为什么飞书无法进行局域网传文件的问题。
|
||||||
3. 解决NaiLin高跟 <=>切换的问题
|
3. 解决NaiLin高跟 <=>切换的问题。
|
||||||
|
4. 解决SiNuo、XinYi ChaosBone 无法Igone RootMotion问题。
|
||||||
|
5. 添加Native 控制VJ播放函数。
|
@ -5,15 +5,41 @@ excerpt:
|
|||||||
tags:
|
tags:
|
||||||
rating: ⭐
|
rating: ⭐
|
||||||
---
|
---
|
||||||
|
# FFT
|
||||||
|
|
||||||
# Bloom
|
# Bloom
|
||||||
Bloom主要分
|
Bloom主要分
|
||||||
- Bloom
|
- Bloom
|
||||||
- FFTBloom
|
- FFTBloom
|
||||||
- LensFlares
|
- LensFlares
|
||||||
|
|
||||||
|
|
||||||
|
BloomThreshold,ClampMin = "-1.0", UIMax = "8.0"。
|
||||||
|
相关逻辑位于:
|
||||||
|
```c++
|
||||||
|
if (bBloomSetupRequiredEnabled)
|
||||||
|
{
|
||||||
|
const float BloomThreshold = View.FinalPostProcessSettings.BloomThreshold;
|
||||||
|
|
||||||
|
FBloomSetupInputs SetupPassInputs;
|
||||||
|
SetupPassInputs.SceneColor = DownsampleInput;
|
||||||
|
SetupPassInputs.EyeAdaptationBuffer = EyeAdaptationBuffer;
|
||||||
|
SetupPassInputs.EyeAdaptationParameters = &EyeAdaptationParameters;
|
||||||
|
SetupPassInputs.LocalExposureParameters = &LocalExposureParameters;
|
||||||
|
SetupPassInputs.LocalExposureTexture = CVarBloomApplyLocalExposure.GetValueOnRenderThread() ? LocalExposureTexture : nullptr;
|
||||||
|
SetupPassInputs.BlurredLogLuminanceTexture = LocalExposureBlurredLogLumTexture;
|
||||||
|
SetupPassInputs.Threshold = BloomThreshold;
|
||||||
|
SetupPassInputs.ToonThreshold = View.FinalPostProcessSettings.ToonBloomThreshold;
|
||||||
|
|
||||||
|
DownsampleInput = AddBloomSetupPass(GraphBuilder, View, SetupPassInputs);
|
||||||
|
}
|
||||||
|
```
|
||||||
## FFTBloom
|
## FFTBloom
|
||||||
***普通Bloom算法只能做到圆形光斑,对于自定义形状的就需要使用FFTBloom。***
|
***普通Bloom算法只能做到圆形光斑,对于自定义形状的就需要使用FFTBloom。***
|
||||||
|
|
||||||
|
- FFT Bloom:https://zhuanlan.zhihu.com/p/611582936
|
||||||
|
- Unity FFT Bloom:https://github.com/AKGWSB/FFTConvolutionBloom
|
||||||
|
|
||||||
### 频域与卷积定理
|
### 频域与卷积定理
|
||||||
图像可以视为二维的信号,而一个信号可以通过 **不同频率** 的 Sine & Cosine 函数的线性叠加来近似得到。对于每个频率的函数,我们乘以一个常数振幅并叠加到最终的结果上,这些振幅叫做 **频谱**。值得注意的是所有的 F_k 都是 **复数**:
|
图像可以视为二维的信号,而一个信号可以通过 **不同频率** 的 Sine & Cosine 函数的线性叠加来近似得到。对于每个频率的函数,我们乘以一个常数振幅并叠加到最终的结果上,这些振幅叫做 **频谱**。值得注意的是所有的 F_k 都是 **复数**:
|
||||||
|
|
||||||
@ -23,6 +49,13 @@ Bloom主要分
|
|||||||
一一对位的乘法速度是远远快于需要循环累加的朴素卷积操作。因此接下来我们的目标就是找到一种方法,建立图像信号与其频域之间的联系。在通信领域通常使用傅里叶变换来进行信号的频、时域转换
|
一一对位的乘法速度是远远快于需要循环累加的朴素卷积操作。因此接下来我们的目标就是找到一种方法,建立图像信号与其频域之间的联系。在通信领域通常使用傅里叶变换来进行信号的频、时域转换
|
||||||
|
|
||||||
### 相关代码
|
### 相关代码
|
||||||
|
- c++
|
||||||
|
- AddFFTBloomPass()
|
||||||
|
- FBloomFinalizeApplyConstantsCS (Bloom计算完成)
|
||||||
|
- AddTonemapPass(),PassInputs.Bloom = Bloom与PassInputs.SceneColorApplyParamaters
|
||||||
|
- Shader
|
||||||
|
-
|
||||||
|
|
||||||
**FBloomFindKernelCenterCS**:用于找到Bloom效果的核(Kernel)中心(纹理中找到最亮的像素)。用于在一个,并记录其位置。主要通过计算Luminance来获取到中心区域,而在这里的中心区域可以有多个,这也代表着在最终输出的SceneColor里可以有多个【曝点光晕(Bloom)效果】
|
**FBloomFindKernelCenterCS**:用于找到Bloom效果的核(Kernel)中心(纹理中找到最亮的像素)。用于在一个,并记录其位置。主要通过计算Luminance来获取到中心区域,而在这里的中心区域可以有多个,这也代表着在最终输出的SceneColor里可以有多个【曝点光晕(Bloom)效果】
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user