毕业设计

本文最后更新于:2022年10月18日 下午

毕业设计

基于 CUDA 的交互式光线追踪体渲染器设计与实现
Design and implementation of interactive ray tracing volume renderer based on CUDA

在进行医学影像体绘制、体数据分析过程中,常常需要对数据进行体渲染,所获得的结果数据一方面可用于可视化,也可以用于精细渲染过程中的数据集进行降噪等操作。本毕业设计计划设计实现一个体渲染器,用于生成渲染数据集。具体内容包括: 1)渲染器功能:能够实现体数据渲染,并可设置传递函数,调整材质,调整灯光和环境参数。 2)输入输出支持:能够支持对 MHD、OpenVDB 等格式体文件的读入,进入渲染管道,并输出渲染通道(写入缓存)。 3)使用 CUDA 实现渲染器,Dear ImGui 实现图形界面,在应用程序界面显示渲染结果,UI 结构应合理,并提供必要的功能按钮、菜单以及相关显示信息。 其他要求: 1)独立完成设计任务。 2)按规范撰写毕业设计论文,并完成规定数量的外文翻译。 3)开发工具与技术栈:Visual Studio,Dear ImGui,VTK,C++,CUDA 等。 4)渲染器输出结果可参考论文“Neural Denoising for Path Tracing of Medical Volumetric Data”中对数据集的要求。

工作列表

  • [x] 开题
    • [x] 任务书
    • [x] 开题报告
  • [x] 迁移渲染器核心
    • [ ] 性能不达预期,寻找原因中
      • [x] 使用 cuda 分析工具分析运行状态
      • [ ] 在源程序添加旁路输出以逐步去除渲染器外的部分
        • [x] 分析加载流程
          • [x] 解决界面和数据耦合的问题(临时)
          • [x] 解决 Qt 和 gl.h 不兼容
      • [ ] 在不同的设备运行寻找异常状态
        • [ ] 分析日志和设备占用情况
        • [ ] 分析渲染时间
    • [ ] 优化架构设计
  • [ ] 系统架构
    • [x] 面向对象设计
    • [x] 界面模块式管理
    • [x] 窗口管理器
    • [x] C++多线程
      • [ ] 线程安全
    • [x] 泛型单例工具类
      • [x] 静态初始化线程安全
    • [x] 泛型预设管理工具类
    • [ ] 全局变量管理
    • [ ] 语法规范
  • [ ] ImGui 用户界面
    • [x] 主题与布局
      • [x] Dock 布局
      • [x] 界面风格
    • [x] 主视图
      • [x] 缓冲区
      • [x] 视图显示
      • [ ] 视图控制
        • [x] 旋转
        • [x] 推拉
        • [ ] 位移
      • [x] 辅助监视器
        • [x] 帧率
        • [x] 帧生成时间
        • [x] 帧时间图表
        • [x] 视图缩放
    • [x] 读取文件
      • [x] MHD
      • [ ] OpenVDB
      • [ ] 信息显示
    • [x] 材质
      • [x] 传递函数
      • [x] 传递函数预设
      • [x] Shader 控制
      • [x] 灯光控制
        • [x] 全局光
        • [ ] 自定义灯光
    • [x] 摄像机
      • [x] 信息监视
      • [ ] 参数控制
      • [x] 渲染控制
      • [ ] 降噪控制
        • [x] 高斯降噪
        • [ ] Optix 降噪
    • [ ] 渲染器输出
      • [ ] 多通道
      • [ ] 表达式控制
    • [ ] 日志
      • [x] 日志窗口
      • [x] 日志管理器
      • [ ] 设置日志
      • [ ] 日志记录
      • [ ] 日志级别筛选
  • [ ] 渲染器
    • [x] 渲染信息传递
    • [ ] 渲染结果返回
      • [x] beauty
      • [ ] normal
      • [ ] albedo
      • [ ] …
    • [x] 渲染统计信息
      • [x] 帧生成时间
      • [x] 渲染管线每步时间
  • [ ] 缓冲区
    • [x] 图像缓冲
    • [ ] 线程安全
  • [ ] 降噪
    • [x] 高斯降噪
    • [ ] Optix AI denoiser
  • [x] 项目构建
    • [x] vcpkg
  • [ ] 测试
    • [ ] 单元测试
    • [ ] 黑盒测试
    • [ ] 兼容性测试
      • [ ] 测试数据建模
  • [x] 学习
    • [x] 现代 C++
    • [x] ImGui
    • [x] 图形学基础
    • [ ] CUDA
    • [ ] OpenGL GLEW
    • [ ] VTK
    • [ ] OpenVDB
    • [ ] Optix
  • [ ] 论文翻译
    • [ ] Exposure Render: An Interactive Photo-Realistic Volume Rendering Framework
  • [ ] 中期
    • [ ] 中期报告
  • [ ] 毕业论文

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!