点光特性形成方法以及使用该方法的图像处理装置的制作方法

文档序号:6415539阅读:243来源:国知局

专利名称::点光特性形成方法以及使用该方法的图像处理装置的制作方法
技术领域
:本发明涉及对用计算机图像处理技术以图像形式显示的目标赋予点光效果的点光特性形成方法以及用该方法的图像处理装置。现有的技术近年来应用计算机图像处理技术,用多个多边形以图像形式显示配置在假想三维空间内的目标的图像处理装置正在普及。而且为使显示的目标更加接近于现实的技术正在研究和开发中。在目前已知的计算机图像处理技术中,包括着一种在显示的目标表面赋予光照明效果的明暗调节处理技术。将点光照射到目标上以产生特殊效果的方法,就是属于明暗调节处理技术中的一种方法。作为传统的赋予点光特性的技术,有SiliconGraphics公司开发出的OpenGL(商标)的方法。如图1所示,如果取从一点光源O向着预定点P方向延伸的光向量为L,以及从点光源O向目标移动的光源轴向量为D,则OpenGL(商标)的方法指定称为“Spotexp”以及“Cutoff”(截止)的用于点光特性的参量,并且可以用下述的方程(1)进行计算。这时的点光效果特性如图2所示。如果L=(Lx,Ly,Lz)D=(dir_x,dir_y,dir_z)如图2所示,当“Spotexp”取大的值时,该孔呈缩小形状。然而在实际使用时几乎在一切场合,均用点的扩张角来表示点特性。因此必须通过逆运算,利用指定点处的扩张角求解出可以使“Spot-Effeet”处于或低于某值时的“Spotexp”,然而这种逆运算并非是一种简单的计算处理。即使假设已经用逆运算求出“Spotexp”值,然而点特性曲线形状也要依“Spotexp”的值的变化而变化,如图2所示。因此,实际扫描出的画像会随观测者实际观测画像时的感觉而有所不同。此外,因为点特性曲线形状是唯一地由“Spotexp”值决定,所以不能独立地指定点的扩张角和强度分布。因此并不能获得像探照灯那样点扩张角狭小而且强度分布大体一定的特性,而仅仅是一种模糊不清的点光。另一方面,如果“Cutoff”参量超过作为界限的某角度,则“SpotEffect”值取作0,即因为它是与“Spotexp”不同的、指定角度用的参量,所以容易控制。但是,因为强度分布不连续,所以只能获得光点边缘清晰、强度分布一定的点光特性,这是其缺点。即“Cutoff”是光扩张角的限制值,如果超过该值,则点光照明效果变为零。因此存在有当设定“Cutoff”时该限制区变得明显的问题。另一方面作为以Microsoft公司(微软公司)开发的Softimage为代表的方法,如图3所示,有指定光点最初减弱角(圆锥角cone-angle)和最终减弱角(扩展角spreadangle)的方法。应用这种方法由下式(2)算出光点特性。在应用这第二方法时,因为特性是由角度指定的,所以其特征为控制容易,计算简单。然而,这种点特性如图4所示,特性值的变化呈线性,所以不能获得如OpenGL(商标)所示与正规曲线相似的点特性。因此,这种方法存在有如图3所示的、在最初减弱角(圆锥角coneangle)的位置上产生不自然的轮廓加重的问题。在这里所谓轮廓加重是指在与交界区域相邻的区域亮度变化不连续,从而有边界亮度被加强的视觉效果。在这里图5给出了传统的图像处理装置的一例。在图5中,CPU1用于控制使用多边形进行图像处理用的程序的执行。CPU1从多边形缓冲器11读出多边形数据并且输出到坐标变换器2。坐标变换器2把多边形三维数据变换为二维坐标,以便使它们能够在示波管显示器7上显示。坐标变换为二维坐标的多边形数据被发送到填充电路30和纹理生成电路31。填充电路30计算处于多边形各顶点包围的范围内像素的信息。上述填充的计算为基于与多边形各顶点间像素信息对应的两顶点信息,进行例如线性插值等的计算。纹理生成电路31是从内部的纹理缓冲器读出与像素对应的纹理并且通过计算确定每一像素的颜色。纹理生成电路31的输出作为像素数据发送到明暗调节电路32。明暗调节电路32是用于决定基于点光的照明效果的电路,如上所述的该点光是基于像素数据并且赋予像素的。明暗调节电路32的输出发送到色彩调制电路12和混合电路33。色彩调制电路12是基于例如明暗调节电路32求出的结果对每一像素进行色彩调制的电路,混合电路33把多边形像素色彩信息与预先描绘的色彩信息混合,并作为一帧数据写入帧缓冲器5内。该帧缓冲器5的信息在显像管显示装置7上显示。下面对在如上所述构成的图像处理装置的明暗调节电路32内实施的常规光源特性成形方法进行说明。图5所示的传统例子是一个在明暗调节电路32内有例如四个光源寄存器329以及与其对应的未图示的四个光源运算器,从而能够同时处理从4个光源来的信息的实例。例如在一个像景中使用光源a、b、c和d的情况下,将每一光源的信息即a、b、c和d预先贮存在光源寄存器A、B、C和D内。基于储存在光源寄存器329内光源a、b、c和d的信息,明暗调节电路32计算各像素受到的光源a、b、c、d的影响。光源信息如图1或图3所描绘的那样,包括例如光点轴向向量(Dx,Dy,Dz),截止角(Cutoff)以及半阴影区宽度归一化系数(Penumbra-scale)等。明暗调节电路6依靠这些光源的信息计算明暗调节量,并把其结果加在一起计算出由4个光源对各像素的影响。因此,按照传统的方式,光源寄存器329和光源演算器在数量上准确与能够在一像景内应用的光源数一致,即一般在一像景内,光源数是与光源寄存器329的数目和光源演算器的数目一样的。因此,在一像景中例如使用100个光源的情况下,则必须提供100个光源寄存器329以及同样数目的光源演算器,并且必须对100个光源进行明暗调节计算,将这些结果加在一起并且对每一像素计算100个光源的影响,但这是不切实际的,因为从硬件规模看是作不到的。在另一方面,如果系统具有状态机型,则通过逐次换写光源参量可能增加表观光源数,但是这在管理上是困难的。并且在含有Z-sorte(Z类)等并未保存多边形描图顺序的系统内,不能增加表观光源的数目。发明概述如上所述,传统方案中赋予点光效果的所有方法都存在问题。因此本发明的一个目的就是提供一个解决了这些问题的点光特性形成方法以及应用该方法的图像处理系统。本发明的另一目的是提供一种点光特性形成方法以及应用该方法的图像处理系统,使传统方法中的由运算器计算处理复杂的演算变为由图表来实现。如上所述,在传统的图像处理装置内每一像景中使用多个光源时,必须进行明暗调节量的计算,计算次数等于光源数,并且需要把计算结果加在一起。此外,配置的光源寄存器以及光源运算器的数量要和在一像景中使用的光源数相等,这将导致巨大数量的硬件量。然而实际上在场景的一像景中,对一多边形的强烈影响限于位于该多边形附近位置的光源或高强度光源。例如,即使在一像景内有100个光源,使一多边形受到强烈影响的光源仅限于靠近该多边形的四或五个光源。在这种情况下,不必对像景内所有光源的影响实施计算。在大多数情况下只对可产生强烈影响的光源计算明暗调节效果就足够了。因此本发明的一个目的是提供一个图像处理方法以及图像处理装置,以此可以在用明暗调节电路能够处理的光源数维持不变的前提下,增加在一像景内能应用的光源数。在实现上述本发明目的的一种点光特性形成方法以及应用该方法的图像处理装置的基本结构中,是把相应于所描述的点光特性曲线的多个特征值存储到图表内,并且点光的特性曲线是从该图表读出的特征值或者在从该图表读出的彼此相近的特征值之间通过插值求出的插入值而形成的。在本发明中,相应于点光特性曲线的多个特征值预先存储入图表内。其结构是这样的使用从图表读出的特征值,或者使用从该图表读出的彼此相近的特征值之间通过插值求出的插入值。因此,多个特性值能够与点光特性曲线对应,所以能够形成任意的点光特性。因为使用预先存储在图表内的特性值,所以不再需要进行复杂的计算。作为一种具体的结构,可以从对应于点光源的光轴向量和从点光源向各像素方向或从各像素向点光源方向的光向量之间的内积的图表地址读出特性值。此外,定义点光源的光轴向量以及垂直于该点光源光轴向量的至少两个轴,对由点光源的光轴向量和对与其垂直的至少两个轴分别定义至少两个平面,并将从光源向各像素方向或从各像素向光源的光向量向该至少两个平面的正投影,与上述至少两个平面和上述正投影之间所成角度相对应,从图表读出特性值,并利用该读出的特性值或从该图表读出的、在相互相邻的特性值之间的插值形成点光源特性曲线,通过上述结构可以很容易地产生非圆形的点光效果。根据本发明,在由多个多边形形成的、用图像形式显示的目标上通过光源赋予照明效果的图像处理装置中,具有保存多个光源信息的存储器;根据预定数目的光源信息对一个多边形进行明暗调节的装置;由存储器读出与多边形对应的预定数量光源信息并且把该信息供给明暗调节装置的装置。因此在计算光源如何影响每个多边形时,不必计算来自像景内所有光源的影响。如果只读出由附加在各多边形上的光源识别符号指定的预定数目光源的信息并且只对这些光源进行明暗调节处理,则在一像景内使用的光源数目表观上可以超过能同时使用的光源数。上述目的也可以通过下述方式实现,即,使在由多个多边形产生的用图像形式显示目标上赋予光源的照明效果的图像处理装置具有用于保存多个光源的多个信息组的存储器;根据多个光源的信息组对一个多边形进行明暗调节处理的装置;由存储器读出与多边形对应的多个光源信息组并且提供给进行明暗调节处理装置的装置。因此,由图像处理装置能够同时使用的光源数是多个时,则可以将该多个光源信息作为一组在缓冲器内保存,并且附加在每个多边形的光源识别符号能从缓冲器读出作为一组的光源信息。因此省略了对每一多边形选择光源信息的处理,从而可以提高处理速度。此外,在将光源照明效果赋予由多个多边形形成的、用图像形式显示目标的图像处理方法中,也可以实现上述目的。其特征为图像处理方法由以下8个步骤构成把像景内应用的光源信息写入存储器的第1步骤;把产生影响的光源的识别符号加到每一多边形上的第2步骤;对多边形数据进行坐标变换的第3步骤;对每一多边形像素写入识别符号的第4步骤;基于像素数据产生纹理的第5步骤;由存储器读出与识别符号对应的光源信息的第6步骤;在像素上进行明暗调节处理的第7步骤以及把像素数据写入帧缓冲器的第8步骤。因为对于在多边形内的各像素只需计算由光源识别符号指定的光源的影响,所以能够提高明暗调节处理速度。此外,根据本发明,构成光源组的光源对各多边形而言至少可以部分重复使用。通过部分光源的重复使用,可以维持能同时使用的光源数不变,而且可在一像景中使用超过该光源数的光源。本发明的其它目的及特征可以从参照以下附图描述的实施例中清楚地获得。附图的简单描述图1是说明OpenGL方法用的示意图。图2是图表示根据OpenGL法产生的光点特性用的示意图。图3是说明指定光点最初减弱角(锥角coneangle)和最终减弱角(扩展角Spreadangle)方法用的示意图。图4是图表示由图3的方法产生的光点特性图。图5是传统的图像处理装置结构例的方框图。图6是应用本发明的点光特性成形方法的图像处理装置结构例的方框图。图7是应用本发明的明暗调节电路实施例结构的方框图。图8是遵循本发明在明暗调节电路内应用的点特性生成电路的结构例方框图。图9图表示为阐明图8电路特性作为对比的传统结构例。图10是图表示地址生成器的结构例的方框图。图11是说明具有轴向量的点光源照明效果图。图12是以具有轴向量的点光源为一例描绘点光效果用的示意图。图13是说明本发明另一实施例用的示意图。图14是本发明的图像处理装置的第1结构例方框图。图15是本发明的图像处理装置的第2结构例方框图。图16是本发明图像处理装置的第3结构例方框图。图17是表示本图16结构例中光源缓冲器的内容用的示意图。图18是应用本发明的明暗调节电路的实施例结构的方框图。图19是遵循本发明的点特性生成电路和光源寄存器结构例的方框图。图20是说明具有轴向量的点光源的照明效果用的示意图。图20是本发明实施例的1像景的说明图。图21是本发明实施例处理的流程图。发明的实施例现在参考附图来说明本发明的实施例。在这些图中,对同一或类似物品附加同一参考数字或参考符号进行说明。图6是应用本发明的点光特性形成方法的图像处理装置结构例的方框图。在图6中,CPU1是用于控制使用多边形的图像处理用的程序。伴随着程序的运行,CPU1把显示器12上显示的多边形顶点数据以及寄存器集合函数暂时储存在多边形的缓冲存储器11内。从该多边形缓冲存储器11读出的数据输入到几何处理器2。随着CPU1的程序执行,几何处理器2变换输入数据为二维坐标系统,以便在显示器7上显示配置在三维空间内的多边形。连接绘制处理器3,以便对显示的各多边形进行着色,明暗调节和贴加纹理。在绘制处理器3的输出端连接着帧缓冲器5,其中储存着显示一个画面用的数据。在帧缓冲器5上通过D/A变换电路6连接着CRT等显示装置7,在显示装置7上顺次显示帧缓冲器5中的内容。在这里对应于CPU1的程序运行和处理速度,上述几何处理器2从多边形缓冲存储器11读出多边形顶点的数据(包括顶点坐标、顶点颜色、纹理图形坐标、顶点透光度,顶点法线向量等)以及寄存器集合函数。几何处理器2以顶点坐标数据为基础把多边形配置在三维空间内,以及为了在三维空间内显示决定可见区必须包括哪些区域等。还要进行限幅,即除掉伸到可视区之外的多边形的一些顶点。此外,以预定的视点为基准,把配置在可视区内的多边形投射到二维平面,实现三维到二维的坐标变换。坐标变换为二维坐标的多边形数据被发送到绘制处理器3。绘制处理器3包含填充电路30,贴加纹理电路31,明暗调节电路32,混合电路33。填充电路30具有计算处于由多边形顶点包围的像素信息,并把这些信息送到绘制处理器3内的其它电路的功能。上述填充计算是这样进行的,即根据与多边形各顶点间顶点像素信息对应的两顶点信息进行线性插值。贴加纹理电路31是从纹理缓冲器4读出与像素对应的纹理并且计算每一像素颜色的电路。明暗调节电路32是基于多边形顶点数据把照明效果赋予多边形的电路。正是在这一电路内实现了本发明的点光源特性形成方法。因此这一明暗调节电路32的细节和功能将在下面作进一步描述。明暗调节电路32的输出发送到混合电路33。混合电路33在必要时把从帧缓冲器11读入的上述多边形像素颜色信息与新处理的多边形像素颜色信息混合,并把结果写入到帧缓冲器5。该帧缓冲器5中的信息以每一整幅画面为单位,经D/A变换器电路6发送到显示器7并进行显示。虽然在图6省略了图示,但在混合排列处理器3内仍然提供深度(层次)测试功能单元,该深度测试功能单元比较多个多边形之间前和后的关系,并且把处于最前面的多边形数据储存在深度缓冲器(未图示)内。即先描绘的图形(多边形)的像素的Z值储存在深度缓冲器内。而且在与画面上先描绘的多边形重叠的位置上显示新多边形时,把构成新多边形的各像素的Z值与从深度缓冲器读出的先描绘的多边形的像素的Z值作比较。如果作为这种比较结果的新多边形像素处于前面,则把这些像素的Z轴写入到深度缓冲器。下面说明在具有上述结构的图像处理装置的明暗调节电路32内实施的应用本发明的点光特性形成方法以及明暗调节电路的实施例的结构。图7是适用于本发明的明暗调节电路32的一种实施例结构的方框图。坐标逆变换电路320是一种把输入的二维坐标多边形数据变换为三维坐标多边形数据的电路。通过坐标变换电路320变换成三维坐标的各像素数据分路,一路输入到光向量电路321,另一路输入到反射向量电路327。以假想的三维空间中的点光源的位置和像素的三维坐标为基础,光向量电路321计算从点光源朝向该像素的光向量。并且计算光源和该像素间的距离数据。求出的光向量输入到点特性生成电路322。求出的光源和该像素之间距离的数据输入到衰减处理电路323。本发明的点特性生成电路322的一个结构构成实例将在下面描述。在该电路中将如图11所示,求出由具有轴向量70的点光源产生的点效果特性,图12示出了其中的一个实例。在点特性生成电路322中,求出对各像素输入的光向量和点光源轴向量70的内积60,即余弦值,并将其作为由点光源产生的、沿像素方向的光强度输出。衰减电路323根据点光源O与该像素的距离计算光的衰减量。其次,根据来自点特性生成电路322的、由点光源产生的该像素方向的光强度,以及根据来自衰减处理电路323的、从点光源到该像素之间的距离产生的光衰减量,由光强度合成电路324求出相对该像素的光强度。即相对各像素的光强度,可以由在点光源的轴向量70和该像素光向量之间所成角度产生的衰减量,以及由从点光源到该像素位置的距离产生的衰减量求出。然后根据由光强度合成电路324求出的、相对各像素的光强度,对各像素赋予明暗调节效果。这些明暗调节电路效果包括漫反射效果和镜面反射效果。漫反射效果是所谓无规则的反射效果,即由穿透到物体表面内、被吸收并被再辐射的光产生的效果。该漫反射的光向各方向均等辐射。因此它与观察者的视点没有关系。重要的是从光源朝向该像素的方向和该像素的表面的法线方向所成角度,一旦该角度比π/2大,则光源进入物体的阴影,不产生漫射光。因此,输入由光强度合成电路324求出的、相对各像素的光强度,在漫射电路325内再加上一定的漫反射系数,便可以求出漫反射光的大小。镜面反射效果指在完全反射面上反射角相对于入射角就法线而言是相同的一种效果。因此,镜面反射效果只有位于所处角度与反射光的角度一致的观察者才能观测到。因此,为了求出反射光的大小必须要有观测者的视线向量。镜面反射电路326输入由光强度合成电路324求出的、相对各像素的光强度,随后由该像素的入射角和从反射电路327得到的视线向量求出反射量并输出。随后来自上述漫射电路325的漫射光量和来自镜面反射电路326的镜面反射光量在调制电路328内合成并输出。图8给出在上述构成的明暗调节电路里应用本发明的点特性生成电路322的结构例的方框图。图9给出用于比较的传统结构的一个例子,以便明确说明图8所示电路的特性。在图9所示的结构里,通过运算器40由像素数据和系数直接运算求出点特性。在这种情况下,正如以前对图1到图4说明的那样,计算是复杂的,同时形成任意的点特性是困难的。与此相反,正如以下要说明的那样,在本发明是用图表的方法,从而可以不再需要复杂的计算,从储存在图表的数据出发,形成任何所希望的点特性。此外,由点特性生成电路生成的点特性的一个实例如图12所示,即把在半阴影区(penumbrascale)上特性点从a~p的特性点的光强度特性值连接而形成特性曲线。在这里半阴影区是在图11所示角度62的范围内从点特性开始衰减的点到点照明效果变为零的点(截止)的区域。令图12中点光源0在光轴向量方向上的光强度取作1,取与特性点a~p各点相对应的像素的向量L和光轴向量D之间所成角度为横轴,而取点特性值为纵轴,并将各点对1的光强度归一化值作图表示。根据本发明的点特性生成电路322如图8所示,包含存储上述点特性的特性点a~p的光强度值的图表8,产生从图表8读出各特性点a~p光强度值的地址的地址产生器9,以及在特性点之间实施一维插值的插值器10。图8所示的点特性生成电路322的点特性图表8的一个实施例,可以包含有第1存储体80,第2存储体81。图10给出了地址产生器9的一个结构构成实例。像素信息L(光源向量Lx,Ly,Lz)和系数数据(点轴向量“Dx,Dy,Dz”,“截止角Cutoff”,半阴影区宽度归一化系数Penumbra-scale以及选择特性图表8用的指示索引“table-id”)输入到地址产生器9。在图10中通过内积计算部90求出光源向量Lx,Ly,Lz和点轴方向向量Dx,Dy,Dz的内积60(参照图11),并且求出由这两向量构成的余弦值。用减法器削除超过截止部分61(参照图11)的部分。其次将削除超过截止部分61部分用的减法器91的输出乘以半阴影区宽度归一化系数“Penumbra-scale”,例如乘以系数10,并将用于半阴影区(fade-part)62(参照图11)的部分归一化为0.1~1。因此应用限幅运算器,在输入超过1.0,则被限幅到1.0,在输入为0.0,则被限幅为0.0。限幅运算器93的输出用于存取特性图表8以及在特性点之间插值。现在假设限幅运算器93的输出是16比特(位)输出,则其中4比特可以用于存取特性图表8,1比特用于存储体转接标记SF,其余11比特用于在特性点之间插值。在如图8所示的实施例中,特性图表8由第1、2存储体80和81构成。因此在图12的特性图中,对特性点a到p的相邻的特性值数据分别交替地储存在第1存储体80和第2存储体81内。通过这种构成方式可以同时读出相邻的特性值数据,所以有可能缩短向存储器存取的时间。此外,当存储体转接标记为0,则第一存储体80读出地址(奇数地址)OA和第二存储体81读出地址(偶数地址)EA是相同的。当存储体转接标记SF为1,则第二存储体81读出的地址(偶数地址)EA通过增量(步进)电路94,相对第一存储体80读出的地址(奇数地址)OA步进1。如果用具体例说明,则当存储体转接标记SF为0,地址为0000时,第一存储体80的读出地址EA与第二存储体的读出地址OA是相同的,由第1存储体80读出的是特性点a的数据,而由第2存储体81读出的是特性点b的数据。在这种情况下,图8的插值器10输入插值参量t和为逻辑0的存储体转接标记SF,并且输入从特性图表80和81读出的特性点a和b的数据。因此插值器10可通过由下列方程式3图表达的关系,利用一维插值求出特性点a和b之间的值。Dta-b=tA+(1-t)B…………(3)在上式3中,Dta-b是在特性点a和b之间插值参数t点的点效果值,A是特性点a的点效果值,B是特性点b的点效果值。在上述的具体例子中,当存储体读出的转换标记SF是逻辑1,则通过增量电路94,由第一特性图表80读出地址并进位1,给出地址0001。特性点c的数据储存在该地址上。在这种情况下,插值器10由存储体读出的转接标记SF是逻辑1,因此由特性图表81读出的特性点b优先,从而可以根据下式(4)求出在特性点b-c间的插值数据Dtb-c,Dtb-c=tB+(1-t)C…………(4)如上所示,借助本发明可以使用简单的运算形成点特性。此外,通过任意构成在特性图表8内容存储的特性点数据的方式,还可以形成任意的点特性。即通过以指数幂构成特性点数据可以逼近OpenGL(商标)点特性,通过线性构成可以逼近弱对比度的图像点特性。图13是说明本发明另外一个实施例用的示意图。在上述实施例中,因为点特性借助与某轴所成角度求得,所以必然构成为呈圆形的点。即在图12所示的例子里只能图表达基于同心圆点光特性的点光效果。换句话说只能产生一维点光特性。在图13的实施例中进一步增加轴的数目,并且在特性图表8内可以保持二维特性点数据。采用这种构成形式,点特性可以产生具有两维特性的点。在图13所示的具体例中,定义垂直于点光的轴O的轴为轴A、B,并且通过点光的轴和轴A、B定义出OA平面及OB平面。而且,用光向量OB对OA平面及OB平面的正投影C和D与轴A、B所成角度φ、θ获得二维图表。因此可以获得二维特性的点特性。而且,还可以通过类似方式定义出垂直于点的轴O的多个轴。下面,就应用上述本发明点光源特性形成方法的图像处理装置的一个实施例进行说明。在本发明的实施例中有多个光源组和光源识别符号(此后称为“Light-ID),它表示对每个多边形使用哪个光源组。明暗调节电路按照Light-ID读出有效的光源信息,并由此进行明暗调节。图14是应用本发明的光源特性形成方法的图像处理装置的第1结构例。CPU1是用于控制执行为处理使用多边形的图像的程序。伴随着程序的执行,CPU1把在CRT显示器7上显示的多边形顶点数据以及寄存器集合函数暂时储存在多边形缓冲器11内。CPU1还把光源识别符号Light-ID加到各多边形上,这种光源识别符号为决定每一多边形受哪一光源影响的信息。从多边形缓冲器11读出的数据输入到坐标变换器2。伴随着程序的执行,坐标变换器2把输入数据变换为二维坐标以便在CRT显示装置7上显示出在三维空间中的多边形。坐标变换到二维坐标的多边形数据发送到填充电路30和纹理生成电路31。填充电路30计算由多边形顶角包围的区域内的像素信息。上述填充的计算是按照与多边形顶点间像素信息相对应的两顶点的信息进行线性插值实现的。填充电路4把附加在每个多边形上的Light-ID写到构成多边形的各像素上。写入运作的重复次数等于多边形数。纹理生成电路31从未图示的纹理缓冲器读出与像素对应的纹理,并且对每一像素计算颜色。纹理生成电路31的输出作为像素数据发送到明暗调节电路32,同时通过填充电路30把对应的多边形Light-ID附加到构成各多边形的像素上,明暗调节电路32根据这些Light-ID对于影响构成多边形的每一像素的光源进行明暗调节处理。在图14的结构例中,在明暗调节电路32内有四个光源寄存器329,它们被称为A、B、C和D,这是在一像景中明暗调节电路32能够处理的光源数为四个的情形。影响各多边形的光源信息储存在这四个光源寄存器329内。所有光源的信息均储存在光源缓冲器17内。该光源信息由Light-ID指定为4个,并存储在明暗调节电路32内的光源寄存器329内。因为在这种情况下像景中的各像素上分别附加有Light-ID,所以各像素的明暗调节处理只对由其Light-ID指定的4个光源进行便行了。而且,明暗调节电路32根据在光源寄存器329内的光源信息,计算基于多边形顶点数据的像素照明效果。下面说明明暗调节电路32的细节和功能。明暗调节电路32的输出发送到色彩调制电路12及混合电路33。色彩调制电路12是根据明暗调节电路32的输出对每一像素进行色彩调制用的电路。混合电路33是把由帧缓冲器5读入的、预先描绘的多边形像素的色彩信息和新处理的多边形像素的色彩信息混合,作为一个画面的数据写入帧缓冲器5内。该帧缓冲器11的信息在CRT的显示装置7上显示。图15是应用本发明的图像处理装置第2结构例的方框图。在图15的光源缓冲器17内存储了在1像景可以处理的光源数,即以光源寄存器329数作为一组的多个光源信息。在这种情况下在每个像素上附加1个Light-ID,并且明暗调节电路基于这个Light-ID可以从光源缓冲器17读出光源信息,在该实施例中取4个光源为1组并读出光源信息。此外,图16是应用本发明的图像处理装置的第3结构例方框图。在该结构例中,使用的一切光源信息存储在光源存储器8内,并且对每一像素有影响的光源组的信息储存在光源缓冲器17内。每一像素附加一Light-ID。明暗调节电路32能够基于Light-ID从光源缓冲器17中识别对像素有影响的光源组,并且能够从光源存储器18中读出光源信息。图17描绘了图16所示的图像处理装置第三结构例的光源缓冲器17的具体构成形式的一个实例。在这种情况下各像素的Light-ID作为6比特地址给出,相当于光源寄存器数的光源数的信息,为对各像素有影响的光源的、例如以四个光源构成一组的信息,储存在光源缓冲器17内的那个地址里。此外,Light-ID根据场景程序,作为某多边形受哪4个光源影响的信息由CPU1提供。通常指定的是在上述多边形相近位置的光源或强度高的光源。因此如图17所示,在Light-ID(000001)已附属于某多边形的情况下,该多边形及包含在该多边形内的各像素将受到光源c、d、e、f的影响,需进行明暗调节处理。因此如果应用6比特地址,则可以获得64个光源组的组合,即使硬件能够处理的光源的数量为4个,仍然能够增加图表观光源数。下面说明在上述结构的图像处理装置的明暗调节电路32内实施的光源特性形成方法以及明暗调节电路32的实施例。图18是应用本发明的明暗调节电路32的一个实施例的方框图。明暗调节电路32是计算包含在各多边形内的像素受光源怎样影响的电路,在本实施例中由向量运算器331、光源运算器330、光源寄存器329和累加器328这四个单元构成。在本实施例中为了能够一次处理四个光源的影响,分别按四组设置储存光源信息用的光源寄存器329和计算各像素的明暗调节用的光源运算器330。正如以前在图14到图17内说明的那样,四个光源的数据分别存储在光源寄存器329A、B、C、D内。因此,光源对各像素的影响能分别由与各光源对应的光源运算器330A、B、C、D计算出,并可以通过累加器328把四个光源对各像素的影响加在一起。此外,存储在光源寄存器329内的光源数据在光源运算器330中生成点特性或处理光衰减时使用。下面说明包含在明暗调节电路32内的各电路的运行。向量运算器331由坐标逆变换器320和反射向量电路327构成。坐标逆变换器320是把输入的二维坐标像素数据变换为三维坐标像素数据的电路。在本实施例中坐标逆变换电路320的输出被输入到四个光源运算器330(A、B、C、D),以便一次计算四个光源的影响。坐标逆变换电路320的其它的输出,输入到反射向量电路327。通过坐标逆变换电路320变成三维坐标并且输入到各光源运算器330(例如A)的各像素数据输入到光向量电路321。光向量电路321基于假想的三维空间中光源位置和像素的三维坐标求出从光源向该像素的光向量。接着求出光源和该像素之间的距离。求出的光向量输入点特性生成电路322。求出的光源和该像素之间的距离数据输入到衰减处理电路323。在该点特性生成电路322中,如图11所示,通过具有轴向量70的点光源O求出点效果特性,其中的一个实例如图12所示。点特性生成电路322求出对各像素输入的光向量和点光源的轴向量70的内积60,即求出余弦值,并且输出从点光源向像素方向产生的光强度。衰减处理电路323通过点光源O和该像素之间的距离计算光的衰减量。然后根据来自点特性生成电路322的、由点光源在像素方向产生的光强度,以及来自衰减处理电路323的、从点光源到该像素的距离产生的衰减量,由光强度合成电路324求出对该像素的光强度。即对各像素的光强度是根据光源本身的强度以及点光源的轴向量70、点光源的轴向量70与该像素的光向量之间所成角度产生的衰减量、以及由点光源到该像素位置的距离产生的衰减量来计算的。基于由光强度合成电路324求出的对各像素的光强度,即可以对各像素赋予明暗调节效果。作为明暗调节效果有漫反射效果、镜面反射效果。漫反射效果是所谓无规则反射效果,是由穿透入物体表面、被吸收并被再次辐射的光产生的效果。这种漫反射光向任何方向均等发射。因此与观察者的视点无关。重要的是从光源朝向该像素的方向与该像素图表面法线方向所成角度,如果该角度比π/2大,则光源进入物体的阴影内,不产生漫反射。另一方面,镜面反射效果是在理想反射面上反射光与入射先对法线的角度相同时产生的一种效果。因此镜面反射效果只能被处于与反射光的角度完全一致的观察者观测到。因此,为了求出反射光的大小,必须要有观察者的视线反射向量。镜面反射电路326输入由光强度合成电路324求出的、相对各像素的光强度,求出并输出对该像素的入射角以及从反射向量电路327得到的视线向量的反射量。从上述漫射电路325给出的漫射光量,和从镜面反射电路326给出的镜面反射光量与其它光源运算器330的B、C、D的输出一起在累加器328上合成并输出。具有如上所述构成的明暗调节电路32内应用的点特性生成电路322的结构例的方框图如图19所示。在该结构例中,正如如下说明那样,通过用图表的方法,不再需要通过复杂的计算,便可以依靠存储在图表内的数据形成任意的点特性。因为点特性生成电路A、B、C、D具有同样的结构,所以以点特性生成电路A为例进行说明。由点特性生成电路322生成的点特性的一个实例如图12所示,即在半阴影区(penumbrascale)62(参照图12)的范围内连接特性点a~p的特性点光强度特性值形成特性曲线。在图12中令点光束O在光轴向量方向的光强度为1,以对应于特性点a~p各点的向像素方向的向量L和光轴向量D之间所张角度取作横轴,而且对各点光强度为1的归一化值作图表示。在本结构例的点特性生成电路322如图19所示,包含有存储上述点特性的特性点a~p的光强度值的图表80,产生从图表80读出各特性点a~p的光强度值的地址的地址发生器90,以及在特性点之间进行一维插值的插值器100。作为像素信息的像素数据(Lx,Ly,Lz),作为光源信息的点轴方向向量(Dx,Dy,Dz),截止角(Cutoff),半阴影区宽度归一化系数(Penumbra-scales)以及选择特性图表80的指示索引(table-id)均输入地址发生器90。这些光源信息对每一光源a、b、c、……分别储存在图14和图15所示的光源缓冲器17或图16所示的光源存储器18内。在本实施例中可以处理4个光源对每一像素的影响,所以对每一像素通过图14所示的CPU1赋予指定上述4个光源的Light-ID。光源寄存器329有A、B、C、D4个,从光源缓冲器7或光源存储器8根据Light-ID读入四个光源数据,并且将光源数据提供给点特性生成电路322(A、B、C、D)。在图19中,由内积计算器91求出像素数据Lx,Ly,Lz和点轴方向向量Dx,Dy,Dz间的内积60(参照图11)、并且求出由这两个向量构成的余弦值。接着用减法器92把超过截止部(参照图11)61的部分削除。其次将削除超过截止部61的部分的减法器92的输出通过乘法器93乘以半阴影区宽度归一化整数Penumbra-scale,例如乘以系数10,对半阴影部分62(参照图11)的可用部分归一化为0.0~1.0。因此,通过限幅运算器94当输入在1.0以上时限幅为1.0,当输入在0.0以下时限幅为0.0。限幅运算器94的输出既用于特性图表80的存取也用于特性点之间的插值。如果在这儿假设限幅运算器94的输出是16比特输出,则其中4比特用于特性图表80的存取,1比特用于存储体转接标记SF,而其余11比特用于特性点插值。在图19所示的实施例中,特性图表80由第1、第2存储体81、82构成。因此,在图12的特性图中,特性点a~p的数据分别交替地存储在第1存储体81和第2存储体82内。当存储体转接标记SF为0时,由第1存储体81读出的地址(奇数地址)OA和由第2存储体82读出的地址(偶数地址)EA是相同的。另一方面,当存储体转接标记位SF为1时,通过增量电路95由第2存储体82读出的地址(偶数地址)EA相对第1存储体81读出的地址(奇数地址)OA步进1。其中一个具体实例是与以前描绘相同的。当存储体读出转接标记SF为0并且地址为0000,则由第1存储体81读出的地址EA与由第2位存储体82读出的地址OA是相同的,从第1存储体81读出的是特性点a的数据,从第二存储体82读出的是特性点b的数据。在这种情况下,向图19的插值器100中输入插值参量t以及为逻辑0的存储体读出转接标记SF。此外还输入从特性图表81和82读出的特性点a和b的数据。因此,插值器100可通过上述式3给出的关系式,利用一维插值求出特性点a、b之间的值Dta-b。在上述的具体例中,当存储体读出转接标记SF变为逻辑1时,通过增量电路95使第1特性图表81读出的地址步进1,成为地址0001。特性点c的数据存储在该地址内。在这样的情况下在插值器100内,存储体读出转接标记SF处于逻辑1,所以由特性图表82读出的特性点b被优先给出,并且通过上述方程(4)求出在特性点b和c之间的插值数据Dtb-c。因此按照上述方式,可以通过简单的运算形成点特性。而且,通过任意构成存储在特性图表80内的特性数据的方式,可以形成任意的点特性。图20给出遵循本发明的,由多个街灯照明街道的像景时的一个实施例。光源a、b、c等处于街的两侧。在形成街道的多边形上附加了图表示受到了哪些光源影响的Light-LD。在该例子中,一个多边形能够接受最多4个光源的影响。例如在多边形P2的Light-ID为(000001)的情况下,根据图17所示光源缓冲器的内容,该多边形将受到光源c、d、e和f的影响。因此如果每一多边形具有指示哪些光源影响它的ID并且进行相应光源的处理,则比能够同时处理的光源数多的光源数将在像景中起影响。图21给出了本发明的处理流程。作为程序初期处理阶段的处理,进行第1和第2步骤的处理。首先将在像景内的光源参量写入到光源缓冲器17(步骤1)。光源参量包括光源位置,色彩,强度和方向等。在景中能够包含光源缓冲器17允许范围内的光源数。其次,在每一多边形上附加上产生影响的光源的ID(Light-ID)(步骤2)。通常各多边形受最近光源的影响最强,例如在硬件能够同时处理4个光源的系统的情况下,作为Light-ID可以附加指定离各多边形最近的4个光源的光源缓冲器内的地址。作为影响多边形的光源,可以根据多边形各顶点的法线向量方向以及光源取向的方向实施选择。步骤3伴随着程序的进行,对于每一像景的每一多边形反复多次进行坐标变换和透明度变换,其变换次数等于多边形数(步骤3)。通过该步骤3的处理,三维多边形数据变换为在屏上的二维数据,而且通过透明度变换,能够对伴随视点位置变化的远近感的变化进行处理。其次进行各多边形的填充,对每个像素写入Light-ID(步骤4)。因此在该步骤4,从像景中的多个光源指定对多边形有影响的4个光源。在步骤5生成纹理(步骤5)。这种纹理包含多边形表面图形和材质感,通过映像这些图形等能够附着到作为对象的多边形表面上。其次根据本发明的特征,由光源缓冲器17读出与Light-ID对应的光源参量(步骤6)。即当Light-ID处于光源缓冲器17的地址内时,根据该地址读出储存在光源存储器18内的光源信息。其后进行明暗调节处理(步骤7)。通过该明暗调节处理,基于光源及目标多边形上的数据,进行画面照明,着色及阴影处理。随后将1个画面的视频数据写入帧缓冲器5内(步骤8)。反复多次这种从步骤5到步骤8的处理,其次数等于形成多边形的各像素数目,并且将储存在缓冲器5内的1个画面的信息在CRT显示装置7上显示。工业上利用的可能性正如以上参考的实施例那样,本发明的点特性形成方法与根据点特性计算式通过对每个像素的运算求出的方法相比,因为前者应用了点轴和光源向量所成角度,参照预先存储特性点数据的特性图表,所以可以用更简单的电路形成自由度高的点特性。点特性可具有高自由度,而且实现的电路也简单。如果进一步把预先准备的特性图表扩展为二维,则可以形成非圆形点,也可以用一个光源形成多个点。正如以上说明的那样,本发明因为具有多个光源组,并通过Light-ID进行选择,所以可以在像景中使用比能够同时使用的光源数多的光源数。权利要求1.一种对构成多边形的像素赋予点光效果特性的点光特性形成方法,其特征在于将与预定的点光特性曲线对应的多个特性值存储在图表内,利用由从该图表读出的特性值或在从该图表读出的相互相邻的特性值之间插值所求出的插入值形成该点光特性曲线。2.一种对构成多边形的像素赋予点光效果特性的点光特性形成方法,其特征在于将与预定的点光特性曲线对应的多个特性值存储在图表内,从对应于点光的光轴向量和从光源向各像素或从各像素向光源的光向量之间的内积的该图表的地址读出特性值,利用由从该图表读出的特性值或在从该图表读出的相互相邻的特性值之间插值所求出的插入值形成该点的光特性曲线。3.根据权利要求2所述的点光特性形成方法,其特征在于在前述光轴向量和前述光向量之间的内积中,将与点光的半阴影区内的像素有关的光向量之间的内积归一化,并对应于归一化了的内积从上述图表的地址读出特性值。4.一种对构成多边形的像素赋予点光效果特性的点光特性形成方法,其特征在于将与预定的点光特性曲线对应的多个特性值存储在图表内,定义点光的光轴向量以及与该点光的光轴向量垂直的至少两个轴,由该点光的光轴向量和与其垂直的至少两个轴分别定义至少两个平面,并将从光源向各像素或从各像素向光源的光向量向该至少两个平面进行正投影,对应于上述至少两个平面和上述正投影之间所成角度,从该图表读出特性值,通过该读出的特性值或者从该图表读出的、在相互相邻的特性值之间的插入值,形成该点光特性曲线。5.一种具有在被显示的多边形上赋予点光照明效果的点光特性形成部的图像处理装置,其特征在于该点光特性形成部包含存储与预定点光特性曲线对应的多个特性值的图表;产生用于从该图表读出特性值的地址的地址生成电路;以及计算从该图表对应于该地址读出的相互相邻的特性值之间的插入值的插值器,利用由该图表读出的特性值或由通过该插值器求出的插入值形成该点光特性曲线。6.根据权利要求5所述的图像处理装置,其特征在于上述地址生成电路具有计算点光的光轴和从光源向像素或从像素向光源的光向量之间的内积的电路,与计算该内积的电路求出的内积相对应,输出从上述图表读出的特性值的地址。7.根据权利要求6所述的图像处理装置,其特征在于上述地址生成电路还包括从上述计算内积的电路求出的内积值中提取与点光半阴影区内的像素有关的内积值的提取电路;和使该提取电路的输出归一化的归一化电路。8.根据权利要求5至7任一项所述的图像处理装置,其特征为在于存储与前述预定的点光特性曲线对应的多个特性值的图表由两个存储体构成,分别存储该多个特性值中奇数的特性值和偶数的特性值,前述插值器求出从该两个存储体的图表中分别读出的相互相邻的特性值的插入值。9.一种对构成多边形的像素形成点光效果特性的点光特性形成方法,其特征在于把与预定的点光特性曲线对应的多个特性值存储在由从点光源向各像素或从各像素向点光源的光向量中提取的独立的两个分量作为参量的二维图表内,根据前述二个参量,从前述二维图表读出特性值,由该读出的特性值或者由从该图表读出的相互相邻的特性值之间的插入值形成点光特性曲线。10.一种对由多个多边形形成的、用图像形式显示的目标赋予光源照明效果的图像处理装置,其特征在于包括保存多个光源信息的存储器;根据预定数量的光源信息对一个多边形进行明暗调节的装置;从该存储器读出对应于多边形的该预定数量的光源信息提供给进行该明暗调节的装置的装置。11.根据权利要求10所述的图像处理装置,其特征在于前述预定数量的光源与前述多边形和前述光源之间的距离相对应。12.根据权利要求10所述的图像处理装置,其特征在于前述预定数量的光源的信息通过包含在构成多边形的多个像素中的每个像素数据内的识别符号来指定。13.根据权利要求10所述的图像处理装置,其特征在于上述预定数量的光源相对不同的多边形至少部分重复。14.在一种对由多个多边形图像形成的显示目标赋予光源照明效果的图像处理装置,其特征在于包括保存多个光源的多个信息组的存储器;根据该多个光源的信息组对一个多边形进行明暗调节的装置;从该存储器读出与多边形对应的该多个光源的信息组、并提供给进行该明暗调节的装置的装置。15.一种对由多个多边形形成的、用图像形式显示的目标赋予光源照明效果的图像处理装置,其特征在于包括保存多个光源的信息的第一存储器;保存多个光源的组的多个信息的第二存储器;根据对应于该多个光源的组的光源信息对一个多边形进行明暗调节处理的装置;从该第二存储器读出与多边形对应的该多个光源的组的信息、并根据该多个光源的组的信息从前述第一存储器读出与该多个光源的组对应的光源的信息、提供给进行明暗调节处理的装置的装置。16.根据权利要求14或15所述的图像处理装置,其特征在于前述多个光源的组与前述多边形和前述光源的距离相对应。17.根据权利要求14或15所述的图像处理装置,其特征在于前述多个光源的组通过包含在构成多边形的多个像素中的每一个的像素数据内的识别符号指定。18.根据权利要求14或15所述的图像处理装置,其特征在于前述多个光源的组的光源相对不同的多边形至少部分重叠。19.一种对多个多边形形成的、用图像形式显示目标赋予光源照明效果的图像处理方法,其特征在于包括以下步骤把像景中使用的多个光源信息写入存储器的第1步骤;在每个多边形上附加产生影响的光源的识别符号的第2步骤;对上述多边形的数据进行坐标变换的第3步骤;将识别符号写入构成上述多边形的像素的第4步骤;根据上述像素的数据产生纹理的第5步骤;从该存储器读出对应于该识别记号的该每个像素受光源影响的光源信息的第6步骤;根据从该存储器读出的光源信息在该像素上进行明暗调节处理的第7步骤;把该像素的数据写入帧缓冲器的第8步骤。20.根据权利要求19所述的图像处理方法,其特征在于对于由多个多边形构成的目标,重复上述第3及第4步骤,且重复次数等于上述多边形的数量。21.根据权利要求20所述的图像处理方法,其特征在于对于由多个像素构成的多边形,重复上述第5到第8步骤,且重复次数等于上述像素数量。22.根据权利要求19所述的图像处理方法,其特征在于前述识别符号指定对每个多边形有影响的多个光源的组。23.根据权利要求19所述的图像处理方法,其特征在于对上述每个多边形产生影响的光源与前述多边形和前述光源的距离相对应。全文摘要一个图表用于形成对由图像处理装置显示的多边形图像赋予照明效果的点光特性,在一像景中可以使用的光源数增加到多于能够同时使用的光源数。为了实现这一点,在对构成多边形的像素赋予点光效果特性的形成方法中,把与预定的点光特性曲线对应的多个特性值存储于图表内,通过从该图表读出的特性值和插入相邻特性值之间的插入值形成该点光特性曲线。计算点光轴向量和指向像素的光向量之间的内积,以该求出的内积值作为地址并且从前述图表的相应的地址读出特性值。而且还配备有保存光源数据的一缓冲器,其光源数目超过由图像处理装置能够同时处理的光源数目;附加光源识别符号的装置,其数目等于影响每一多边形的光源数目;根据光源识别符号从缓冲器读出光源信息的装置;以及根据光源信息进行明暗调节处理的装置。文档编号G06T15/80GK1231041SQ9880093公开日1999年10月6日申请日期1998年3月31日优先权日1997年5月7日发明者森冈诚介,安井启祐申请人:世嘉企业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1