当前位置:网站首页>Project training of Shandong University rendering engine system (V)
Project training of Shandong University rendering engine system (V)
2022-06-12 16:23:00 【Grey Cluster】
Catalog
Yes NRD SDK Some variables rewrite the initial value
take dict Medium value Assign to corresponding key Value settings
Project introduction
NRD
full name Nvidia Real-time Denoiser , It is a spatiotemporal dual domain noise reduction library being developed by NVIDIA , Designed to deal with low RPP(ray per pixel) The signal .
The graphics of this technology API The environment is :DirectX11、DirectX12 as well as Vulkun. There are three integration methods , One way is to use Nvidia Of NRI(NVIDIA Rendering Interface) Package the above three API, To integrate .
Project objectives
stay Falcor Integration under the framework nrd.
Work at current stage
Write constructors NRDPass()
NRDPass::NRDPass(const Dictionary& dict)
Pass in the parameter Dictionary
Set member variables
Program::DefineList definesRelax;
definesRelax.add("NRD_USE_OCT_NORMAL_ENCODING", "1");
definesRelax.add("NRD_USE_MATERIAL_ID", "0");
definesRelax.add("NRD_METHOD", "0");
mpPackRadiancePassRelax = ComputePass::create(kShaderPackRadiance, "main", definesRelax);
Program::DefineList definesReblur;
definesReblur.add("NRD_USE_OCT_NORMAL_ENCODING", "1");
definesReblur.add("NRD_USE_MATERIAL_ID", "0");
definesReblur.add("NRD_METHOD", "1");
mpPackRadiancePassReblur = ComputePass::create(kShaderPackRadiance, "main", definesReblur);Yes NRD SDK Some variables rewrite the initial value
mRelaxDiffuseSpecularSettings.diffusePrepassBlurRadius = 16.0f;
mRelaxDiffuseSpecularSettings.specularPrepassBlurRadius = 16.0f;
mRelaxDiffuseSpecularSettings.diffuseMaxFastAccumulatedFrameNum = 2;
mRelaxDiffuseSpecularSettings.specularMaxFastAccumulatedFrameNum = 2;
mRelaxDiffuseSpecularSettings.diffuseLobeAngleFraction = 0.8f;
mRelaxDiffuseSpecularSettings.disocclusionFixMaxRadius = 32.0f;
mRelaxDiffuseSpecularSettings.enableSpecularVirtualHistoryClamping = false;
mRelaxDiffuseSpecularSettings.disocclusionFixNumFramesToFix = 4;
mRelaxDiffuseSpecularSettings.spatialVarianceEstimationHistoryThreshold = 4;
mRelaxDiffuseSpecularSettings.atrousIterationNum = 6;
mRelaxDiffuseSpecularSettings.depthThreshold = 0.02f;
mRelaxDiffuseSpecularSettings.roughnessFraction = 0.5f;
mRelaxDiffuseSpecularSettings.specularLobeAngleFraction = 0.9f;
mRelaxDiffuseSpecularSettings.specularLobeAngleSlack = 10.0f;
mRelaxDiffuseSettings.prepassBlurRadius = 16.0f;
mRelaxDiffuseSettings.diffuseMaxFastAccumulatedFrameNum = 2;
mRelaxDiffuseSettings.diffuseLobeAngleFraction = 0.8f;
mRelaxDiffuseSettings.disocclusionFixMaxRadius = 32.0f;
mRelaxDiffuseSettings.disocclusionFixNumFramesToFix = 4;
mRelaxDiffuseSettings.spatialVarianceEstimationHistoryThreshold = 4;
mRelaxDiffuseSettings.atrousIterationNum = 6;
mRelaxDiffuseSettings.depthThreshold = 0.02f;take dict Medium value Assign to corresponding key Value settings
for (const auto& [key, value] : dict)
{
if (key == kEnabled) mEnabled = value;
else if (key == kMethod) mDenoisingMethod = value;
// Common settings.
else if (key == kWorldSpaceMotion) mWorldSpaceMotion = value;
else if (key == kDisocclusionThreshold) mDisocclusionThreshold = value;
// Pack radiance settings.
else if (key == kMaxIntensity) mMaxIntensity = value;
// ReLAX diffuse/specular settings.
else if (mDenoisingMethod == DenoisingMethod::RelaxDiffuseSpecular || mDenoisingMethod == DenoisingMethod::ReblurDiffuseSpecular)
{
Length is too long , Don't show
}
else if (mDenoisingMethod == DenoisingMethod::RelaxDiffuse)
{
Length is too long , Don't show
}
else
{
logWarning("Unknown field '{}' in NRD dictionary.", key);
}边栏推荐
- Page class of puppeter
- Global and Chinese market for material injection 2022-2028: Research Report on technology, participants, trends, market size and share
- Acwing 797 differential
- Global and Chinese market of medical ECG telemetry equipment 2022-2028: Research Report on technology, participants, trends, market size and share
- Acwing794 high precision Division
- <山东大学项目实训>渲染引擎系统(六)
- 面试:‘==‘与equals()之间的区别
- 1.delete
- generate pivot data 2
- use. Net upgrade assistant upgrades the net core 3.1 project to NET 6
猜你喜欢

Gopher to rust hot eye grammar ranking

Servlet API

Read MHD and raw images, slice, normalize and save them

acwing 790. The cubic root of a number (floating-point number in half)

Super detailed dry goods! Docker+pxc+haproxy build a MySQL Cluster with high availability and strong consistency

看《梦华录》上头的人都该尝试下这款抖音特效

<山东大学项目实训>渲染引擎系统(三)

批量--04---移动构件
![Development status of China's pig breeding industry in 2021 and comparative analysis of key enterprises: 671million pigs were sold [figure]](/img/fd/5462c8c6deafeb7d7728716eb4db74.jpg)
Development status of China's pig breeding industry in 2021 and comparative analysis of key enterprises: 671million pigs were sold [figure]

acwing 801. 二进制中1的个数(位运算)
随机推荐
The C Programming Language(第 2 版) 笔记 / 8 UNIX 系统接口 / 8.2 低级 I/O(read 和 write)
RTOS rt-thread裸机系统与多线程系统
generate pivot data 2
33-【go】Golang sync.WaitGroup的用法—保证go协程执行完毕,主协程才退出
面试:了解装箱和拆箱操作吗?
1.delete
(四)GoogleNet复现
acwing 790. 数的三次方根(浮点数二分)
Super detailed dry goods! Docker+pxc+haproxy build a MySQL Cluster with high availability and strong consistency
d的sha6转大整
Match single character
Thread pool execution process
大规模实时分位数计算——Quantile Sketches 简史
generate pivot data 2
批量--03---CmdUtil
Global and Chinese market of soft capsule manufacturing equipment 2022-2028: Research Report on technology, participants, trends, market size and share
<山东大学项目实训>渲染引擎系统(六)
Browsercontext class of puppeter
Postgresql错误码是如何构造的
3/6 线性系统的时域分析法(上)