CN100568289C - 计算机绘图元素描绘方法及装置 - Google Patents

计算机绘图元素描绘方法及装置 Download PDF

Info

Publication number
CN100568289C
CN100568289C CN 200710136314 CN200710136314A CN100568289C CN 100568289 C CN100568289 C CN 100568289C CN 200710136314 CN200710136314 CN 200710136314 CN 200710136314 A CN200710136314 A CN 200710136314A CN 100568289 C CN100568289 C CN 100568289C
Authority
CN
China
Prior art keywords
drawing
boundary
cropping window
pixel
plurality
Prior art date
Application number
CN 200710136314
Other languages
English (en)
Other versions
CN101071509A (zh
Inventor
王财升
Original Assignee
威盛电子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 威盛电子股份有限公司 filed Critical 威盛电子股份有限公司
Priority to CN 200710136314 priority Critical patent/CN100568289C/zh
Publication of CN101071509A publication Critical patent/CN101071509A/zh
Application granted granted Critical
Publication of CN100568289C publication Critical patent/CN100568289C/zh

Links

Abstract

本发明提出一种计算机绘图元素描绘方法及装置,特别涉及一种计算机绘图元素描绘方法,其包括接收绘图元素、裁切平面和预设裁剪窗界;依据第一裁剪窗界、裁切平面和绘图元素顶点间的空间关系决定第二裁剪窗界;自绘图元素剔除一调整后的裁剪窗界范围外的像素以决定一群待描绘像素;以及决定一群实际描绘像素,其中决定实际描绘像素群的步骤包括自该群待描绘像素中移除符合一裁切准则的像素。本发明亦包括实行此方法的装置。本发明所述的计算机绘图元素描绘方法及装置,通过一独立的裁剪窗界调整模块的加入,在不大幅改变其他模块的原有架构下,即达到提升计算机绘图元素描绘装置效能的目的。

Description

计算机绘图元素描绘方法及装置

技术领域

本发明是有关于一种计算机绘图技术,特别是关于一种附

有使用者指定裁切平面(clipping planes)的计算机绘图元素 (primitive)描绘方法及装置。

背景技术

计算机绘图技术的基本动作在于描绘(rendering)三维物 体的二维影像以将其显示或呈现于诸如阴极射线管(Cathod Ray Tube; CRT )或液晶显示器(Liquid Crystal Display; LCD) 等显示装置或监视器上。被描绘的物体可能是诸如点、线段、 三角形或多边形等简单几何元素(geometry primitive )。较为复 杂的物体可通过将其表示为一连串彼此相连的平面多边形,例 如,通过将其表示为一连串彼此相连的平面三角形而被描绘于 显示装置上。所有几何元素最终皆可以表示成单 一 顶点 (vertex)或一群顶点的集合,例如,定义一个点的坐标(X, Y, Z),又例如一线段的端点,或是一三角形的顶点。

为了产生用于将三维元素的二维投影显示于计算机监视器 或其他显示装置的数据组,该元素的顶点须经由图形描绘管线 (graphics — rendering pipeline ) 的 一 系歹'J运算或处理级 (processing stages )处理。 一般的管线不过是一 系列串联的处 理单元,或称为级(stages),其前一级的输出作为后一级的输 入。在绘图处理器的领域中,此等所谓的"级"包括诸如顶点 相关运算、元素组合运算、像素(pixel)运算、紋路(texture) 组合运算、阵歹寸(rasterization)运算以及石卒片 (fragment)运算。典型的绘图显示系统,较为复杂的物体通常#皮描述成包括

许多称为绘图元素(primitives)的小多边形,其^隻盖于该物体 的表面就如同许多小磁砖覆盖于墙面或其他表面之上。每一多 边形被表示为一组顶点坐标(模型坐标系中的X, Y, Z)并指 明某些材料表面性质(意即,颜色、紋路、光泽等等)。对于具 有复杂曲面的三维物体,前述多边形一般而言必须是三角形或 四边形,其中后者永远可以分解为一对三角形。

一转换引擎(transformation engine )参照使用者输入所选 定的视角转换物体的坐标。此外,使用者亦可以指定一见场(field of view)、产生影像的大小和影像所在区域后方的细节以依需 要呈现或移除背景。

一旦此可见区域(viewing area) #:选定,i者如裁剪窗界 (scissor window )的裁切遷專辱(clipping logic )即移除4立于可 见区域外的绘图元素并处理部分位于可见区域内而部分位于可 见区域外的绘图元素。绘图元素的顶点随之被传送至下一级, 传送的内容为每一顶点对应于屏幕( viewing screen )的坐才示(以 X, Y坐标的形式)和其相关的深度(Z坐标)。典型的系统中, 尚须引进考虑到光源的照明模型(lighting model ),而后绘图元 素和其颜色值传送至诸如阵列器(rasterizer)的像素内插模块 或称属性内插才莫块(Attribute Interpolation Module )。

对于每一绘图元素,阵列器决定哪些像素位于此绘图元素 之上并尝试将其颜色值和深度(Z值)写入帧緩冲器(frame buffer)之内。阵列器将正被处理的绘图元素中的深度(Z值) 和像素的深度值做比较,该值可能已经写入帧緩冲器。假如新 绘图元素像素的深度值较小,表示其位于已写入帧緩冲器的绘 图元素前方,则其值将取代帧緩沖器内已有的数值,因为此新 绘图元素将会遮蔽先前处理而已写入帧缓冲器的绘图元素。此程序一直重复直到所有绘图元素均被描画完成为止。此时,一 视频控制器将帧緩冲器的内容依描画的顺序逐条扫描线显示于 一显示器上。

介绍一般技术背景之后,以下参见图l,其显示一传统的管

线式计算机绘图元素描绘装置100的方块图。包括绘图元素PR 和裁切逻辑CLogic的输入数据沿绘图管线传送。绘图元素PR可 以包括其所在位置的数据(例如,表示为X, Y, Z空间坐标的 顶点),而裁切逻辑CLogic则可以包括预设的裁剪窗界和使用者 指定的一或多个裁切平面(clipping planes ) UDCP。裁剪窗界 通常表示为上下左右四个边界值。裁切平面UDCP则可以表示 成诸如f (x,y,x) 二ax+by+cz+d的空间坐标函数,通常其将裁切 或移除绘图元素PR中所有使得此空间坐标函数为负值的像素 或点,而仅允许显示使得此空间坐标函数为正值的像素或点。 上述输入信息首先进入顶点着色器(vertex shader ) 102。 顶点着色器10 2可以对绘图元素P R的顶点信息执行各种转换。 例如,由真实世界坐标(world coordinates )转换至才莫型^L界坐 标(model view coordinates), 再转换至投影坐标(projection coordinates), 最后转换至屏幕坐标(screen coordinates )。 顶点 着色器102的功能亦可以包括计算或取得绘图元素PR顶点的诸 如颜色和透视校正系数(perspective correction factor)等属性 值(attributes)(图中以VX—ATT表示顶点属性值数据的集合)。 当输入数据包括使用者指定的裁切平面U D C P时,顶点着色器 102亦可以计算绘图元素PR的顶点对于所述裁切平面UDCP的 裁切判定距离(图中以VX—DISc表示此等顶点裁切判定距离的 集合)。顶点坐标代入裁切平面函数的结果值通常可以做为裁切 判定距离,当裁切判定距离为负值时,表示此顶点被裁切而不 应被显示。反之,当裁切判定距离为正值时,则保留此顶点。像素内插模块106依据顶点着色器102的输出以诸如内插法 的技术求出绘图元素PR内部的所有像素PX和其属性值

PX—ATT,以及所有像素的裁切判定距离PX一DISc。之后,绘图 元素P R内的每 一 像素均于Z值测试模块10 8执行Z值测试。所谓Z 值测试是指将目前的Z值(意即绘图元素PR内 一特定像素的深 度值)和对应像素储存于Z值緩冲器(Z Buffer)的Z值做比较。 储存的Z值提供先前描绘元素于特定像素位置的深度值。假如 目前的Z值相对于储存的Z值并未较接近目前的观测点,则帧緩 沖器和Z值緩冲器均无须置换,因为先前描绘的像素于此被视 为在目前像素的前方。假如目前的Z值的深度相对于储存的Z值 较接近观测者的双眼,则目前的Z值将取代储存的Z值且目前的 绘图信息(例如颜色)将取代相对的帧缓冲器中像素位置的相 对信息(此是于像素着色器(pixel shader) IIO判定)。Z值测 试模块108将读取Z值緩冲器中包括像素PX中通过Z值测试的像 素PXz。对于绘图元素PR内被判定较先前储存的像素更接近观 测点的像素,将伴随相关信息传送至像素着色器IIO,像素着色 器110决定绘图元素PR内每一 已被判定较接近目前观测点的像 素的绘图信息。此外,传统计算机绘图元素描绘装置IOO亦可以 包括一颜色读取模块112,其读取像素的颜色和透明度数据并可 以供绘图元素PR背景呈现处理所使用。

对于附有使用者指定的裁切平面的情形,传统计算机绘图 元素描绘装置100的设计是于像素着色器110参考通过Z值测试 的像素PXz并将裁切判定距离PXz—DISc为负值的像素舍去而输 出 一群实际描绘像素PXr。然绘图元素PR所有像素的裁切判定 距离于像素内插模块10 6其实已可完全决定。由于传统的Z值测 试模块108并未参照使用者指定的裁切平面及其相关信息,其显 然将浪费许多计算和存储器频宽于裁切像素的Z值测试运算。此外,传统的像素内插模块106其实亦浪费了许多资源于求取绘 图元素PR内所有像素的属性值和其裁切判定距离。绘图元素PR 的某些像素于属性内插阶段即可以舍去。

基于前述传统计算机绘图元素描绘系统的缺失,其有必要 提出改进以避免不必要的系统资源浪费和冗赘的运算。且此等 改良最好可以不改变传统计算机绘图元素描绘装置各个模块的 原有架构,又能达成增进整体效能的目的,以使得变更设计的 代价减到最小。 ,

发明内容

本发明提出 一 种附有使用者指定裁切平面的计算机绘图元 素描绘方法,其相对于传统技术可以避免不必要的系统资源浪 费和冗赘的运算。 ,

本发明提出 一 种附有使用者指定'裁切平面的计算机绘图元 素描绘装置,其在不大幅改变传统技术各个模块原有架构的前 提下,达成增进系统整体效能的目的。

本发明提出 一 种计算机绘图元素描绘方法,其包括接收绘 图元素、多个裁切平面和预设裁剪窗界;依据该预设裁剪窗界、 所述多个裁切平面中的第一裁切平面和该绘图元素顶点间的空 间关系决定一第一裁剪窗界;依据第一裁剪窗界、所述多个裁 切平面中的第二裁切平面和绘图元素顶点间的空间关系决定第

二裁剪窗界;自绘图元素剔除一调整后的裁剪窗界范围外的像 素以决定一群待描绘像素;决定一群实际描绘像素;以及显示 此群实际描绘像素,其中决定实际描绘像素群的步骤包括自该 群待描绘像素中移除符合一裁切准则的像素,所述多个裁切平 面分别表示为多个空间坐标函数,而该裁切准则判断像素坐标 是否使得任一该多个空间坐标函数的值落入一第一无限开放区

间,该绘图元素是一三角形且该第一无限开放区间等于(-00,0)。

本发明又提出一种计算机绘图元素描绘方法,包括:输入该绘图元素、多个裁切平面和一预设裁剪窗界;依据该预设裁 剪窗界、该多个裁切平面和该绘图元素间的空间关系决定 一 新 裁剪窗界;自该绘图元素剔除该新裁剪窗界范围外的像素以决

定一群待描绘像素;通过移除该群待描绘像素中符合一裁切准 则的像素而决定 一 群实际描绘像素;以及显示该群实际描绘像 素;其中该多个裁切平面分别表示为多个空间坐标函数,而该 裁切准贝'j判断像素坐标是否使得任 一 该多个空间坐标函数的值 落入一无限开放区间,该绘图元素是一三角形且该无限开放区

间等于(_ oo, 0)。

本发明另提出一种计算机绘图元素描绘装置,其包括顶点 着色器、裁剪窗界调整模块、像素内插模块和像素着色器。顶 点着色器接收绘图元素、多个裁切平面和预设裁剪窗界,并决

定绘图元素各顶点的多个属性值;裁剪窗界调整模块,依据该 预设裁剪窗界、所述多个裁切平面中的第一裁切平面和该绘图 元素顶点间的空间关系决定一第 一裁剪窗界,并依据第 一裁剪 窗界、所述多个裁切平面中的第二裁切平面和绘图元素间的空 间关系决定第二裁剪窗界;像素内插模块自绘图元素剔除一调 整后的裁剪窗界范围外的像素以决定一群待描绘像素;而像素 着色器通过移除此群待描绘像素中符合一 裁切准则的像素决定

一群实际描绘像素并输出至一像素显示区;其中所述多个裁切

平面分别表示为多个空间坐标函数,而该裁切准则判断像素坐 标是否使得任一该多个空间坐标函数的值落入一第一无限开放 区间,该绘图元素是一三角形且该第一无限开放区间等于(-

oo, 0 )。

本发明所述的计算机绘图元素描绘方法及装置,通过 一 独 立的裁剪窗界调整模块的加入,在不大幅改变其他模块的原有 架构下,即达到提升计算机绘图元素描绘装置效能的目的。

附图说明

图l显示一传统的管线式计算机绘图元素描绘装置的方块图。

图2显示依据本发明 一 实施例的计算机绘图元素描绘装置 的方块图。

图3显示绘图元素、各裁剪窗界和裁切平面间的关系,此范 例示范绘图元素是三角形且裁切平面的数目等于二的情形。

图4例示依据本发明 一 实施例的调整原裁剪窗界的范围以

产生另一裁剪窗界的方法。

图5例示决定 一 边界和 一 裁切平面的交点的方法。

图6显示依据本发明 一 实施例的计算机绘图元素描绘方法。

具体实施方式

以下参见图2,其显示依据本发明 一 实施例的计算机绘图元 素描绘装置200的方块图。计算机绘图元素描绘装置200包括顶 点着色器202、裁剪窗界调整模块204、像素内插模块206、 Z值 测试模块208、像素着色器210和颜色读取模块212。以下配合相 关图式分别就计算机绘图元素描绘装置2 0 0各组成要件详细说 明其运作细节。

顶点着色器202可以接收绘图元素PR 、多个裁切平面 UDCP丄—UDCPN和预设裁剪窗界(default scissor window ) DSW 并决定绘图元素PR各顶点的相关属性值VX一ATT,诸如颜色、 紋理和透乓见才交正系#: ( Perspective Correction Factor )等。顶点 着色器202亦决定绘图元素PR各顶点相对于多个裁切平面 UDCPi - UDCPn的裁切判定距萬VX—DISc。如前所述,当一顶 点的相对于裁切平面UDCPi ( UDCPi - UDCPn其中之一 )的裁 切判定距离为负值时,表示此顶点为裁切平面UDCPi所移除。

裁剪窗界调整模块204依据预设裁剪窗界DSW、多个裁切 平面UDCPi - UDCPn和绘图元素PR间的空间关系决定 一 新的裁剪窗界SWn。首先,裁剪窗界调整模块204可以先依据预设裁

剪窗界DSW和绘图元素PR各顶点相对于裁切平面UDCP!的裁 切判定距离判断绘图元素PR的裁切状况,并产生一第一裁剪窗 界SWi。接着,依据第一裁剪窗界SWi和绘图元素PR各顶点相 对于裁切平面UDCP2的裁切判定距离,可产生第二裁剪窗界 SW2。重复此程序N次,最后可产生第N裁剪窗界SWN,即是该 新的裁剪窗界。图3显示N等于2而绘图元素PR是一三角形T时, 依据前述步骤产生的新裁剪窗界SWN和三角形T、裁切平面 UDCPp裁切平面UDCP2以及预设裁剪窗界DSW间的关系。图 中二箭头的方向分别指出裁切平面UDCP!和裁切平面UDCP2欲 保留的空间。推到最广的情况,每一新裁剪窗界产生程序均会 依据一旧的裁剪窗界(例如,第二次执行此程序时的第一裁剪 窗界SWi )、某一裁切平面和绘图元素PR间的空间关系决定一 更 新后的裁剪窗界(例如,第二次执行此程序时的第二裁剪窗界 SW2)。并且,前述旧的裁剪窗界(例如,第二次执行此程序时 的笫一裁剪窗界SWi )是自预设裁剪窗界DSW通过之前的裁剪 窗界产生程序所导出,且其范围被预设裁剪窗界DSW所涵盖。 另 一方面,后续的裁剪窗界产生程序将从更新后的裁剪窗界(例

如,第二次执行此程序时的第二裁剪窗界SW2)导出前述的新

的裁剪窗界SWn,且新的裁剪窗界SWn的范围被前述的更新后

的裁剪窗界(例如,第二次执行此程序时的第二裁剪窗界SW2)

所涵盖。

以下举例说明于给定任一裁剪窗界SWa和绘图元素PR各 顶点相对于一裁切平面UDCP的裁切判定距离的条件下,如何 调整裁剪窗界SWa的范围以产生另 一裁剪窗界SWb。若绘图元 素PR各顶点相对于裁切平面UDCP的裁切判定距离均为正值, 意味绘图元素PR未被裁切平面UDCP裁切,此时裁剪窗界SWb的范围可以设为等于裁剪窗界SWa的范围。若各顶点的裁切判 定距离均为负值,则表示绘图元素PR完全被裁切平面UDCP所 遮蔽,其将完全不被显示(此特殊情况,裁剪窗界SWb的范围 可以视为收敛成一个点)。若各顶点的裁切判定距离包括正值和 负值,则须进一步决定裁切平面UDCP与绘图元素PR周边的交 点,并配合裁切判定距离为正值的顶点决定裁剪窗界S W b的范 围。图4例示依据本发明 一 实施例的调整原裁剪窗界Swa的范围 以产生另 一裁剪窗界SWb的方法,其中裁剪窗界Swa的范围包 括左侧边界scissorj、右侧边界scissor—r、顶侧边界scissor—t和 底侧边界scissor—b 。其于给定裁切平面UDCP与绘图元素PR周 边的交点以及裁切判定距离为正值的顶点的条件下,将裁切平 面UD CP与绘图元素PR周边的交点以及裁切判定距离为正值的 顶点视为一点集合(步骤40),并分别决定此点集合中最大的水 平(X)坐标值Xmax、最小的水平(X)坐标值Xmin、最大的 垂直(Y)坐标值Ymax以及最小的垂直(Y)坐标值Ymin (步 骤41至步骤44)。接着,将裁剪窗界SWb的左侧边界设为Xmin 和scissor一l的较大者,将裁剪窗界SWb的右侧边界设为Xmax和 scissor一r的较小者,将裁剪窗界S Wb的顶侧边界设为Ymax和 scissor一t的较小者,以及将裁剪窗界SWb的底侧边界设为Ymin 和scissor—b的较大者(步骤45至流程步骤48 )。

决定裁切平面UDCP与绘图元素PR周边的交点意味求取裁 切平面UDCP与绘图元素PR每一边界的交点。参见图5,其例示 决定一边界EDGE和一裁切平面UDCP的交点的方法。边界 EDGE表示为二顶点Vo ( Xo, Yo, Zo, Wo)和Vi(Xi, Yi, Zi, Wi),其中Wo和Wi分别为顶点Vo和Vi的透视校正系数,其可以 于顶点着色器202中决定。假设顶点Vo和Vi相对于裁切平面 UDCP的裁切判定距离分别为Do和Di,则边界EDGE和裁切平面UDCP的交点Vx可以利用公式Vx=Vo+ ( Do/Wo ) ( Vi - Vo ) /(Do/Wo-Di/Wi)求得。由于Vx在裁切平面UDCP之上,故其裁切判定距离等于零。裁切判定距离必须以透视校正系数修正之,方能内插出交点Vx的正确坐标。

回到图2。像素内插模块206依据裁剪窗界调整模块204调整后的新裁剪窗界S WN以诸如内插法的技术产生 一 群待描绘像素PXc 、其相关属性值PXc—ATT以及其相对于裁切平面的裁切判定距离PXc—DISc。此群待描绘像素PXc基本上是产生自绘图元素P R剔除此新裁剪窗界S WN涵盖范围外的像素。若情况如图3所示的情形,则此群待描绘像素PXc即是位于图中斜线区域的点。由图3的例示显然可知,相较于传统方式,当使用者指定的裁切平面依据本发明的方法使得待显示的绘图元素的范围缩小时,其产生的待描绘像素PXc数目较少,故将节省求取其相关属性值的时间。同理,计算机绘图元素描绘装置200后续的组件Z值测试模块208、像素着色器210和颜色读取模块212均是针对该群待描绘像素PXc做进一步处理(Z值测试模块208并执行Z值测试使Z值緩冲器包括待描绘像素PXc中通过Z值测试的像素PXcz),其耗用的系统资源正比于待描绘像素PXc的数目,故若待描绘像素PXc数目减少,各模块的运算时间和使用的存储器频宽均相对减少。之后,像素着色器210依据该群通过通过Z值测试的4象素PXcz和其相对于裁切平面的裁切判定距离PXcz一DISc决定 一群实际描绘像素PXr,当该群待描绘像素PXcz数目减少,则像素着色器210相对耗用的资源亦较少。Z值测试模块208和颜色读取模块212的细节运作和传统方式相同,在此不予赘述。此点亦为本发明的一特色,其通过一独立的裁剪窗界调整模块2 04的加入,在不大幅改变其他模块的原有架构下,即达到提升计算机绘图元素描绘装置效能的目的。由以上说明可知,本发明亦揭示一种附有使用者指定裁切平面的计算机绘图元素描绘方法。图6显示依据本发明 一 实施例的计算机绘图元素描绘方法。图6例示的方法仅针对三个使用者指定裁切平面的情况,但本发明的范围显然不限于此,本例示的简化仅是为了方便说明。

以下说明图6例示的附有三个使用者裁切平面的计算机绘

图元素描绘方法。首先参见步骤60,其接收多个使用者裁切平面、预设裁剪窗界DSW以及欲描绘的绘图元素PR,其中使用者裁切平面包括第一裁切平面UDCPp第二裁切平面UDCP2和第三裁切平面UDCP3。如前所述,裁切平面可以表示为空间函数,故步骤60可以接收三个空间函数F1 (x,y,z)、 F2 ( x,y,z )和F3(x,y,z)分别代表第一裁切平面UDCPp第二裁切平面UDCP2和第三裁切平面UDCP3。步骤60可以于图2所示的顶点着色器202进行。

接着参见步骤61-63,其依据预设裁剪窗界DSW、第一裁切平面UDCPi和绘图元素PR的空间关系决定一第 一裁剪窗界SW1,再依据第一裁剪窗界SW1、第二裁切平面UDCP2和绘图元素PR的空间关系决定一第二裁剪窗界SW2,复依据第二裁剪窗界SW2、第三裁切平面UDCP3和绘图元素PR的空间关系决定一第三裁剪窗界SW3。以上61至63的任一步骤均可以包括依据特定的空间关系决定一点集合,譬如,此点集合可以包括绘图元素P R未被某裁切平面裁切的顶点以及绘图元素P R周边与前述的某裁切平面的交点。之后即可运用诸如揭示于图4和其相关说明的方法调整原裁剪窗界(例如步骤61的预设裁剪窗界DSW、步骤62的第 一 裁剪窗界SW1和步骤63的第二裁剪窗界SW2)的范围而产生一新的裁剪窗界(例如步骤61的第一裁剪窗界SW1、步骤62的第二裁剪窗界SW2和步骤63的第三裁剪窗界SW3 )。步骤61至63可以于图2所示的裁剪窗界调整模块204中完成。

之后,于步骤64,依据第三裁剪窗界SW3和绘图元素PR决定一群待描绘像素,譬如自绘图元素PR剔除第三裁剪窗界SW3范围外的像素以做为此群待描绘像素。步骤64可以于图2所示的像素内插模块206中完成。而后于步骤65决定一群实际描绘像素,此决定该群实际描绘像素的步骤包括自该群待描绘像素中移除符合一裁切准则的像素。例如,此裁切准则可以定义为使得任一空间函数F1 ( x,y,z)、 F2 ( x,y,z)或F3 ( x,y,z )为负值的点,则步骤65即包括自该群待描绘像素中移除使得任一空间函数Fl(x,y,z)、 F2 ( x,y,z)或F3 ( x,y,z)为负值的像素。步骤65可以于图2所示的像素着色器210中完成。最后于步骤66显示或呈现该群实际描绘像素。

由于空间函数的表示方法可以自由选一奪(例如,其可以自由选择将f ( X,Y,Z )表示为aX+bY+cZ+d、 aX+bY+cZ或-aX -bY - cZ - d),故裁切准则亦可以定义为^:得代表裁切平面的空间函数f(x,y,z)为正值的点,或是使得空间函数值落入一无限开放区间(infinite open interval)的点。无限开放区间是指具有一开放端点(open end point)的无限区间。例如,使得一函数为负值即表示使得该函数值落入无限开放区间(-00, 0)。本领域技术人员当能理解,若裁切准则定义为移除使得一空间函数值落入一无限开放区间的点,例如(-oo, EP)(EP表示此区间的开放端点),则使得该空间函数值落入另 一无限开放区间(EP,oo)的点将会被保留,此二区间具有相同的开放端点且彼此没有交集。

以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。

附图中符号的简单说明如下:

40 - 48:依据本发明的裁剪窗界调整方法的步骤

60 - 66:依据本发明的计算机绘图元素描绘方法的步骤

100:传统管线式计算机绘图元素描绘装置

200:本发明的管线式计算机绘图元素描绘装置

102/202:顶点着色器

204:裁剪窗界调整模块

106/206:寸象素内插模块

108/208: Z值测试模块

110/210:像素着色器

112/212:颜色读取模块

PR:绘图元素

Clogic:裁切逻辑

VX—ATT:顶点属性^f直

VX一DISc:顶点裁切判定距离

PX:绘图元素内部的所有像素

PX一ATT:绘图元素内部像素属性值

PX一DISc:绘图元素内部^象素的裁切判定距离

PXz:绘图元素内部通过Z值测试的像素

PXr:实际描绘像素

PXc:待描绘像素

PXc—ATT:待描绘像素属性值

PXc一DISc:待描绘像素裁切判定距离

PXcz:通过Z值测试的待描绘像素

DSW:预设裁剪窗界Swa:调整前的裁剪窗界

SWb:调整后的裁剪窗界

SWN:新裁剪窗界

UDCP/UPCPJUPCP2:裁切平面

Vo/Vi:绘图元素顶点

Vx:症会图元素和裁切平面的交点

Wo/W:透^L校正系数

Xo/Xi:空间水平坐标

Yo/Yi:空间垂直坐标

Zo/Zi:空间深度坐标

T:三角形绘图元素

EDGE:绘图元素的边界。

Claims (10)

1.一种计算机绘图元素描绘方法,其特征在于,包括: 接收该绘图元素、多个裁切平面和一预设裁剪窗界; 依据该预设裁剪窗界、所述多个裁切平面中的第一裁切平面和该绘图元素顶点间的空间关系决定一第一裁剪窗界; 依据该第一裁剪窗界、所述多个裁切平面中的第二裁切平面和该绘图元素顶点间的空间关系决定一第二裁剪窗界; 自该绘图元素剔除一调整后的裁剪窗界范围外的像素以决定一群待描绘像素; 决定一群实际描绘像素;以及 显示该群实际描绘像素, 其中决定该群实际描绘像素的步骤包括自该群待描绘像素中移除符合一裁切准则的像素,所述多个裁切平面分别表示为多个空间坐标函数,而该裁切准则判断像素坐标是否使得任一该多个空间坐标函数的值落入一第一无限开放区间,该绘图元素是一三角形且该第一无限开放区间等于(-∞,0)。
2. 根据权利要求l所述的计算机绘图元素描绘方法,其特 征在于,上述的决定该第二裁剪窗界的步骤包括:决定一点集合,其包括该绘图元素周边与该第二裁切平面 的交点和该绘图元素未一皮裁切的顶点; 决定该点集合中的最大垂直坐标值; 决定该点集合中的最小垂直坐标值; 决定该点集合中的最大水平坐标值;决定该点集合中的最小水平坐标值;以及 将该第二裁剪窗界的任一边界设为该最大垂直坐标值、该最小垂直坐标值、该最大水平坐标值或该最小水平坐标值,其中该未被裁切的顶点是该绘图元素中使得表示该第二裁切平面的空间坐标函数的值落入一第二无限开放区间的顶点,该第二无限开放区间和该第一无限开放区间具有相同的开放端 点且其交集为空集合。
3. 根据权利要求2所述的计算机绘图元素描绘方法,其特 征在于,更包括决定该绘图元素各顶点的多个属性值,该多个 属性值包括透视校正系数;其中上述的决定该点集合的步骤包括利用内插法和该透视 校正系数求,取该绘图元素的 一边界与该第二裁切平面的交点。
4. 根据权利要求l所述的计算机绘图元素描绘方法,其特 征在于,该第一裁剪窗界不等于该预设裁剪窗界且被该预设裁 剪窗界所涵盖,该调整后的裁剪窗界不等于该第二裁剪窗界且 被该第二裁剪窗界所涵盖。
5. —軒计算机绘图元素描绘方法,其特征在于,包括: 输入该绘图元素、多个裁切平面和一预设裁剪窗界; 依据该预设裁剪窗界、该多个裁切平面和该绘图元素间的空间关系决定 一 新裁剪窗界;自该绘图元素剔除该新裁剪窗界范围外的像素以决定 一 群 待描绘像素;通过移除该群待描绘像素中符合 一 裁切准则的像素而决定 一群实际描绘像素;以及 显示该群实际描绘像素;其中该多个裁切平面分别表示为多个空间坐标函数,而该 裁切准贝'J判断像素坐标是否使得任 一 该多个空间坐标函数的值 落入一无限开放区间,该绘图元素是一三角形且该无限开放区间等于(-oo, 0)。
6. 根据权利要求5所述的计算机绘图元素描绘方法,其特 征在于,上述的决定该新裁剪窗界的步骤包括:依据该绘图元素和该多个裁切平面的一决定一点集合;决定该点集合中一特定坐标的极值;以及 将该新裁剪窗界的任一边界设为该极值,其中该特定坐标是垂直坐标或水平坐标,该极值是该特定 坐标的最大值或最小值。
7. —种计算机绘图元素描绘装置,其特征在于,包括:一顶点着色器,其接收该绘图元素、多个裁切平面和一预设裁剪窗界,并决定该绘图元素各顶点的多个属性值;一裁剪窗界调整模块,其依据该预设裁剪窗界、所述多个 裁切平面中的第 一裁切平面和该绘图元素顶点间的空间关系决 定一第一裁剪窗界,并依据该第一裁剪窗界、所述多个裁切平 面中的第二裁切平面和该绘图元素间的空间关系决定一第二裁剪窗界; :一像素内插模块,其自该绘图元素剔除一调整后的裁剪窗 界范围外的像素以决定一群待描绘像素;以及一像素着色器,其移除该群待描绘像素中符合一裁切准则 的像素以决定 一 群实际描绘像素并输出至 一 像素显示区;其中所述多个裁切平面分别表示为多个空间坐标函数,而 该裁切准则判断像素坐标是否使得任 一 该多个空间坐标函数的 值落入 一 第 一 无限开放区间,该绘图元素是 一 三角形且该第一 无限开放区间等于(-oo, 0)。
8. 根据权利要求7所述的计算机绘图元素描绘装置,其特 征在于,该裁剪窗界调整模块决定该第二裁剪窗界的动作包括:决定一点集合,其包括该绘图元素周边与该第二裁切平面 的交点和该绘图元素未被裁切的顶点;决定该点集合中的最大垂直坐标值; 决定该点集合中的最小垂直坐标值; 决定该点集合中的最大水平坐标值;决定该点集合中的最小水平坐标值;以及将该第二裁剪窗界的任一边界设为该最大垂直坐标值、该 最小垂直坐标值、该最大水平坐标值或该最小水平坐标值,其中该未被裁切的顶点是该绘图元素中使得表示该第二裁 切平面的空间坐标函数的值落入 一 第二无限开放区间的顶点, 该第二无限开放区间和该第一无限开放区间具有相同的开放端 点且其交集为空集合。
9.根据权利要求8所述的计算机绘图元素描绘装置,其特 征在于,该多个属性值包括透视校正系数,上述的决定该点集 合的动作包括利用内插法和该透视校正系数求取该绘图元素的 一边界与该第二裁切平面的交点。
10.根据权利要求7所述的计算机绘图元素描绘装置,其 特征在于,该第一裁剪窗界不等于该预设裁剪窗界且被该预设 裁剪窗界所涵盖,该调整后的裁剪窗界不等于该第二裁剪窗界 且被该第二裁剪窗界所涵盖。
CN 200710136314 2007-07-13 2007-07-13 计算机绘图元素描绘方法及装置 CN100568289C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710136314 CN100568289C (zh) 2007-07-13 2007-07-13 计算机绘图元素描绘方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710136314 CN100568289C (zh) 2007-07-13 2007-07-13 计算机绘图元素描绘方法及装置

Publications (2)

Publication Number Publication Date
CN101071509A CN101071509A (zh) 2007-11-14
CN100568289C true CN100568289C (zh) 2009-12-09

Family

ID=38898714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710136314 CN100568289C (zh) 2007-07-13 2007-07-13 计算机绘图元素描绘方法及装置

Country Status (1)

Country Link
CN (1) CN100568289C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9947130B2 (en) 2008-01-23 2018-04-17 Intel Corporation Method, apparatus, and computer program product for improved graphics performance
CN105608712B (zh) * 2015-12-11 2018-10-26 中国航空工业集团公司西安航空计算技术研究所 一种3d图形处理透视校正处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304271B1 (en) 1999-02-05 2001-10-16 Sony Corporation Apparatus and method for cropping an image in a zooming graphical user interface
CN1514410A (zh) 2003-05-13 2004-07-21 威盛电子股份有限公司 3d绘图的边界盒
CN1687971A (zh) 2005-05-25 2005-10-26 威盛电子股份有限公司 绘图方法及其装置
CN1806260A (zh) 2003-06-11 2006-07-19 皇家飞利浦电子股份有限公司 3d立体平面剪裁的用户控制
CN1818976A (zh) 2006-03-17 2006-08-16 威盛电子股份有限公司 进行图形处理的方法及相关装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304271B1 (en) 1999-02-05 2001-10-16 Sony Corporation Apparatus and method for cropping an image in a zooming graphical user interface
CN1514410A (zh) 2003-05-13 2004-07-21 威盛电子股份有限公司 3d绘图的边界盒
CN1806260A (zh) 2003-06-11 2006-07-19 皇家飞利浦电子股份有限公司 3d立体平面剪裁的用户控制
CN1687971A (zh) 2005-05-25 2005-10-26 威盛电子股份有限公司 绘图方法及其装置
CN1818976A (zh) 2006-03-17 2006-08-16 威盛电子股份有限公司 进行图形处理的方法及相关装置

Also Published As

Publication number Publication date
CN101071509A (zh) 2007-11-14

Similar Documents

Publication Publication Date Title
US6525726B1 (en) Method and apparatus for adaptive hierarchical visibility in a tiled three-dimensional graphics architecture
CN101002252B (zh) 用于呈现合成桌面窗口的方法
US6201546B1 (en) Systems and methods for generating three dimensional, textured models
DE60311359T2 (de) Vorrichtungen und Verfahren zur kontrollierbaren Texturabtastung
US7081895B2 (en) Systems and methods of multi-pass data processing
US7545384B2 (en) Image generation method and apparatus
US6437780B1 (en) Method for determining tiles in a computer display that are covered by a graphics primitive
US7551174B2 (en) Method and apparatus for triangle rasterization with clipping and wire-frame mode support
US5808619A (en) Real-time rendering method of selectively performing bump mapping and phong shading processes and apparatus therefor
US6115049A (en) Method and apparatus for high performance antialiasing which minimizes per pixel storage and object data bandwidth
US6664959B2 (en) Method and apparatus for culling in a graphics processor with deferred shading
US5083287A (en) Method and apparatus for applying a shadowing operation to figures to be drawn for displaying on crt-display
JP3203160B2 (ja) ボリューム・レンダリング装置及び方法
US20040075655A1 (en) 3D computer graphics processing apparatus and method
US20020015055A1 (en) Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units
US6204856B1 (en) Attribute interpolation in 3D graphics
US7119806B1 (en) System, method and article of manufacture for shadow mapping
US6600485B1 (en) Polygon data generation method and image display apparatus using same
US20030016218A1 (en) Rendering discrete sample points projected to a screen space with a continuous resampling filter
US7439975B2 (en) Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface
JP2007304576A (ja) 半透明層の描写
US8436854B2 (en) Graphics processing unit with deferred vertex shading
US6018347A (en) Methods and apparatus for rendering three-dimensional images
EP1064619B1 (en) Stochastic level of detail in computer animation
US20040155884A1 (en) Applying multiple texture maps to objects in three-dimensional imaging processes

Legal Events

Date Code Title Description
C06 Publication
C10 Request of examination as to substance
C14 Granted