立体渲染

✍ dations ◷ 2025-11-20 20:37:26 #立体渲染
立体渲染(英语:Volume rendering),又称为体绘制,是一种用于显示离散三维采样数据集的二维投影的技术。一个典型的三维数据集是CT或者MRI采集的一组二维切面图像。通常这些数据是按照一定规则如每毫米一个切面,并且通常有一定数目的图像像素。这是一个常见的立体晶格的例子,每个体素用当前体素附近区域的采样值表示。为了渲染三维数据集的二维投影,首先需要定义相机相对于几何体的空间位置。另外,需要定义每个点即体素的不透明性以及颜色,这通常使用RGBA(red, green, blue, alpha)传递函数定义每个体素可能值对应的RGBA值。通过提取几何体中等值的曲面并且将它们作为多边形进行渲染,或者直接将立体作为数据块进行渲染,这两种方法都可以使几何体可见。Marching Cubes算法是从立体数据中提取曲面的常用技术。直接体渲染是一件计算量很大的工作,可以用几种不同的方法来实现。直接立体渲染要求每个采样值都必须映射到对应的不透明性以及颜色,这是通过一个“传递函数”实现的,这个传递函数可能是简单的斜面、也可能是分段线性函数或这是任意的表格。一旦转换到RGBA值之后,对应的RGBA结果就会映射到帧缓冲中对应的像素。根据渲染技术的不同这个做法也有所不同。使用多种技术的组合也是可行的。例如去除扭曲的实现可以用纹理硬件在屏幕外的缓存中绘制排列好的片断。主条目:立体光线投射。投影图像最简单的方法就是立体光线投射。在这种方法中,每个图像点都生成对应的光线。按照一个简单的照相机模型,光线从照相机(通常是眼睛位置)中心开始投射,经过照相机与需要渲染的立体之间的假象平面上的图像。光线在立体的边界进行剪切以节约处理时间,然后在整个立体空间上按照一定规则对光线进行采样。在每个采样点数据进行插值计算,经过传递函数变换成RGBA采样值,这个采样添加到光线的RGBA数据集中,然后重复这个过程直到光线抵达立体内部。RGBA颜色转换到RGB颜色并且放到对应的图像像素上。屏幕上的每个像素都重复这个过程直到形成完整的图像。在 上可以看到高质量的光线投射渲染几何体的实例。这是一个通过牺牲质量换取速度的方法。每个立体元素都象雪球那样按照从后到前的顺序splatted到观察表面。这些splats按照颜色与透明度特性在直径方向正态即高斯变化渲染成圆盘。平盘与其它特性也根据应用的不同而不同。一个新的体渲染实现方法是Philippe Lacroute与Marc Levoy一起开发的在论文“使用Shear-Warp分解观察角度变换的快速体渲染”中描述的方法。在这种技术中,观察角度进行变换使得最近的体表面成为后台图像缓冲区按照体素到像素的固定尺度排列的轴,然后渲染的立体按照方便的内存排列、固定的缩放及过渡因子放到这个缓冲区中。一旦立体的所有的切片已经渲染完毕,缓冲数据就会转换到在前台显示图像中所要的方向及尺度。这种方法通过牺牲采样精度得到了相对较快的处理速度,但是这种方法生成的图像潜在质量要比光线投射方法生成的图像质量差。许多三维图形系统都通过纹理映射将图像、纹理用于几何物体。日常所用PC的图形处理卡处理纹理非常快速并且能够高效地渲染三维立体切片,并且具有实时的交互能力。这些切片可以根据几何体进行排列然后按照观察者的角度进行渲染,也可以根据观察平面进行排列然后从立体中未经排列的切片进行采样。对于第二种技术来说需要图形硬件支持三维纹理处理。根据立体排列纹理的方式能够生成合理的图像质量,但是当立体旋转的时候经常会产生明显的过渡。根据视角排列纹理的方式可以得到类似于光线投射的高质量图像,并且采样图案也是相同的。最近出现的一项加速渲染的技术是使用图形处理卡加速如光线投射这样的传统的体渲染算法。从2000(?)年左右开始出现的像素着色器pixel shaders开始,人们逐渐认识到多点并行运算的威力并且开始在图形芯片上执行更加普通的计算。像素着色器pixel shaders能够随机地读写纹理内存并且执行一些基本的算术与逻辑计算。这些现在称为GPU的单指令流多数据流处理器用于如光线跟踪多边形以及信号处理中的普通计算。在OpenGL 2.0版上,pixel shaders现在能够作为多指令流多数据流处理器使用并且能够独立进行分支切换,能够使用高达48个并行处理单元,并且能够使用高达1 GB的纹理内存以及high bit depth数字格式。通过这样的能力,理论上象立体光线投射或者CT重建这样的算法都能够得到极大的加速。立体渲染系统经常带有一个识别立体区域是否包含可见物体的部分,这个信息可以用于避免在这些透明区域进行渲染。这是按照从前到后顺序渲染几何体的时候所用的一项技术。对于穿过一个像素的光线,一旦达到一定程度的浓度,那么后面的采样点对于这点来说就起不到多大作用,因此可以忽略。使用如八叉树或者二元空间分割树的层次结构对于体数据压缩以及优化体光线投影过程来说都非常有用。通过分割出渲染前不需要关心的部分,就可以大幅度地减少光线投影或者纹理混合所需要的计算量。

相关

  • 弓浆虫弓形虫(学名:Toxoplasma gondii),亦称为弓浆虫、弓虫,或连同种小名一起称作龚地弓形虫,是肉孢子虫科弓形虫属的唯一物种,属于寄生性生物。已确定的宿主是猫,而弓形虫的携带者包括了
  • 输精管输精管是人和动物体内输送精子的生殖管道。人的输精管是一对由壁厚腔小的肌肉组成的长约30-50厘米的传送精子的管道,自附睾下端向上,从阴囊上升,穿过腹股沟管进入盆腔内,其末端与
  • 丹贝丹贝(tempeh)是一种发源于印尼爪哇的发酵食品,又名天培、天贝等。传统丹贝是接种根霉属(Rhizopus spp.)真菌至煮过的脱皮大豆,再以香蕉叶包覆接种过的大豆,经过一至两天发酵,所得到
  • 尿液分析尿液分析,又称为尿常规,是针对尿液标本所进行的一组医学检验项目,是医学诊断过程中最为常用的方法之一。尿液分析是历史最为悠久的医学检验方法之一,可以反映肾脏和泌尿道等方面
  • 肾血管性高血压肾血管性高血压(Renovascular hypertension、"肾性高血压"(renal hypertension))是一种综合征、由肾脏荷尔蒙反应将动脉供应肾脏(Renal artery)变窄(肾动脉狭窄)所引起的高
  • 鹿鼠白足鼠属(Peromyscus),哺乳纲、啮齿目、仓鼠科的一属,而与白足鼠属(球鹿鼠)同科的动物尚有里约稻鼠属(里约稻鼠)、叶耳鼠属(沙叶耳鼠)、洞鼠属(粗毛洞鼠)、大耳攀鼠属(大耳攀鼠)等之数种哺
  • 家猪(学名:Sus scrofa domestica)是野猪被人类驯化后所形成的亚种,獠牙较野猪短,是人类的家畜之一,目的是从猪身上取得猪肉、猪脚等食材。人类蓄养家猪的历史相当悠久,不过至16世纪
  • 阴道阴道(英语:vagina)是一种纤维肌形成有弹性柱状通道的性器官,主要利于雌雄性交与分娩时的产道。在胎盘哺乳动物中(特别是灵长类),月经常是代表生殖繁衍能力的象征,也是阴道另一个主要
  • 强酸强酸,是指在水溶液中接近完全电离的酸(硫酸这类多元酸不在此限),或以酸度系数的概念理解,则指pKa值 < −1.74的酸。这个值可以理解为在标准状况下,氢离子的浓度等同于加入强酸后的
  • 水溶液水溶液(aqueous,aq)是指溶剂是水的溶液。在化学反应中,若反应物或生成物为水溶液,一般会在其化学式右下方加上(aq)识别。例如食盐NaCl的水溶液,会用NaCl(aq)表示。由于水是自然界