文章翻译总结自Advanced illumination techniques for GPU volume raycasting

在传统建模中,三维对象是使用多边形网格、NURBS面片或细分曲面等曲面表示来创建的。在传统的建模范式中,表面的视觉特性,如颜色、粗糙度和反射比,都是通过着色算法来建模的,这种算法可能与Phong模型一样简单,也可能与一个完全具有特征的移动变量各向异性BRDF一样复杂。由于光传输仅在表面上的点进行评估,因此这些方法通常无法考虑发生在大气或物体内部的光相互作用。

与表面渲染相反,体积渲染描述了从三维标量数据生成图像的各种技术。这些技术最初是由科学可视化驱动的,通过自然现象的测量或数值模拟获得体积数据。典型的例子是通过计算机断层扫描(CT)或磁共振成像(MRI)获得的人体内部的医学数据。其他例子包括计算流体动力学(CFD)、地质和地震数据以及抽象的数学数据,如伪随机数的三维概率分布。

随着高效体绘制技术的发展,体数据在视觉艺术和计算机游戏中也越来越重要。体积数据是描述模糊对象(如流体、气体)和自然现象(如云、雾和火)的理想方法。许多艺术家和研究人员已经综合生成了体积数据来补充表面模型,即程序化的,这对于渲染高质量的特殊效果特别有用。

尽管体积数据比曲面更难可视化,但将其呈现为真正的三维实体而不返回到二维面渲染,这样做既有价值又有回报。

1.1 体数据

一个离散的体积数据集可以被看作是一个简单的三维立方体元素数组[49],每个元素代表一个空间单位(图1.1)。虽然将体素想象为小立方体很容易,并且可能有助于可视化单个体素的紧邻区域,但更适合用从连续三维信号的单个无限小点获取的样本来识别每个体素。

 且 

如果连续信号的频带是带宽有限的,存在截止频率,则采样定理允许精确重建,如果信号在截止频率的两倍以上均匀采样,即奈奎斯特频率。然而,在实际应用中,存在两个主要问题阻碍了对采样体积数据的理想重建。

1. 根据采样理论的理想重建需要在空间域内用sinc函数(图1.2a)对采样点进行卷积。对于一维情况,sinc函数是:

这个函数的三维形式是由张量积简单地得到的。注意,这个函数的范围是无限的。因此,为了精确重建任意位置上的原始信号,必须考虑所有采样点,而不仅仅是局部附近的采样点。在实践中,这在计算上很难做到。

2. 实际数据一般不代表带限信号。不同材料之间的任何尖锐边界都表示在频域内具有无限范围的阶跃函数。对信号进行采样和重构(不受频带限制)将产生混叠伪影。

为了在实际中从体素阵列中重建连续信号,理想的3d sinc滤波器通常被一个方形滤波器(图1.2a)或一个三角滤波器(图1.2b)所取代。方形过滤器计算最近邻插值,这会导致相邻单元之间出现尖锐的不连续性,并形成块状的外观。用三维帐篷滤波器卷积实现三线插值,在计算成本和输出信号平滑度之间取得了良好的平衡。

医学图像体渲染照明3 体照明前传之GPU体渲染1相关推荐

  1. 3dmax:3dmax三维VR渲染设置之高级灯光渲染(自然光照明+人工光照明+灯光属性讲解、灯光渲染参数解释、不布光顺序)图文教程之详细攻略

    3dmax:3dmax三维VR渲染设置之高级灯光渲染(自然光照明+人工光照明+灯光属性讲解.灯光渲染参数解释.不布光顺序)图文教程之详细攻略 目录 3dmax三维VR渲染设置之高级灯光渲染(打光顺序. ...

  2. 虚幻引擎学习之路:渲染模块之全局光照明

    虚幻引擎学习之路:渲染模块之全局光照明 https://zhuanlan.zhihu.com/p/31791392 原文链接:虚幻引擎学习之路:渲染模块之全局光照明 - UWA Blog 之前UWA为 ...

  3. 【UE4 全局光照明】虚幻引擎学习之路:渲染模块之全局光照明 by UWA侑虎科技

    关于全局光照 全局光照是增强渲染真实感的有效方法,也是游戏引擎中不可缺少的一部分.Unreal 4和Unity引擎都分别支持了全局光照效果.在Unreal 4引擎中,全局光照烘焙采用的是Lightma ...

  4. 遍历结构体_三菱ST语言编程(3)——结构体变量

    上篇文章介绍了数组,是一组相同类型数据的列表,那么不同类型的数据能否组合到一起用一个标签表示呢?答案当然是可以的,而实现这个功能的就是结构体(struct). 建立结构体 在三菱结构化编程的界面中左侧 ...

  5. shader变体是什么_[Unity/shaderlab]关于着色器变体

    在Unity中可以通过#pragma multi_compile或者#pragma shader_feature指令来实现着色器多样化. 在运行时,相应的着色器变体是从材质的关键词中取得的(Mater ...

  6. 结构体怎么赋值_Go 经典入门系列 16:结构体

    点击上方蓝色"Go语言中文网"关注,每天一起学 Go 欢迎来到 Golang 系列教程的第 16 个教程. 什么是结构体? 结构体是用户定义的类型,表示若干个字段(Field)的集 ...

  7. 【☀️C语言函数传参の结构体数组篇☀️】

    背景介绍 C语言中函数参数传递的两种方式("引用传递做函数参数"是C++的特性,C语言不支持.) (1)传值,就是把你的变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个 ...

  8. c 定义结构体时提示应输入声明_C++|了解结构体的内存对齐(成员声明的顺序影响占用空间大小)...

    我们使用的电子计算机绝大部分都是冯·诺依曼结构的机器,遵循"存储程序"的概念.数据处理以存储为前提,在编程中数据如何"存得进去,取得出来",并且符合空间.时间效 ...

  9. 云麦体脂秤华为体脂秤_华为、小米和有品体脂秤哪个品牌好?三款智能体脂秤横评结果排行...

    如今生活水平的提高,也让更多人开始关注健康问题.由于大部分时间都忙于工作,本身就运动少.体重超标等等.如果长期得不到控制的话,会造成日后脂性肝炎.肝纤维化.肝癌,想想都可怕,在意识到这样的严重性,不得 ...

最新文章

  1. 【剑指Offer】23、二叉搜索树的后序遍历序列
  2. OpenCV+python:色彩空间转换及色彩通道的分离和合并
  3. UA MATH564 概率论 计算至少有一个发生的概率:Boole不等式
  4. 推荐业务多目标建模算法介绍:MMOE、OMOE、Shared-Bottom
  5. JavaScript复制数组
  6. 数据结构——二叉树的递归算法
  7. kuka机器人焊接飞溅大_库卡机器人KCP4示教器屏幕校准方法
  8. AngularJS 自定义控件
  9. cad常用字体包_水利设计CAD基础篇(一)
  10. 5G +边缘计算,优酷如何做云渲染?
  11. angular的$http发送post,get请求无法传送参数的问题
  12. Python 爬虫-BeautifulSoup
  13. Vue3(setup函数介绍)
  14. IOS--UILabel的使用方法详细
  15. Servlet原理图
  16. 工具-IDM(Google浏览器下载插件)
  17. 用计算机发传真,用电脑怎么发传真
  18. 京东手机登录页面html,京东登录页面.html
  19. 高等学校计算机一级考试题库,全国计算机一级考试题库「附答案」
  20. 池建强 博客 Mac使用技巧 第一季

热门文章

  1. Unity3D游戏开发之Unity3D中的动态阴影
  2. android写的猜猜看小游戏
  3. 技术周刊 Vol.7 - 【iOS丨好好学习,从娃抓起~】
  4. Android 解压 Zip 压缩文件
  5. 计时器:Chronometer
  6. 基于管道的popen和pclose函数
  7. mysql中 signed 与 unsigned  详解
  8. linux教程 实验报告,linux大学教程实验报告范文6
  9. DDoS 攻击与防护(二):DDoS 防护购买和使用入门指南,DDoS 防护服务有哪些应用场景?
  10. 高德api中所在位置圆形范围可移动_这个十一黄金周,2000钢铁技术直男如何让高德地图变成一种生活方式...