< 山东大学软件学院项目实训 > 渲染引擎系统(四)(组工作合集 & 个人工作)
发布时间
阅读量:
阅读量
目录
- 前言
- 各工作情况
- 1、辐射预计算
- 2、渲染框架
- 3、后降噪处理
-
- 3.1 阶段任务
- 3.2 个人具体工作
前言
本项目旨在研发一套功能完善的真实场景渲染系统引擎。预计该引擎将有效提升光照效果的呈现质量,并成功处理渲染后的噪声。
各工作情况
1、辐射预计算
该部分基于 Falcor 框架运用渲染中的辐射预计算技术以达成环境全局光照的实时计算,请关注这位作者以获取详细信息。
2、渲染框架
该部分旨在优化对 Falcor 基础框架的更新,并补充基础功能以支持其他模块的正常运行
3、后降噪处理
3.1 阶段任务
为了实现 Falcor 3.4 框架中的 NRD SDK 集成目标,在熟悉了 Falcor 框架的其他渲染通道代码架构之后,可以先行创建 NRD 类。
这部分的工作由两名成员共同承担。如需了解其他成员的具体工作进展,请访问这位作者查看详细信息。我的主要工作内容包括...]
3.2 个人具体工作
首先按照其他通道的命名规范 将该类命名为Class NRDPass 并生成NRDPass.h文件 根据需求导入相应的头文件
然后,依据上次的探究,定义该类,最终公有部分 定义如下:
class NRDPass : public RenderPass
{
public:
// for frame
using SharedPtr = std::shared_ptr<NRDPass>;
static const Info kInfo;
static SharedPtr create();
virtual Dictionary getScriptingDictionary() override;
virtual RenderPassReflection reflect() override;
virtual void compile() override;
virtual void execute() override;
virtual void renderUI() override;
virtual void setScene() override;
部分基于 Falcor 渲染通道框架基础与 NRD 需求共同拟定义公有变量及函数;而由于 NRD 流程中需选择降噪方案,则需撰写内容如下:
enum class DenoisingMethod : uint32_t
{
// Method1 : Relax
RelaxDiffuse,
RelaxDiffuseSpecular,
// Method2 : Reblur
ReblurDiffuseSpecular,
// Motion Vector
SpecularReflectionMv,
SpecularDeltaMv
};
定义一个枚举类,存储 NRD 的几种降噪方法的代号。
私有部分 请前往这位作者查看。
接下来,可以根据拟定义的 NRDPass 类开始编写这些函数的具体方法。
全部评论 (0)
还没有任何评论哟~
