< 山东大学软件学院项目实训 > 渲染引擎系统(三)(组工作合集 & 个人工作)
发布时间
阅读量:
阅读量
目录
- 前言
- 各工作进展汇报
-
- 辐射预处理
-
- 渲染系统
-
- 降噪优化
- 3-1 阶段任务分解
- 3-2 具体工作安排
前言
本项目旨在研发一套功能全面且表现卓越的真实场景渲染系统引擎。该系统预期能够有效地实现光线模拟与噪波抑制等关键功能的处理。
各工作情况
1、辐射预计算
基于 Falcor 平台开发渲染流程中的辐射预计算模块,以达到实时环境全局光照效果的目的,请关注以下链接获取具体进度:
2、渲染框架
该部分将实施对 Falcor 基础框架的优化,并增加基础功能以配合其他工作的推进
3、后降噪处理
3.1 阶段任务
为了集成NRD SDK到 Falcor 3.4 框架中进行项目开发,在深入掌握 NRD 的去噪核心流程之后,进一步需要详细了解Falcor框架的渲染通道模块化架构设计及其相关的代码实现细节。
3.2 个人具体工作
该部分的工作由两名成员共同承担;其他一位组员的具体情况,请访问这位作者了解。就我的工作内容而言:
为了更好地了解 Falcor 3.4 渲染通道的工作原理及其配置机制,请您参考其其他相关渲染通道的信息。这些渲染通道按照特定流程进行配置,并且它们的具体分布情况见下文图示:

其中,以 DLSSPass 为例,可以看出 Falcor 的渲染通道需要有如下基础部分:
1、继承 Falcor 的渲染通道类 Render Pass:
class DLSSPass : public RenderPass
2、拥有通道代号指针等:
public:
using SharedPtr = std::shared_ptr<DLSSPass>;
static const Info kInfo;
第3条指出,在RenderPass中定义了多个子类实现的抽象基类功能,并且这些功能需基于不同的渲染通道需求而被优化配置。
static SharedPtr create(RenderContext* pRenderContext, const Dictionary& dict);
virtual Dictionary getScriptingDictionary() override;
virtual RenderPassReflection reflect(const CompileData& compileData) override;
virtual void setScene(RenderContext* pRenderContext, const std::shared_ptr<Scene>& pScene) override;
virtual void execute(RenderContext* pRenderContext, const RenderData& renderData) override;
virtual void renderUI(Gui::Widgets& widget) override;
4、绑定该通道的固定代码:

总体而言,在开发过程中需要先为 NRD 类(.h 文件中)和功能函数(.cpp 文件中)进行详细设计与编码。
全部评论 (0)
还没有任何评论哟~
