自适应浓淡的方法和设备技术

技术编号:2951192 阅读:230 留言:0更新日期:2012-04-11 18:40
本发明专利技术的方法和设备使用自适应浓淡方法来实时产生浓淡图象。首先对多边形各顶点计算色彩和强度。然后执行系列测试判定用于对顶点间多边形内插色彩和强度的某阶方程。使用该技术,略有或没有曲率的多边形及无穷远光源(最简单浓淡形式)可使用极快的低阶方程对多边形内插。而对大曲率和(或)位置光源,如必要,则使用需要增加计算时间产生理想浓淡效果的较高阶方程。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术的方法和设备涉及计算机生成图象的产生的领域。具体地说,本专利技术的方法和设备涉及计算机生成图象的浓淡(Shading)。一般而言,在产生数字图象的计算机图形系统中,将物体的表面表示为平面多边形的网格。可用已知技术对这些多边形作快速变换和复制。这些技术假设输入为其顶点属性为位置、法线和颜色(如附图说明图1a所示)的简单的三角形。例如在物体坐标空间定义顶点位置。顶点法线为描述每个顶点处表面方向的单位矢量。顶点颜色说明该物体本身的颜色。该顶点颜色属性允许该物体颜色在三角形内变化。为在计算机图形显示器上产生物体的逼真的图象,不仅要产生物体的形状,而且涉及物体可见表面的阴影浓淡,考虑到光源、表面特征及表面与光源的位置和方向。三种反射函数的组合可用于确定图象的浓淡。这三种反射函数是背景反射,漫反射和镜面反射。背景反射是物体从随机光源汲收并放出的光。与光的方向不相干。背景函数简单地比例增减该物体颜色。例如,对红、绿和蓝的背景加权为Kar,Kag,Kab,则可将背景反射函数描述为lar=Kar*Crlag=Kag*Cglab=Kab*Cb其中,lar,lag,lab分别为红、绿和蓝颜色单元的背景反射,Kar,Kag,Kab为颜色单元红、绿和蓝的背景加权,而Cr,Cg,Cb为物体红、绿和蓝单元的客体色彩或色彩强度。背景加权的范围是0≤Kar≤1,0≤Kag≤1,0≤Kab≤1应注意到,背景加权Kar、Kag、Kab和以下的漫反散加权Kdr、Kdg、Kdb实际上为两个项的乘积。第一个项表示该分量的光强度。第二个项表示该物体表面反射该分量的能力。由于都与背景几何形状无关,因此将两个项组合为加权。如背景包括多个光源,则对每个光源就有独立的加权。黯淡、无光泽表面呈现漫反散,所有方向上相等的散射光,使得该表面显得从所有的视角来看具有相同的亮度。对这种表面,Lamber的余弦定律说明反射光量与方向L和点光源之间角度α的余弦相关,而该表面的法线矢量N如图1b所示。漫反射可用下面的等式给出ldr=Cos(α)*Kdr*Crldg=Cos(α)*Kdg*Cgldb=Cos(α)*Kdb*Cb其中,Cos(α)等于N·L(因为漫反射必须为正,Cos(α)的计算要求Cos(α)=max(Cos(α),0)),而ldr,ldg,ldb分别为红、绿、蓝单元的漫反射数值,Kdr,Kdg,Kdb为光源的红、绿、蓝单元的漫反射系数(为0到1间的常数,随表面材料而变),而Cr、Cg、Cb为表面红、绿、蓝单元的颜色。镜面反射是发光表面上观察到的强光。由冯必同(Bui TuongPhong)研制出的模型将镜面反射转变为眼点矢量V和与最大反射对齐的矢量R之间角度的余弦的函数,如图1b所示(参见Phong,B.T的Salt Lake City、Utah大学计算机科学系博士论文“计算机生成图象的亮度”,政府征订号AD-A0008-766(1973年7月))。关于背景、漫反射和镜面反射的进一步信息也可参见Foley和Van Dam所著《交互式计算机图形学基础》(Addison Wesley 1983),PP.575-580以及Cook和Torrance所著《计算机图形学的反射模型》,刊于“计算机图形学”第15卷,第3号,1981年8月。反射量是相加的,这样,如果三个独立光源发光到一表面,可通过对每个光源确定反射量并将每个光源所确定的反射量相加来计算该表面上的反射量。在制定反射类型和反射量时,应认识到存在不同类型的光源。一种情形出现在距离光源无穷远时。该光源的说明可简化为如下的简单的光矢量L=Lx,Ly,Lz其中,光矢量的大小等于|L|=sqrt(Lr2+Ly2+Lz2)而对无穷远光源,|L|的值等于1。另一情形发生在距离光源是有限的,但发光模式是各向同性的。因此该光在所有方向上发光强度相同。这时光源的说明简化为光位置Q=Qx、Qy、Qz光矢量,即相对于顶点位置Px、Py、Pz的光位置为L=Qx-Px,Qy-Py,Qx-Pz其中,大小为|L|=sqrt((Qx-Px)2+(Qy-Py)2+(Qz-Pz)2)由于该大小不为1,而亮度方程需要单位矢量,因此将光矢量归一化L=(Qx-Px)/|L|,(Qy-Py)/|L|,(Q-Pz)/|L|最后一种情形发生在发光模式不是各向同性时。由于发光模式不是各向同性的,光源的说明需要表明发光模式函数的模式矢量K=Kx、Ky、Kz该模式矢量用以说明光强最大的方向。照射到该物体的光随着矢量L和模式矢量K之间的角度的增加而减少。光矢量在包括模式函数之前,表述如下L=(Qx-Px)/|L|,(Qy-Py)/|L|,(Qz-Pz)/|L|其中大小为| L|=sqrf((Qx-Px)2+(Qy-Py)2+(Qz-Pz)2)将强度调整为光矢量和模式矢量之间角度的函数的模式函数常常为Cos(χ)=Kx*Lx+Ky*Ly+Kz*Lz光矢量吸收该数值而变为L=Cos(χ)*Lx,Cos(χ)*Ly,Cos(χ)*Lz,计算机图形系统通常将图象曲面表示为平面多边形的网格,这些多边形加有浓淡以恢复光滑外观。系统通过改变多边形上的强度来恢复平滑外观。尽管已有一些用于多边形逼真的浓淡技术,但因对每个象素需要大量的计算故实时系统并未使用这些技术。可执行的最简单的浓淡计算是漫反射计算,即按照漫射光的Lambert定律。然而,该计算假设从所有视角看的反射具有相同亮度。由于简单的漫反射公式不能以表面的物理属性,例如粗糙系数,加到反射等式上,则该表达式只是近似于该反射。例如,该表达式不能说明当光射到金属表面时波长如何以入射角偏移。该波长偏移使颜色发生变化。此外,该简单的漫射等式并未考虑光如何从表面散射到表面。又,漫反射的最简单形式假定反射在整个面或多边形上是不变的。尽管这是简单的计算,但在多边形之间边界上的强度也常常是不连续的。一种实时执行图象浓淡的较好技术称为Gouraud浓淡。使用Gouraud浓淡技术,每个点的强度可通过在该多边形各顶点上强度的线性内插加以计算。这些强度用在各顶点给出法向的漫反射的反射等式确定的。关于Gouraud浓淡的进一步信息,参见Gouraud.H所著“曲表面的连续浓淡”,IEEE计算机汇刊第20卷,第6号,PP623-628(1971年6月)。然而,该技术仅考虑了漫反射,这样,用该技术浓淡后的表面显得黯淡。此外,由于不连续的强度变化,该图象在多边形边界上反射马赫带。冯氏浓淡(Phong Shading)技术照亮黯淡表面并减少由Gourand浓淡技术产生的马赫带,但由于产生图象需要大量计算机时间及费用通常并没有用在实时系统中。使用该技术,用根据在各顶点说明的真实平面法线线性内插的近似平面法线来确定每个点的强度。冯氏浓淡利用等式N(x.y)=Ax+Bx+C,其中A、B、C为选择用于内插多边形法线的顶点。冯氏浓淡对每个象素需要7次加法、6次乘法、1次除法和1次平方根运算。该运算很费钱和时间,尤其是由于它包括了平方根计算。关于冯氏浓淡技术的进一步信息,参见Salt Lake City的Ufah大学计算如科学系博士论文“计算机生成图象的亮度”(政府征订号AD-A0008-786)。冯氏浓淡计算由Tom Duff加以简化,如本文档来自技高网...

【技术保护点】
在包含中央处理器、存储器、帧缓冲器、和与帧缓冲器相连用于显示所显示的图形图象的图形显示器图形显示系统中,所述图形显示器包含一象素阵列,所述图形图象由多个象素数据定义,所述象素数据存储于帧缓冲器中,每个象素数据包含显示器上象素位置和该象素的色彩,按照帧缓冲器中存储的象素数据在显示器上显示所述图形图象,一种产生浓淡图形图象的自适应过程,根据光源对所述图形图象形成浓淡,所产生的所述浓淡图象的质量由用户规定,所述浓淡过程包含以下步骤:接收定义图形图象的图形图象象素数据,按照图 形图象象素数据位置进行分组,所述的组表示多边形,每个所述多边形由其各顶点位置及每个顶点法矢量所定义,所述法矢量为该顶点在多边形表面的法矢量,选择用来确定每个多边形的反射的反射方程的阶数,所述选择步骤包含:按照多边形顶点法向矢量判定多 边形表面曲率变化量和顶点间曲率变化量,将顶点之间曲率变化量与对应于用一阶方程产生的质量图象的最大曲率变化量的曲率阈值进行比较,如果顶点之间曲率变化量大于或等于曲率阈值,则选择二阶反射方程,判定每个顶点光矢量和顶点间光矢量变化,所 述光矢量是各顶点法向矢量和光源相对于顶点位置的函数,将顶点间光矢量变化与对应于用一阶方程产生质量图象最大光矢量的变化量的光矢量阈值相比较,如果顶点间光矢量变化量大于或等于光矢量阈值,则选择二阶反射方程;判定各顶点的光矢量和顶点间 光矢量变化,所述光矢量为各顶点法矢量和光源相对于该顶点位置的函数,将顶点间光矢量变化与对应于用一阶方程产生图象质量的最大矢量变化的光矢量阈值相比较,如果顶点间光矢量量变化量大于或等于光矢量阈值则选择二阶反射方程,判定顶点间曲率变 化和顶点间光矢量变化中最大变化,将该最大变化与第一和第二阈值进行比较,所述一阶阈值为用零阶反射方程产生质量浓淡图象的最大变化,所述第二阈值为用一阶反射方程产生质量浓淡图象的最大变化,如果最大变化小于或等于第一阈值则选择零阶反射方程计 算多边形反射,而当最大变化小于第二阈值时使用一阶反射方程计算多边形反射,判定多边形的反射,所述装置接收由选择装置判定的阶数的反射方程并使用该反射方程判定多边形反射,并产生表示浓淡多边形图象的修改后的象素数据,将表示浓淡多边形的象素数 据输出到帧缓冲器,以及读出帧缓冲器中存储的修改的象素数据并以修改的象素数据所规定的色彩激活显示器上对应象素以在显示器上产生浓淡...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:基图尔特威尔斯詹姆斯范卢穆昆巴克塔杰克R麦基翁
申请(专利权)人:太阳微系统有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1