首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

【GPU编程】光线投射体绘制中的阻光度α值匡正(Opacity correction)

2012-09-25 
【GPU编程】光线投射体绘制中的阻光度α值修正(Opacity correction)在基于图像控空间的光线投射体绘制(image-

【GPU编程】光线投射体绘制中的阻光度α值修正(Opacity correction)

在基于图像控空间的光线投射体绘制(image-order raycasting volume rendering)中,在合成(Compositing)这一步骤中,通常有两种方法:front-to-back order以及back-to-front order。经常被采用的是前者,即从成像平面,从前往后逐渐累加采样点的RGB颜色值以及阻光度α值,最后得到成像平面上相应像素点的RGB值。这一方法的一个优点就是可以采用光线提前终止(Early terminate)加速算法。

Front-to-back合成算法的计算公式是:

【GPU编程】光线投射体绘制中的阻光度α值匡正(Opacity correction)

参数解释:

Cin以及αin:已经累加得到的颜色值和阻光度值。

C(x),α(x):当前采样点通过分类(Classification)和渲染(Shading)后计算得到的颜色值和阻光度值。


但是我们需要注意的是,这个公式运用有一个前提:合成是基于均匀采样,而且采样间距是1.如果采样率发生变化,那么必须进行阻光度修正。假设对于从成像平面发出的所有光线,对象采样间距都相等,那么阻光度修正可通过下式计算:

【GPU编程】光线投射体绘制中的阻光度α值匡正(Opacity correction)

α(x)是原始的阻光度值。△s是对象采样间距。

用αcorr(x)替换α(x)即可。

 

热点排行