CN109712063A - 一种图形处理器平面剪裁电路 - Google Patents
一种图形处理器平面剪裁电路 Download PDFInfo
- Publication number
- CN109712063A CN109712063A CN201811521407.3A CN201811521407A CN109712063A CN 109712063 A CN109712063 A CN 109712063A CN 201811521407 A CN201811521407 A CN 201811521407A CN 109712063 A CN109712063 A CN 109712063A
- Authority
- CN
- China
- Prior art keywords
- plane
- module
- cut out
- point
- submodule
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Generation (AREA)
Abstract
本发明涉及计算机硬件技术领域,提供一种图形处理器平面剪裁电路,包括:命令预处理模块(1)、第1平面剪裁子模块(2)、第2平面剪裁子模块(3)、命令发送模块(4);所述命令预处理模块(1)控制来自前级的图元装配单元的输入命令分配输出给第1平面剪裁子模块(2)、第2平面剪裁子模块(3);所述第1平面剪裁子模块(2)和第2平面剪裁子模块(3)结构功能一致,对输入命令中对点、线、三角形、光栅位置命令进行剪裁处理,处理结果输出给命令发送模块(4);所述命令发送模块(4)控制从两个平面剪裁子模块中选择裁剪后的图元命令输出给下级的投影变换单元。
Description
技术领域
本发明涉及计算机硬件技术领域,尤其涉及一种图形处理器的平面剪裁电路。
背景技术
随着图形化应用的不断增加,早期单靠CPU进行图形绘制的解决方案已经难以满足成绩和技术增长的图形处理需求,图形处理器(Graphic Processing Unit,GPU)应运而生。GPU流水线高速、并行的特征和灵活的可编程能力,为图形处理和通用并行计算提供了良好的运行平台。
平面剪裁是GPU几何引擎中的一个重要单元,其功能是使用用户指定的多个剪裁平面对世界空间中的物体进行剪裁,以去掉场景中无关的目标,减少计算量,同时可以用来实现特殊效果。平面剪裁中所处理的对象为点、线、三角形三种基本图元以及光栅位置。因为平面剪裁过程中有大量的数值计算,所以其处理能力成为影响GPU性能的一大因素。
发明内容
本发明的目的:提供一种图形处理器平面剪裁电路,提高平面剪裁的处理效率,提升平面剪裁单元的性能。
本发明的技术方案:
一种图形处理器平面剪裁电路,包括:
命令预处理模块1、第1平面剪裁子模块2、第2平面剪裁子模块3、命令发送模块4;
所述命令预处理模块1控制来自前级的图元装配单元的输入命令分配输出给第1平面剪裁子模块2、第2平面剪裁子模块3;
所述第1平面剪裁子模块2和第2平面剪裁子模块3结构功能一致,对输入命令中对点、线、三角形、光栅位置命令进行剪裁处理,处理结果输出给命令发送模块4;
所述命令发送模块4控制从两个平面剪裁子模块中选择裁剪后的图元命令输出给下级的投影变换单元。
所述命令预处理模块1,对命令输入接口输入的命令进行解析、分类,选择将透传命令发送给第1剪裁子模块2;将剪裁环境设置命令同时发送给第1剪裁子模块2和第2剪裁子模块3;将图元和光栅位置命令发送给第1剪裁子模块2和第2剪裁子模块3:当两个平面剪裁子模块都在空闲状态时,优先选择第1剪裁子模块2执行剪裁操作;当第1剪裁子模块2处于忙状态而第2剪裁子模块3空闲时,则由第2剪裁子模块3执行剪裁操作;当第2剪裁子模块3处于忙状态而第1剪裁子模块2空闲时,则由第1剪裁子模块2执行剪裁操作;当两个子模块都处于忙状态时,进入等待状态,直到有子模块剪裁操作完成,空闲后继续执行图元剪裁处理;
所述透传命令在平面剪裁单元不做任何处理,直接输出;所述剪裁环境设置类命令包括剪裁平面使能命令、剪裁平面禁用命令、剪裁平面的平面系数设置命令、模型视图矩阵的逆矩阵参数命令;所述图元类型命令包括点图元、线图元、三角形以及光栅位置命令。
所述第1剪裁子模块2、第2剪裁子模块3以乒乓操作的方式对输入的图元和光栅位置命令进行剪裁处理。
第1剪裁子模块2和第2剪裁子模块3结构功能一致,
所述第1剪裁子模块2包括控制模块21、命令解析模块22、数据选择模块24、数据处理模块23、原始点存储模块26、终点存储模块28、平面存储模块27、存储地址产生模块25和输出模块29;
所述控制模块21完成对其它模块在计算过程和数据交互过程中的控制;
所述命令解析模块22对来自预处理模块(1)的命令进行解析;
所述数据选择模块24对输入到原始点存储模块26,平面存储模块27和终点存储模块28的数据进行选择,数据源来自三个模块:命令解析模块21、原始点存储模块26、数据处理模块23;
所述数据处理模块23通过浮点运算器,包括浮点加法器、浮点乘法器、浮点除法器来实现平面剪裁单元中的各种计算,包括:判断点是否在定义的平面内、计算线、三角形剪裁后产生的新顶点坐标及属性;
所述原始点存储模块26用于存储命令解析模块21发出的原始的点、线、三角形的剪裁坐标及其属性,数据处理模块23剪裁计算过程中的中间点的坐标;
所述终点存储模块28存储数据处理模块23剪裁后产生的新点的坐标及其属性;
所述平面存储模块27存储剪裁来自命令解析模块22的平面的方程系数与模型视图矩阵的逆矩阵参数;
所述存储地址产生模块25包括原始点存储地址产生、终点存储地址产生、平面存储地址产生,负责对应存储模块的读写使能与读写地址产生;
所述输出模块29将剪裁后的最终图元顶点坐标及属性数据从终点存储模块28中取出并进行装配发给命令发送模块4。
剪裁环境设置命令包括剪裁平面使能命令、剪裁平面禁止命令、平面方程系数命令、模型视图矩阵的逆矩阵参数命令,这些命令在解析完成后先将其存入平面存储模块27;剪裁平面使能命令、剪裁平面禁止命令确定使用的剪裁平面个数;平面方程系数命令、模型视图矩阵的逆矩阵参数命令分别输入平面方程系数与模型视图矩阵的逆矩阵参数,进行图元剪裁时,数据处理模块23将两者进行矩阵乘法后产生平面剪裁单元剪裁所用的最终剪裁平面系数。
点图元命令解析后,由数据选择模块24输入原始点存储模块26;判断点与剪裁平面位置关系时,数据处理模块23从原始点存储模块26将点取出并把坐标代入由最终剪裁平面系数所确定的平面一般式方程,对计算结果小于零的点直接裁掉,不再往下发送任何数据;对计算结果大于等于零的点均做保留;如果使能多个剪裁平面,则依次序对前一平面未被剪裁的点进行同样的剪裁处理,在所有剪裁面剪裁完成后,数据选择模块将剪裁后保留的点存入终点存储模块28;输出模块29将终点存储模块28的点数据组装成输出命令格式。
线图元命令解析后先经数据选择模块24将两个顶点数据存入原始点存储模块28,再由数据处理模块按顺序判断两个顶点与剪裁平面的位置关系,具体处理如下:
a若两个顶点计算结果都大于等于零,则保留这条线段,该线图元原样输出;
b若线段一个顶点的计算结果小于零而另一顶点的大于零,亦即线段的两个顶点分别位于剪裁平面的外部与内部,说明该线与剪裁平面产生一个交点,数据处理模块将会计算出交点坐标,该交点取代剪裁平面外部的顶点之后与内部顶点构成新的线图元;
c若线段一个顶点的计算结果等于零而另一顶点计算结果小于零,则只保留前一个顶点,意味着这种线图元裁剪后成为一个点图元,后续按点图元处理;d若两个顶点的计算结果均小于零,则裁掉该线段,不再往下发送任何数据;
如果使能多个剪裁平面,则依平面顺序对前一平面裁剪完成后的新线段或点图元进行剪裁按各自的剪裁方式处理,计算过程中产生的中间点也存储在原始点存储模块26中;所有剪裁面剪裁完成后数据选择模块24将剪裁后的线图元顶点或者点图元依序存入终点存储模块28;对于终点存储模块中新点的属性,先由新点坐标和原始线图元顶点计算线性插值系数,再由原始线图元顶点的属性值和线性插值算法计算新点对应属性值;输出模块29将终点存储模块28的数据以图元为单位顺序组装成输出的命令格式。
三角形图元命令解析后将三角形的三个顶点存储在原始点存储模块26,之后数据处理模块23采用一种多边形剪裁算法进行剪裁;该算法的操作过程是沿着多边形的一串顶点P0,P1,…,Pn,从顶点Pn移动到P0,再顺序移动到Pn,在每一次移动时,均检测连续的两个顶点与剪裁面的位置关系;依序考虑多边形的各条边,假设当前处理的多边形的边为SP,S为前一点,P为当前点,边SP与剪裁面的位置关系要考虑下面四种情况:
a)S在外侧,P在内侧,则交点I、当前点P保存到新多边形中;
b)S、P均在内侧,则当前点P保存到新多边形中;
c)S在内侧,P在外侧,则交点I保存到新多边形中;
e)S、P均在外侧,则没有点被保存到新多边形中。
当用一个剪裁面对多边形进行剪裁后,按照上面的新点产生规则得到一个新的顶点序列Q0,Q1,…,Qn,作为下个剪裁面处理过程的输入;对于每一个剪裁面,算法步骤都一样,计算过程中产生的中间点存储在原始点存储模块26;
在所有使能平面剪裁完成后也将剪裁后的顶点数据存入终点存储模块28;对于终点中的新点属性,先由新点坐标和裁剪前原始三角形顶点坐标计算线性插值系数,再由原始三角形顶点属性值,采用重心插值算法计算出新点属性;输出模块会对三角形裁剪后的顶点数判断:若顶点个数小于三个,则不往下发送任何数据,即输入的三角形被完全裁掉,若顶点个数等于三个,则按顺序组装发送三个顶点,即输出一个剪裁后的三角形,若顶点个数大于三个,说明被剪裁三角形剪裁后成为边数为N的多边形,输出模块将该多边形拆分成N-2个不同三角形,然后以三角形为单元发送组装后的顶点数据。
光栅位置命令解析后由数据选择模块24输入原始点存储模块26;判断光栅位置与剪裁平面位置关系时,数据处理模块23从原始点存储模块26将光栅位置坐标取出并把坐标代入由最终剪裁平面系数所确定的平面一般式方程,对计算结果小于零的光栅位置在命令的相应标志位置0表示该光栅位置无效;对计算结果大于等于零的光栅位置在命令的相应标志位置1表示该光栅位置有效;如果使能多个剪裁平面,则依次序对前一平面未被剪裁的点进行同样的剪裁处理,在所有剪裁面剪裁完成后,数据选择模块将剪裁后保留的点存入终点存储模块28;输出模块29将终点存储模块28的点数据组装成输出命令格式。
所述命令发送模块4,将电路中两个剪裁子模块处理后的各类输出命令选择输出;有2类命令需要选择输出:第一种为透传命令,该类命令只从第1剪裁子模块3输出;第二种为图元和光栅位置命令,该类命令以图元为单位,依次从第1剪裁子模块3的和第2剪裁子模块4输出。
本发明的有益效果:
所述的一种图形处理器平面剪裁电路能够对点、线、三角形、光栅位置进行剪裁工作,支持多个用户设置的剪裁平面,由两个剪裁核心乒乓操作提高了平面剪裁的处理效率,很大程度上提升了平面剪裁单元的性能。
附图说明
图1是本发明中一种图形处理器平面剪裁的总体框图;
图2是本发明中剪裁子模块框图;
图3是本发明中的剪裁子模块的数据处理框图。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
一种图形处理器平面剪裁电路,由命令预处理模块1、第1平面剪裁子模块2、第2平面剪裁子模块3、命令发送模块4和多个不同功能的接口组成;
所述命令预处理模块1控制来自前级的图元装配单元的输入命令如何分配输出给两个平面剪裁子模块;
所述第1平面剪裁子模块2和第2平面剪裁子模块3结构功能一致,均可对点、线、三角形、光栅位置命令进行剪裁处理,处理结果输出给命令发送模块4;
所述命令发送模块4主要控制如何从两个平面剪裁子模块中选择裁剪后的图元命令输出给下级的投影变换单元;
所述多个不同功能的接口包括时钟复位信号接口、命令输入输出接口、反馈环输入输出接口。
所述命令预处理模块1,对命令输入接口输入的命令进行解析、分类,选择将透传命令发送给第1剪裁子模块2;将剪裁环境设置命令同时发送给第1剪裁子模块2和第2剪裁子模块3;将图元和光栅位置命令发送给第1剪裁子模块2和第2剪裁子模块3:当两个平面剪裁子模块都在空闲状态时,优先选择第1剪裁子模块2执行剪裁操作;当第1剪裁子模块2处于忙状态而第2剪裁子模块3空闲时,则由第2剪裁子模块3执行剪裁操作;当第2剪裁子模块3处于忙状态而第1剪裁子模块2空闲时,则由第1剪裁子模块2执行剪裁操作;当两个子模块都处于忙状态时,进入等待状态,直到有子模块剪裁操作完成,空闲后继续执行图元剪裁处理。
所述透传命令在平面剪裁单元不做任何处理,直接输出;所述剪裁环境设置类命令包括剪裁平面使能命令、剪裁平面禁用命令、剪裁平面的平面系数设置命令、模型视图矩阵的逆矩阵参数命令;所述图元类型命令包括点图元、线图元、三角形以及光栅位置图元命令。
所述第1剪裁子模块2、第2剪裁子模块3以乒乓操作的方式对输入的图元和光栅位置命令进行剪裁处理。
所述第1剪裁子模块2、第2剪裁子模块3,
所述平面剪裁子模块包括控制模块21、命令解析模块22、数据选择模块24、数据处理模块23、原始点存储模块26、终点存储模块28、平面存储模块27、存储地址产生模块25和输出模块29。
所述控制模块21完成对其它模块在计算过程和数据交互过程中的控制。
所述命令解析模块22对来自预处理模块1的命令进行解析。
所述数据选择模块24对输入到原始点存储模块26,平面存储模块27和终点存储模块28的数据进行选择,数据源来自三个模块:命令解析模块21、原始点存储模块26、数据处理模块23。
所述数据处理模块23通过浮点运算器,包括浮点加法器、浮点乘法器、浮点除法器来实现平面剪裁单元中的各种计算,包括:判断点是否在定义的平面内、计算线、三角形剪裁后产生的新顶点坐标及属性等等。
所述原始点存储模块26用于存储命令解析模块21发出的原始的点、线、三角形的剪裁坐标及其属性,数据处理模块23剪裁计算过程中的中间点的坐标。
所述终点存储模块28存储数据处理模块23剪裁后产生的新点的坐标及其属性。
所述平面存储模块27主要存储剪裁来自命令解析模块22的平面的方程系数与模型视图矩阵的逆矩阵参数。
所述存储地址产生模块25包括原始点存储地址产生、终点存储地址产生、平面存储地址产生,负责对应存储模块的读写使能与读写地址产生。
所述输出模块29将剪裁后的最终图元顶点坐标及属性数据从终点存储模块28中取出并进行装配发给命令发送模块4。
所述透传命令,平面剪裁子模块对其不做处理,由输出模块直接发给命令发送模块输出。
所述剪裁环境设置命令,包括剪裁平面使能命令、剪裁平面禁止命令、平面方程系数命令、模型视图矩阵的逆矩阵参数命令,这些命令在解析完成后先将其存入平面存储模块27。剪裁平面使能命令、剪裁平面禁止命令确定使用的剪裁平面个数。平面方程系数命令、模型视图矩阵的逆矩阵参数命令分别输入平面方程系数与模型视图矩阵的逆矩阵参数,进行图元剪裁时,数据处理模块23将两者进行矩阵乘法后产生平面剪裁单元剪裁所用的最终剪裁平面系数。
所述点图元命令,图元命令解析后,由数据选择模块24输入原始点存储模块26。判断点与剪裁平面位置关系时,数据处理模块23从原始点存储模块26将点取出并把坐标代入由最终剪裁平面系数所确定的平面一般式方程,对计算结果小于零的点(即在空间中点位于剪裁平面外部)直接裁掉,不再往下发送任何数据;对计算结果大于等于零的点(大于零的点在空间中位于剪裁平面内部,等于零的点在空间中与剪裁平面重合)均做保留。如果使能多个剪裁平面,则依次序对前一平面未被剪裁的点进行同样的剪裁处理,在所有剪裁面剪裁完成后,数据选择模块将剪裁后保留的点存入终点存储模块28。输出模块29将终点存储模块28的点数据组装成输出命令格式。
所述线图元命令,与点图元类似,命令解析后先经数据选择模块24将两个顶点数据存入原始点存储模块28,再由数据处理模块按顺序判断两个顶点与剪裁平面的位置关系,这个计算过程与点图元相同。具体处理如下:
a若两个顶点计算结果都大于等于零,则保留这条线段,该线图元原样输出;
b若线段一个顶点的计算结果小于零而另一顶点的大于零,亦即线段的两个顶点分别位于剪裁平面的外部与内部,说明该线与剪裁平面产生一个交点,数据处理模块将会计算出交点坐标,该交点取代剪裁平面外部的顶点之后与内部顶点构成新的线图元;
c若线段一个顶点的计算结果等于零而另一顶点计算结果小于零,则只保留前一个顶点,意味着这种线图元裁剪后成为一个点图元,后续按点图元处理;
d若两个顶点的计算结果均小于零,则裁掉该线段,不再往下发送任何数据。
如果使能多个剪裁平面,则依平面顺序对前一平面裁剪完成后的新线段或点图元进行剪裁按各自的剪裁方式处理,计算过程中产生的中间点也存储在原始点存储模块26中。所有剪裁面剪裁完成后数据选择模块24将剪裁后的线图元顶点或者点图元依序存入终点存储模块23。对于终点存储模块中新点的属性,先由新点坐标和原始线图元顶点计算线性插值系数,再由原始线图元顶点的属性值和线性插值算法计算新点对应属性值。与点相似,输出模块29将终点存储模块28的数据以图元为单位顺序组装成输出的命令格式。
所述三角形图元命令,解析后图元命令的存储流程与点和线相似,之后数据处理模块23采用一种多边形剪裁算法进行剪裁。该算法的操作过程是沿着多边形的一串顶点P0,P1,…,Pn(算法输入即为这一串顶点),从顶点Pn移动到P0,再顺序移动到Pn,在每一次移动时,均检测连续的两个顶点与剪裁面的位置关系。每一步中剪裁后的多边形的顶点序列,可能会增加一个顶点或两个顶点,也可能不会增加顶点。依序考虑多边形的各条边。假设当前处理的多边形的边为SP(S为前一点,P为当前点),边SP与剪裁面的位置关系要考虑下面四种情况:
a)S在外侧,P在内侧,则交点I、当前点P保存到新多边形中;
b)S、P均在内侧,则当前点P保存到新多边形中;
c)S在内侧,P在外侧,则交点I保存到新多边形中;
e)S、P均在外侧,则没有点被保存到新多边形中。
当用一个剪裁面对多边形进行剪裁后,按照上面的新点产生规则得到一个新的顶点序列Q0,Q1,…,Qn,作为下个剪裁面处理过程的输入。对于每一个剪裁面,算法步骤都一样,只是判断点在窗口的哪一侧以及求线段SP与剪裁面的交点算法应随之改变。计算过程中产生的中间点存储在原始点存储模块。
在所有使能平面剪裁完成后也将剪裁后的顶点数据存入终点存储模块28。对于终点中的新点属性,先由新点坐标和裁剪前原始三角形顶点坐标计算线性插值系数,再由原始三角形顶点属性值,采用重心插值算法计算出新点属性。输出模块会对三角形裁剪后的顶点数判断:若顶点个数小于三个,则不往下发送任何数据,即输入的三角形被完全裁掉,若顶点个数等于三个,则按顺序组装发送三个顶点,即输出一个剪裁后的三角形,若顶点个数大于三个,说明被剪裁三角形剪裁后成为边数为N的多边形,输出模块将该多边形拆分成N-2个不同三角形,然后以三角形为单元发送组装后的顶点数据。
所述光栅位置命令,剪裁过程与点的剪裁过程基本一致,不同之处在于光栅位置无论裁掉与否均继续下发,但要在命令的相应标志位以0或1标记该光栅位置无效或有效。
所述命令发送模块4,将电路中两个剪裁子模块处理后的各类输出命令选择输出。有2类命令需要选择输出:第一种为透传命令,该类命令只从第1剪裁子模块2输出;第二种为图元和光栅位置命令,该类命令以图元为单位,依次从第1剪裁子模块2的和第2剪裁子模块3输出。
所述反馈环输入接口用于输入前级单元的错误反馈信息,经平面剪裁单元后由反馈环输出接口输出;平面剪裁单元本身产生的错误信息也由反馈环输出接口输出。
实施例
如图1所示,该平面剪裁电路由命令预处理模块、第1剪裁子模块2、第2剪裁子模块3、命令发送模块4和多个不同功能的访问接口组成。
本实施例的命令位宽为148位,每条命令从高位开始依次包括10位的命令码、10位的控制字和128位的数据部分。其中命令码的高4位为流水级编号,低6位为命令编号,控制字是该命令的详细信息,两者用以区分识别命令;数据部分可分为4个32位,内容是命令所携带的具体参数。命令预处理模块通过解析命令的命令码和控制字判断命令类型并分发给其他模块。
本实施例中只将透传命令发送给第1剪裁子模块2处理;将剪裁环境设置命令同时发送给第1剪裁子模块2和第2剪裁子模块3确定剪裁平面使能个数及对应平面方程系数,本实施例中最多支持用户设置6个剪裁平面;图元和光栅位置命令以图元为单位依次序分别发送给第1剪裁子模块2和第2剪裁子模块3,第1剪裁子模块2和第2剪裁子模块3结构功能一致,均可对点、线、三角形、光栅位置命令进行剪裁处理。命令发送模块主要控制如何从两个平面剪裁子模块中选择剪裁操作后的输出命令输出。
如图2所示,是第1剪裁子模块2的具体结构(第1剪裁子模块与第2剪裁子模块结构相同)。剪裁子模块在自己的子顶层中互联。
控制模块21完成对平面剪裁子模块中其他各个模块在数据交互过程和计算过程中的控制,产生其他模块的控制信号。
命令解析模22块根据命令码和控制字对从预处理模块送到剪裁子模块子顶层的命令进行解析分类:透传命令、剪裁环境设置命令、点图元、线图元、三角形图元和光栅位置命令,并将命令发送给数据选择模块24和数据处理模块23。
数据选择模块24对输入到原始点存储模块26,终点存储模块28,平面存储模块27的数据进行选择,数据源来自三个模块:命令解析模块22、原始点存储模块26、数据处理模块23。
数据处理模块23通过浮点运算器,包括浮点加法器、浮点乘法器、浮点除法器来实现平面剪裁中的各种计算,包括:判断点是否在定义的平面内、计算线、三角形剪裁后产生的新顶点坐标及属性等等。
原始点存储模块26的功能是存储命令解析模块22解析后的点、线、三角形的顶点剪裁坐标及其属性,数据处理模块23剪裁过程计算中的中间点坐标。
终点存储模块28存储数据处理模块23剪裁后产生的新点的坐标及其属性,本实施例中,最多支持6个剪裁平面,三角形图元裁剪时,最多需要存储9个点的坐标与属性值。
平面存储模块27主要存储6个剪裁平面的平面方程系数与模型视图矩阵的逆矩阵参数,输入来自数据选择模块。
存储地址产生模块25包括原始点存储地址产生、终点存储地址产生、平面存储地址产生,分别负责对应存储模块的读写使能与读写地址产生。
输出模块29将剪裁后的最终图元顶点坐标及属性数据进行装配发给命令发送模块4。
如图3所示,为平面剪裁子模块命令数据处理。透传命令在平面剪裁子模块中不做任何处理,直接发给命令发送模块输出。由于最多支持用户设置6个剪裁平面,所以剪裁环境设置命令会先确定使能的剪裁平面,然后输入平面系数与模型视图矩阵的逆矩阵参数,这些命令在解析后先存入平面存储模块,进行图元剪裁时数据处理模块将两者进行矩阵乘法后产生平面剪裁单元剪裁所用的最终剪裁平面系数,即将剪裁平面做模型视图变换。确定剪裁环境后开始对后续输入的图元及光栅位置进行剪裁:
1、点图元剪裁:命令解析后先由数据选择模块输入原始点存储模块。判断点与使能剪裁平面的位置关系时,数据处理模块将点从原始点存储模块取出并把坐标代入由最终剪裁平面系数所确定的平面方程,位于剪裁平面外部的点直接裁掉,不再往下发送任何数据;位于剪裁平面内部或与剪裁平面重合的点均做保留。如果使能多个剪裁平面,则依平面次序对前一平面未被剪裁的点进行同样的剪裁处理,在所有剪裁面剪裁完成后,数据选择模块将剪裁后保留下的点存入终点存储模块。输出模块将终点存储模块的点数据组装成输出命令格式。
2、光栅位置剪裁:其剪裁过程与点的剪裁过程基本一致,不同之处在于光栅位置无论裁掉与否均继续下发,但要在光栅位置的颜色命令的第64位以0和1标记该光栅位置无效或有效。
3、线图元剪裁:与点相同,命令解析后先将两个顶点数据经数据选择模块存入原始点存储模块,再由数据处理模块按顺序判断两个顶点与第一个使能剪裁平面的位置关系,这个计算过程与点图元的相同。具体处理如下:
a若两个顶点对应计算结果都大于等于零,则保留这条线,该线段原样输出;
b若一个顶点的计算结果小于零而另一顶点的大于零,说明线的两个顶点分别位于剪裁平面的外部与内部,则该线与剪裁平面产生一个交点,该交点与内部顶点构成新的线图元;
c若一个顶点的计算结果等于零而另一顶点计算结果小于零,则只保留前一个顶点,意味着这种线图元裁剪后成为一个点图元,后续按点图元处理;
d若两个顶点的计算结果均小于零,则裁掉该线段,不往下发送任何数据。如果使能多个剪裁平面,则依平面顺序对前一平面裁剪完成后的新线段或点图元进行剪裁按各自的剪裁方式处理,在该过程中产生的中间点存储在原始点存储模块。所有剪裁面剪裁完成后数据选择模块将剪裁后的线图元顶点或者点图元依序存入终点存储模块。对于终点存储模块中新点的属性,先由新点坐标和原始线图元顶点计算线性插值系数,再由原始线图元顶点的属性值和线性插值算法计算新点对应属性值。与点相似,输出模块将终点存储模块的数据以图元为单位顺序组装成输出的命令格式。
4、三角形图元剪裁:输入之后的存储流程与点和线相同,之后数据处理模块采用一种多边形剪裁算法进行剪裁。该算法的操作过程是沿着多边形一连串顶点P0,P1,…Pn,从顶点Pn移动到P0,再顺序移动到Pn,在每一次移动时,均检测连续的两个顶点与剪裁面的位置关系。每一步中剪裁后的多边形的顶点序列,可能会增加一个顶点或两个顶点,也可能不会增加顶点。依序考虑多边形的各条边。假设当前处理的多边形的边为SP(S为前一点,P为当前点),边SP与剪裁线的位置关系要考虑下面四种情况:
a)S在外侧,P在内侧,则交点I、当前点P保存到新多边形中;
b)S、P均在内侧,则当前点P保存到新多边形中;
c)S在内侧,P在外侧,则交点I保存到新多边形中;
e)S、P均在外侧,则没有点被保存到新多边形中。
该算法的输入参数是多边形的一串顶点P0,P1,…,Pn。当用一个剪裁面对多边形进行剪裁后,按照上面的新点产生规则得到一个新的顶点序列Q0,Q1,…,Qn,作为下个剪裁面处理过程的输入。对于每一个剪裁面,算法步骤都一样,只是判断点在窗口的哪一侧以及求线段SP与剪裁边的交点算法应随之改变。计算过程中产生的中间点存储在原始点存储模块。
在所有使能平面剪裁完成后也将剪裁后的顶点数据存入终点存储模块。对于终点中的新点属性,先由新点坐标和裁剪前原始三角形顶点坐标计算线性插值系数,再由原始三角形顶点属性值,采用重心插值算法计算出新点属性。输出模块会对三角形裁剪后的顶点数判断:若顶点个数小于三个,则不往下发送任何数据,即输入的三角形被完全裁掉,若顶点个数等于三个,则按顺序组装发送三个顶点,即输出一个剪裁后的三角形,若顶点个数大于三个,说明被剪裁三角形剪裁后成为边数为N的多边形,输出模块29将该多边形拆分成N-2个不同三角形,然后以三角形为单元组装后发送顶点数据。
平面剪裁子模块将所有的数据计算完成之后要将其按顺序及命令规则组装成与输入命令格式相同的148位命令输出。
对于电路中两个剪裁子模块处理的各类输出命令由命令发送模块选择输出。有2种命令需要选择输出:第一种为透传命令,该类命令只从第1剪裁子模块2输出;第二种为图元和光栅位置命令,该类命令以图元为单位,依次从第1剪裁子模块2的和第2剪裁子模块3输出。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种图形处理器平面剪裁电路,其特征在于,包括:
命令预处理模块(1)、第1平面剪裁子模块(2)、第2平面剪裁子模块(3)、命令发送模块(4);
所述命令预处理模块(1)控制来自前级的图元装配单元的输入命令分配输出给第1平面剪裁子模块(2)、第2平面剪裁子模块(3);
所述第1平面剪裁子模块(2)和第2平面剪裁子模块(3)结构功能一致,对输入命令中对点、线、三角形、光栅位置命令进行剪裁处理,处理结果输出给命令发送模块(4);
所述命令发送模块(4)控制从两个平面剪裁子模块中选择裁剪后的图元命令输出给下级的投影变换单元。
2.根据权利要求1所述的一种图形处理器平面剪裁电路,其特征在于,
所述命令预处理模块(1),对命令输入接口输入的命令进行解析、分类,选择将透传命令发送给第1剪裁子模块(2);将剪裁环境设置命令同时发送给第1剪裁子模块(2)和第2剪裁子模块(3);将图元和光栅位置命令发送给第1剪裁子模块(2)和第2剪裁子模块(3):当两个平面剪裁子模块都在空闲状态时,优先选择第1剪裁子模块(2)执行剪裁操作;当第1剪裁子模块(2)处于忙状态而第2剪裁子模块(3)空闲时,则由第2剪裁子模块(3)执行剪裁操作;当第2剪裁子模块(3)处于忙状态而第1剪裁子模块(2)空闲时,则由第1剪裁子模块(2)执行剪裁操作;当两个子模块都处于忙状态时,进入等待状态,直到有子模块剪裁操作完成,空闲后继续执行图元剪裁处理;
所述透传命令在平面剪裁单元不做任何处理,直接输出;所述剪裁环境设置类命令包括剪裁平面使能命令、剪裁平面禁用命令、剪裁平面的平面系数设置命令、模型视图矩阵的逆矩阵参数命令;所述图元类型命令包括点图元、线图元、三角形以及光栅位置命令。
3.根据权利要求2所述的一种图形处理器平面剪裁电路,其特征在于,
所述第1剪裁子模块(2)、第2剪裁子模块(3)以乒乓操作的方式对输入的图元和光栅位置命令进行剪裁处理。
4.根据权利要求3所述的一种图形处理器平面剪裁电路,其特征在于,
第1剪裁子模块(2)和第2剪裁子模块(3)结构功能一致,
所述第1剪裁子模块(2)包括控制模块(21)、命令解析模块(22)、数据选择模块(24)、数据处理模块(23)、原始点存储模块(26)、终点存储模块(28)、平面存储模块(27)、存储地址产生模块(25)和输出模块(29);
所述控制模块(21)完成对其它模块在计算过程和数据交互过程中的控制;
所述命令解析模块(22)对来自预处理模块(1)的命令进行解析;
所述数据选择模块(24)对输入到原始点存储模块(26),平面存储模块(27)和终点存储模块(28)的数据进行选择,数据源来自三个模块:命令解析模块(21)、原始点存储模块(26)、数据处理模块(23);
所述数据处理模块(23)通过浮点运算器,包括浮点加法器、浮点乘法器、浮点除法器来实现平面剪裁单元中的各种计算,包括:判断点是否在定义的平面内、计算线、三角形剪裁后产生的新顶点坐标及属性;
所述原始点存储模块(26)用于存储命令解析模块(21)发出的原始的点、线、三角形的剪裁坐标及其属性,数据处理模块(23)剪裁计算过程中的中间点的坐标;
所述终点存储模块(28)存储数据处理模块(23)剪裁后产生的新点的坐标及其属性;
所述平面存储模块(27)存储剪裁来自命令解析模块(22)的平面的方程系数与模型视图矩阵的逆矩阵参数;
所述存储地址产生模块(25)包括原始点存储地址产生、终点存储地址产生、平面存储地址产生,负责对应存储模块的读写使能与读写地址产生;
所述输出模块(29)将剪裁后的最终图元顶点坐标及属性数据从终点存储模块(28)中取出并进行装配发给命令发送模块(4)。
5.根据权利要求4所述的一种图形处理器平面剪裁电路,其特征在于,
剪裁环境设置命令包括剪裁平面使能命令、剪裁平面禁止命令、平面方程系数命令、模型视图矩阵的逆矩阵参数命令,这些命令在解析完成后先将其存入平面存储模块(27);剪裁平面使能命令、剪裁平面禁止命令确定使用的剪裁平面个数;平面方程系数命令、模型视图矩阵的逆矩阵参数命令分别输入平面方程系数与模型视图矩阵的逆矩阵参数,进行图元剪裁时,数据处理模块(23)将两者进行矩阵乘法后产生平面剪裁单元剪裁所用的最终剪裁平面系数。
6.根据权利要求4所述的一种图形处理器平面剪裁电路,其特征在于,
点图元命令解析后,由数据选择模块(24)输入原始点存储模块(26);判断点与剪裁平面位置关系时,数据处理模块(23)从原始点存储模块(26)将点取出并把坐标代入由最终剪裁平面系数所确定的平面一般式方程,对计算结果小于零的点直接裁掉,不再往下发送任何数据;对计算结果大于等于零的点均做保留;如果使能多个剪裁平面,则依次序对前一平面未被剪裁的点进行同样的剪裁处理,在所有剪裁面剪裁完成后,数据选择模块将剪裁后保留的点存入终点存储模块(28);输出模块(29)将终点存储模块(28)的点数据组装成输出命令格式。
7.根据权利要求4所述的一种图形处理器平面剪裁电路,其特征在于,
线图元命令解析后先经数据选择模块(24)将两个顶点数据存入原始点存储模块(28),再由数据处理模块按顺序判断两个顶点与剪裁平面的位置关系,具体处理如下:
a若两个顶点计算结果都大于等于零,则保留这条线段,该线图元原样输出;
b若线段一个顶点的计算结果小于零而另一顶点的大于零,亦即线段的两个顶点分别位于剪裁平面的外部与内部,说明该线与剪裁平面产生一个交点,数据处理模块将会计算出交点坐标,该交点取代剪裁平面外部的顶点之后与内部顶点构成新的线图元;
c若线段一个顶点的计算结果等于零而另一顶点计算结果小于零,则只保留前一个顶点,意味着这种线图元裁剪后成为一个点图元,后续按点图元处理;d若两个顶点的计算结果均小于零,则裁掉该线段,不再往下发送任何数据;
如果使能多个剪裁平面,则依平面顺序对前一平面裁剪完成后的新线段或点图元进行剪裁按各自的剪裁方式处理,计算过程中产生的中间点也存储在原始点存储模块(26)中;所有剪裁面剪裁完成后数据选择模块(24)将剪裁后的线图元顶点或者点图元依序存入终点存储模块(28);对于终点存储模块中新点的属性,先由新点坐标和原始线图元顶点计算线性插值系数,再由原始线图元顶点的属性值和线性插值算法计算新点对应属性值;输出模块(29)将终点存储模块(28)的数据以图元为单位顺序组装成输出的命令格式。
8.根据权利要求4所述的一种图形处理器平面剪裁电路,其特征在于,
三角形图元命令解析后将三角形的三个顶点存储在原始点存储模块(26),之后数据处理模块(23)采用一种多边形剪裁算法进行剪裁;该算法的操作过程是沿着多边形的一串顶点P0,P1,…,Pn,从顶点Pn移动到P0,再顺序移动到Pn,在每一次移动时,均检测连续的两个顶点与剪裁面的位置关系;依序考虑多边形的各条边,假设当前处理的多边形的边为SP,S为前一点,P为当前点,边SP与剪裁面的位置关系要考虑下面四种情况:
a)S在外侧,P在内侧,则交点I、当前点P保存到新多边形中;
b)S、P均在内侧,则当前点P保存到新多边形中;
c)S在内侧,P在外侧,则交点I保存到新多边形中;
e)S、P均在外侧,则没有点被保存到新多边形中。
当用一个剪裁面对多边形进行剪裁后,按照上面的新点产生规则得到一个新的顶点序列Q0,Q1,…,Qn,作为下个剪裁面处理过程的输入;对于每一个剪裁面,算法步骤都一样,计算过程中产生的中间点存储在原始点存储模块(26);
在所有使能平面剪裁完成后也将剪裁后的顶点数据存入终点存储模块(28);对于终点中的新点属性,先由新点坐标和裁剪前原始三角形顶点坐标计算线性插值系数,再由原始三角形顶点属性值,采用重心插值算法计算出新点属性;输出模块会对三角形裁剪后的顶点数判断:若顶点个数小于三个,则不往下发送任何数据,即输入的三角形被完全裁掉,若顶点个数等于三个,则按顺序组装发送三个顶点,即输出一个剪裁后的三角形,若顶点个数大于三个,说明被剪裁三角形剪裁后成为边数为N的多边形,输出模块将该多边形拆分成N-2个不同三角形,然后以三角形为单元发送组装后的顶点数据。
9.根据权利要求4所述的一种图形处理器平面剪裁电路,其特征在于,
光栅位置命令解析后由数据选择模块(24)输入原始点存储模块(26);判断光栅位置与剪裁平面位置关系时,数据处理模块(23)从原始点存储模块(26)将光栅位置坐标取出并把坐标代入由最终剪裁平面系数所确定的平面一般式方程,对计算结果小于零的光栅位置在命令的相应标志位置0表示该光栅位置无效;对计算结果大于等于零的光栅位置在命令的相应标志位置1表示该光栅位置有效;如果使能多个剪裁平面,则依次序对前一平面未被剪裁的点进行同样的剪裁处理,在所有剪裁面剪裁完成后,数据选择模块将剪裁后保留的点存入终点存储模块(28);输出模块(29)将终点存储模块(28)的点数据组装成输出命令格式。
10.根据权利要求1所述的一种图形处理器平面剪裁电路,其特征在于,
所述命令发送模块(4),将电路中两个剪裁子模块处理后的各类输出命令选择输出;有2类命令需要选择输出:第一种为透传命令,该类命令只从第1剪裁子模块(3)输出;第二种为图元和光栅位置命令,该类命令以图元为单位,依次从第1剪裁子模块(3)的和第2剪裁子模块(4)输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811521407.3A CN109712063B (zh) | 2018-12-12 | 2018-12-12 | 一种图形处理器平面剪裁电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811521407.3A CN109712063B (zh) | 2018-12-12 | 2018-12-12 | 一种图形处理器平面剪裁电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109712063A true CN109712063A (zh) | 2019-05-03 |
CN109712063B CN109712063B (zh) | 2023-03-14 |
Family
ID=66256529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811521407.3A Active CN109712063B (zh) | 2018-12-12 | 2018-12-12 | 一种图形处理器平面剪裁电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109712063B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241776A (zh) * | 2019-12-31 | 2020-06-05 | 西安翔腾微电子科技有限公司 | 基于SystemC的平面剪裁中GPU几何图元起始标记管理的TLM模型 |
JP2022075526A (ja) * | 2020-11-06 | 2022-05-18 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | 自動運転のための速度計画方法、装置、デバイス、媒体及び車両 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020030693A1 (en) * | 1998-01-15 | 2002-03-14 | David Robert Baldwin | Triangle clipping for 3d graphics |
KR20080064523A (ko) * | 2007-01-05 | 2008-07-09 | 삼성전자주식회사 | 3차원 그래픽 처리 장치 및 그것의 동작 방법 |
US7439988B1 (en) * | 2005-12-05 | 2008-10-21 | Nvidia Corporation | Apparatus, system, and method for clipping graphics primitives with respect to a clipping plane |
US20090027383A1 (en) * | 2003-11-19 | 2009-01-29 | Lucid Information Technology, Ltd. | Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition |
US7746355B1 (en) * | 2007-01-24 | 2010-06-29 | Vivante Corporation | Method for distributed clipping outside of view volume |
JP2010199659A (ja) * | 2009-02-23 | 2010-09-09 | Panasonic Corp | 画像処理装置、及び画像処理方法 |
CN103400338A (zh) * | 2013-07-25 | 2013-11-20 | 天津大学 | 嵌入式gpu中面积有效、功能复用的裁剪方法及模块 |
CN103593851A (zh) * | 2009-03-31 | 2014-02-19 | 松下电器产业株式会社 | 立体图像处理器 |
CN203535692U (zh) * | 2013-07-25 | 2014-04-09 | 天津大学 | 嵌入式gpu中面积有效、功能复用的裁剪模块 |
US8704835B1 (en) * | 2009-10-08 | 2014-04-22 | Nvidia Corporation | Distributed clip, cull, viewport transform and perspective correction |
CN104200425A (zh) * | 2014-08-22 | 2014-12-10 | 济南大学 | 一种gpu图形处理过程中图元裁剪装置及裁剪方法 |
CN104503950A (zh) * | 2014-12-09 | 2015-04-08 | 中国航空工业集团公司第六三一研究所 | 一种面向OpenGL API的图形处理器 |
US20160078598A1 (en) * | 2014-09-12 | 2016-03-17 | Kabushiki Kaisha Toshiba | Image processor and image processing method |
CN108389154A (zh) * | 2018-03-27 | 2018-08-10 | 长沙景嘉微电子股份有限公司 | Gpu中一种用于并行绘制的裁剪区域分割技术的实现方法 |
-
2018
- 2018-12-12 CN CN201811521407.3A patent/CN109712063B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020030693A1 (en) * | 1998-01-15 | 2002-03-14 | David Robert Baldwin | Triangle clipping for 3d graphics |
US20090027383A1 (en) * | 2003-11-19 | 2009-01-29 | Lucid Information Technology, Ltd. | Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition |
US7439988B1 (en) * | 2005-12-05 | 2008-10-21 | Nvidia Corporation | Apparatus, system, and method for clipping graphics primitives with respect to a clipping plane |
KR20080064523A (ko) * | 2007-01-05 | 2008-07-09 | 삼성전자주식회사 | 3차원 그래픽 처리 장치 및 그것의 동작 방법 |
US7746355B1 (en) * | 2007-01-24 | 2010-06-29 | Vivante Corporation | Method for distributed clipping outside of view volume |
JP2010199659A (ja) * | 2009-02-23 | 2010-09-09 | Panasonic Corp | 画像処理装置、及び画像処理方法 |
CN103593851A (zh) * | 2009-03-31 | 2014-02-19 | 松下电器产业株式会社 | 立体图像处理器 |
US8704835B1 (en) * | 2009-10-08 | 2014-04-22 | Nvidia Corporation | Distributed clip, cull, viewport transform and perspective correction |
CN203535692U (zh) * | 2013-07-25 | 2014-04-09 | 天津大学 | 嵌入式gpu中面积有效、功能复用的裁剪模块 |
CN103400338A (zh) * | 2013-07-25 | 2013-11-20 | 天津大学 | 嵌入式gpu中面积有效、功能复用的裁剪方法及模块 |
CN104200425A (zh) * | 2014-08-22 | 2014-12-10 | 济南大学 | 一种gpu图形处理过程中图元裁剪装置及裁剪方法 |
US20160078598A1 (en) * | 2014-09-12 | 2016-03-17 | Kabushiki Kaisha Toshiba | Image processor and image processing method |
CN104503950A (zh) * | 2014-12-09 | 2015-04-08 | 中国航空工业集团公司第六三一研究所 | 一种面向OpenGL API的图形处理器 |
CN108389154A (zh) * | 2018-03-27 | 2018-08-10 | 长沙景嘉微电子股份有限公司 | Gpu中一种用于并行绘制的裁剪区域分割技术的实现方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111241776A (zh) * | 2019-12-31 | 2020-06-05 | 西安翔腾微电子科技有限公司 | 基于SystemC的平面剪裁中GPU几何图元起始标记管理的TLM模型 |
CN111241776B (zh) * | 2019-12-31 | 2023-10-20 | 西安翔腾微电子科技有限公司 | 基于SystemC的平面剪裁中GPU几何图元起始标记管理的TLM装置 |
JP2022075526A (ja) * | 2020-11-06 | 2022-05-18 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | 自動運転のための速度計画方法、装置、デバイス、媒体及び車両 |
JP7372296B2 (ja) | 2020-11-06 | 2023-10-31 | バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド | 自動運転のための速度計画方法、装置、デバイス、媒体及び車両 |
Also Published As
Publication number | Publication date |
---|---|
CN109712063B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4120199A1 (en) | Image rendering method and apparatus, and electronic device and storage medium | |
CN108073682B (zh) | 基于参数视图函数查询数据库 | |
US20060139349A1 (en) | Applications of interval arithmetic for reduction of number of computations in ray tracing problems | |
JP2019179544A (ja) | フライス作業によって製造可能な部品の設計 | |
CN105760570B (zh) | 选择对象集的视点 | |
CN108022202A (zh) | 一种超前消隐几何引擎结构 | |
WO2020097343A1 (en) | Interactive system and method providing real-time virtual reality visualization of simulation data | |
CN116050032B (zh) | 叶片网格切片生成方法、装置、存储介质及电子设备 | |
CN108876893A (zh) | 三维人脸重建的方法、装置、系统及计算机存储介质 | |
CN109712063A (zh) | 一种图形处理器平面剪裁电路 | |
Yuan et al. | Feature preserving multiresolution subdivision and simplification of point clouds: A conformal geometric algebra approach | |
CN110084894A (zh) | 三维模型的局部放大展示方法、装置与电子设备 | |
CN113724401A (zh) | 一种三维模型切割方法、装置、计算机设备和存储介质 | |
CN108346174B (zh) | 一种支持单模型交互的三维模型合并方法 | |
CN109683858A (zh) | 数据处理方法及装置 | |
CN107004304B (zh) | 在计算机模拟中渲染损坏增强图像 | |
CN115798654A (zh) | 一种模型材料处理方法、装置、设备及介质 | |
CN114119939A (zh) | 数据轻量化处理方法、装置、存储介质及电子设备 | |
CN116977598B (zh) | 三角网格数值仿真平滑化的方法 | |
CN107004299B (zh) | 渲染三维多边形网格的似然图像 | |
CN109727184A (zh) | 一种图形处理器三维剪裁电路 | |
KR101746331B1 (ko) | 해양플랜트 3차원 파이프 모델의 중복 면 제거 방법 및 시스템 | |
CN109977628A (zh) | 一种在Unity中高效模拟激光雷达的方法 | |
JPS6386079A (ja) | 3次元陰影画像生成処理方法 | |
CN111026895B (zh) | 一种数据可视化处理方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |