Advertisement

< 山东大学软件学院项目实训 > 渲染引擎系统(四)(组工作合集 & 个人工作)

阅读量:

目录

  • 前言
  • 各工作情况
  • 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)

还没有任何评论哟~