vault backup: 2024-10-22 17:22:11

This commit is contained in:
BlueRose 2024-10-22 17:22:11 +08:00
parent f1bd2a3926
commit 472cca130e
3 changed files with 37 additions and 2 deletions

View File

@ -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}}}}

View File

@ -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播放函数。

View File

@ -5,15 +5,41 @@ excerpt:
tags: tags:
rating: ⭐ rating: ⭐
--- ---
# FFT
# Bloom # Bloom
Bloom主要分 Bloom主要分
- Bloom - Bloom
- FFTBloom - FFTBloom
- LensFlares - LensFlares
BloomThresholdClampMin = "-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)效果】