CN106204408A - 绘图处理电路及其前置深度信息处理方法 - Google Patents
绘图处理电路及其前置深度信息处理方法 Download PDFInfo
- Publication number
- CN106204408A CN106204408A CN201510307018.0A CN201510307018A CN106204408A CN 106204408 A CN106204408 A CN 106204408A CN 201510307018 A CN201510307018 A CN 201510307018A CN 106204408 A CN106204408 A CN 106204408A
- Authority
- CN
- China
- Prior art keywords
- preposition
- depth information
- depth
- information
- circuit
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种绘图处理电路及其前置深度信息处理方法。处理方法包括下列步骤:接收一第一基础图形在一特定砖墙位置所对应的一第一深度信息;读取该前置深度缓冲器中的该特定砖墙位置所对应的一前置深度信息;当该第一深度信息不大于该前置深度信息且该第一基础图形为一不透明基础图形时,利用该第一深度信息更新该前置深度信息;以及当该第一深度信息不大于该前置深度信息且第一基础图形为一半透明基础图形时,利用该第一深度信息与该前置深度信息产生一顺序不确定范围以更新前置深度信息。本发明实施例可提高图像处理的效率。
Description
【技术领域】
本发明涉及一种绘图处理电路及其相关处理方法,尤其涉及一种绘图处理电路及其前置深度处理方法。
【背景技术】
近几年来,随着计算机科技以及游戏软件的快速发展,利用3D显示技术所研发出的3D游戏已经可以呈现逼真且华丽的图像。而随着手持式装置的逐渐普遍,3D显示技术也逐渐的运用于手持式装置。手持式装置可为智能型手机或者平板计算机等等的移动装置。
众所周知,3D绘图处理电路(graphic processing circuit)是处理3D图像的核心。为了要呈现细腻的3D图像,3D绘图处理电路会消耗大量的电能。当3D绘图处理电路设置于移动装置中,则移动装置的电能会快速消耗。
因此,提升3D绘图处理电路的效能,并降低其能量的损耗,延长移动装置运行的时间,即为一个重要的课题。
【发明内容】
本发明提出一种绘图处理电路及其前置深度处理方法。
本发明的实施例提供一种绘图处理电路,包括:一顶点处理电路,包括:一几何处理电路,加载一场景的一几何信息,并进行一顶点转换操作;一前置深度测试电路,接收该顶点转换操作后的该几何信息,并以一砖墙分辨率分割该几何信息,进而获得该场景的该砖墙分辨率的一前置深度信息;以及一区块存储器,接收该顶点转换操作后的该几何信息,并以一区块分辨率分割该几何信息,并产生多个区块列表;以及一像素处理电路,包括:一光栅处理电路,加载该多个区块列表,并将该多个区块列表转换为多个换算出的砖墙,并根据该多个换算出的砖墙的深度信息,及该场景的该前置深度信息,区分该多个换算出的砖墙为一第一部分砖墙与一第二部分砖墙,并丢弃该第二部分砖墙;以及一描绘组件,接收并处理该第一部分砖墙,产生该场景中每个像素的颜色与深度信息;其中,该几何信息中包括多个基础图形的顶点信息,且每一该顶点信息中具有一来源半透明旗标,用于指示对应的基础图形是一不透明基础图形或者一半透明基础图形。
本发明的实施例还提供于一种运用于绘图处理电路的前置深度信息处理方法,该绘图处理电路可将一前置深度信息存储在一前置深度缓冲器,该处理方法包括下列步骤:接收一第一基础图形在一特定砖墙位置所对应的一第一深度信息;读取该前置深度缓冲器中的该特定砖墙位置所对应的该前置深度信息;当该第一深度信息不大于该前置深度信息且该第一基础图形为一不透明基础图形时,利用该第一深度信息更新该前置深度信息;以及当该第一深度信息不大于该前置深度信息且第一基础图形为一半透明基础图形时,利用该第一深度信息与该前置深度信息产生一顺序不确定范围以更新前置深度信息。上述绘图处理电路及其前置深度处理方法接收顶点转换操作后的该几何信息,并以一砖墙分辨率分割该几何信息,进而获得该场景的该砖墙分辨率的一前置深度信息,并以一区块分辨率分割该几何信息,并产生多个区块列表,以及将该多个区块列表转换为多个换算出的砖墙,并根据该多个换算出的砖墙的深度信息,及该场景的该前置深度信息,区分该多个换算出的砖墙为一第一部分砖墙与一第二部分砖墙,并丢弃该第二部分砖墙来判断砖墙,最终处理该第一部分砖墙,由此提高了图像处理效率。
【附图说明】
图1为3D绘图处理电路的框图。
图2A-2B为三个基础图形(primitive)输入至预深度测试与排除(Pre-Z testingand occlusion)的顺序示意图。
图3为本发明3D绘图处理电路的第一实施例的框图。
图4为本发明3D绘图处理电路的深度处理方法的流程图。
图5A-第5C、图6A-6C、图7-图8是各种排序状况时产生前置深度信息的示意图。
图9为前置深度信息的更新方法流程图。
【具体实施方式】
请参考图1,其为绘图处理电路的示意图。3D绘图处理电路100包括:一顶点处理电路(Vertex Processing circuit,简称VP)110与一像素处理电路(PixelProcessing circuit,简称PP)130。3D绘图处理电路100连接至缓冲组件(bufferingdevice)120。举例而言,缓冲组件120可为内部存储器或外部内存,例如静态随机存储器(Static Random Access Memory,SRAM)或动态随机存储器(DynamicRandom Access Memory,DRAM)。
顶点处理电路110包括一顶点加载器(Vertex loader)112、顶点渲染器(VertexShader)114与区块存储器(Bin Store)116。举例而言,缓冲组件120可定义一顶点缓冲器(vertex buffer)122与一区块缓冲器(bin buffer)124。
根据3D显示技术,一个场景(scene)中包括有多个对象(object),而每个对象皆由多个基础图形(primitive)所组合而成。基础图形(primitive)典型地为三角形(triangle),也可以是线(line)、是点(point)或者四边形。
当3D绘图处理电路100处理一个场景(scene)时,应用程序界面(applicationprogramming interface,API)会将所有基础图形(primitive)的顶点信息(vertexinformation)暂存于顶点缓冲器122供顶点处理电路110的处理。顶点信息为构成基础图形(primitive)的所有顶点(vertex)的位置(position)、颜色(color)以及贴图坐标(texture coordinate)。
顶点处理电路110将场景中的画面由三维的世界空间坐标(word spacecoordinate)转换(convert to)为二维的屏幕空间坐标(screen space coordinate)。首先,顶点加载器(Vertex loader)112载入顶点缓冲器122中存储的基础图形(primitive)的顶点信息(vertex information),并传递至顶点渲染器(Vertex Shader)114进行顶点转换操作(vertex transformation)。
顶点渲染器(Vertex Shader)114可根据可程序化的渲染程序(ProgrammableShader Code)进行基础图形(primitive)的打光(Lighting)与顶点转换操作(vertextransformation)。而顶点转换操作(vertex transformation)完成后,所有的基础图形(primitive)会转换至二维的屏幕空间坐标(screen space coordinate),并传递至区块存储器(bin store)116。
基本上,一个场景(scene)可被划分为多个区块(bin),例如一个区块的大小(size)为32像素×32像素。换言之,1024像素×1024像素的场景(scene)可被划分为1024个区块(bin)。当然,区块(bin)以及场景(scene)的大小并不限定于上述的大小。
更详细地说,当顶点转换操作(vertex transformation)完成后,区块存储器(binstore)116会建立所有的基础图形(primitive)与区块(bin)之间的对应的关系并存储在区块缓冲器(bin buffer)124。举例来说,假设第一基础图形(primitive)进行顶点转换操作后,其所转换到的屏幕空间坐标会接触(touch)于二个区块(bin),则区块存储器(bin store)116会在该二个区块(bin)的区块列表(bin table)中记录该第一基础图形(primitive)的顶点信息。
同理,所有的基础图形(primitive)皆进行顶点转换操作后,区块存储器(binstore)116会在每一个区块(bin)中记录接触于该区块的所有基础图形的顶点信息。举例来说,经过顶点转换操作后,共有五个基础图形接触于第一区块,所以第一区块中的区块列表会记录五个基础图形的顶点信息。
换句话说,区块存储器(bin store)116会将所有区块(bin)的区块列表存储在区块缓冲器124。而每一个区块列表会记录接触于该区块的基础图形的顶点信息。像素处理电路(Pixel Processing circuit)130中包括一区块加载器(bin loader)132、一前置深度测试与遮蔽物剔除电路(Pre-Z Testing and Occlusion Culling circuit)134、一像素渲染电路(Pixel shader circuit)136与一后端混合电路(post blendingcircuit)138。缓冲组件120可进一步定义一前置深度缓冲器(Pre-Z buffer)125、一贴图缓冲器(texture buffer)127与一颜色与深度缓冲器(color/Z buffer)129。
像素处理电路130中,区块加载器(bin loader)132载入区块缓冲器124中暂存的区块列表(bin table),并传递至前置深度测试与遮蔽物剔除电路134。前置深度测试与遮蔽物剔除电路134接收区块列表,并根据区块列表中每个基础图形的深度信息(depth information)来排序(sorting)出最小的深度信息。
前置深度测试与遮蔽物剔除电路134排序的过程,会根据待处理的基础图形的深度信息和存储在前置深度缓冲器125的前置深度信息(pre-depthinformation)的比较结果,选择性地将特定的基础图形(primitive)传递至像素渲染电路(pixel shader circuit)136进行处理,并以对应的深度信息来更新前置深度信息,并暂存于前置深度缓冲器125。而排序的过程完成后存储在前置深度缓冲器125的前置深度信息是最小的深度信息,其所对应的基础图形(primitive)最接近观察者。
前置深度测试与遮蔽物剔除电路134是判断特定基础图形的深度信息,并与前置深度缓冲器125中暂存的前置深度信息进行比较。当特定基础图形的深度信息较大时,直接排除(Occlusion Culling)特定基础图形。反之,当特定基础图形(primitive)的深度信息较小时,直接取代前置深度缓冲器125中暂存的前置深度信息并将特定基础图形传递至像素渲染电路136进行处理。
当区块列表(bin table)中所有的基础图形的深度信息皆排序完成后,前置深度缓冲器125中对应于第一区块(bin)的前置深度信息是距离屏幕最近的基础图形的深度信息。
像素处理电路130中的像素渲染电路136接收到基础图形时,针对基础图形中的每一个像素进行运算并选择性地从贴图缓冲器127读取特定贴图(texture)后传递至后端混合电路(post blending circuit)138。使得后端混合电路138据以产生场景(scene)上每个像素的颜色与深度值(depth value),并存储在颜色与深度缓冲器129。而颜色与深度缓冲器129中所存储的数据即为呈现于屏幕上的像素数据。
3D绘图处理电路100中,前置深度测试与遮蔽物剔除电路134会比较基础图形的深度信息,并根据比较结果选择性地将基础图形传递至像素渲染电路136进行处理。由于像素处理电路130中的区块加载器132无法决定基础图形输入至前置深度测试与遮蔽物剔除电路134的顺序,可能会影响像素渲染电路136的处理效率。
请参考图2A与图2B,其为三个基础图形输入至前置深度测试与遮蔽物剔除电路134的顺序示意图。基础图形P3的深度信息z3包括最大深度值z3x(maximum depth value)与最小深度值z3i(minimum depth value),最大深度值z3x代表基础图形P3中距离眼睛最远的距离,而最小深度值z3i代表基础图形P3中距离眼睛最近的距离。同理,基础图形P2的深度信息z2包括最大深度值z2x与最小深度值z2i,基础图形P1的深度信息z1包括最大深度值z1x与最小深度值z1i。
如图2A所示,距离眼睛最近的基础图形P3具有最小的深度信息z3,距离眼睛最远的基础图形P1具有最大的深度信息z1。假设基础图形输入的顺序是由前往后(from front to back),亦即P3、P2、P1的次序,因此仅有基础图形P3会被传递至像素渲染电路136进行处理,基础图形P2与P1会被排除,像素渲染电路136会有较佳的处理效率。
如图2B所示,假设基础图形输入的顺序是由后往前(from back to front),亦即P1、P2、P3的次序,三个基础图形P1~P3皆会被传递至像素渲染电路136进行处理,且前置深度缓冲器125中的前置深度信息会逐次被取代。由于基础图形P3的深度信息z3最小且会遮蔽基础图形P2与P1。实际上,基础图形P2与P1不需要被传递至像素渲染电路136进行处理。换言之,图2B所示的基础图形的输入顺序,会影响像素渲染电路136的处理效率。
再者,当三个基础图形中并非全部都是不透明的(opaque)基础图形时,3D绘图处理电路100的处理方式将更为复杂。举例来说,假设图2A与图2B中,基础图形P2为半透明的(translucent)基础图形且基础图形P1与P3为不透明的基础图形时,三个基础图形P1、P2、P3的出现次序(ordering)也会影响3D绘图处理电路100的绘图结果。
请参考图3,其为本发明3D绘图处理电路的第一实施例的框图。3D绘图处理电路300包括:一顶点处理电路(Vertex Processing circuit,简称VP)310与一像素处理电路(Pixel Processing circuit,简称PP)330,3D绘图处理电路300连接至缓冲组件(buffering device)320,举例而言,缓冲组件320可为内部存储器或外部内存例如SRAM或DRAM。
本发明的3D绘图处理电路300可以处理不透明的基础图形与半透明的基础图形。以下先以基础图形皆为不透明的基础图形来进行说明。
顶点处理电路310中包括:一几何处理电路(Geometry processing circuit)311、前置深度测试电路(Pre-Z testing circuit)316、与区块存储器318。举例而言,几何处理电路311包括:一顶点加载器(Vertex loader)312与一顶点渲染器(VertexShader)314。举例而言,缓冲组件320可定义一顶点缓冲器(vertex buffer)322、前置深度缓冲器(Pre-Z buffer)325与一区块缓冲器(bin buffer)324。
当3D绘图处理电路300处理一个场景(scene)时,应用程序界面(API)会将所有基础图形(primitive)的几何信息(geometry information)暂存于顶点缓冲器322并等待顶点处理电路310的处理。举例而言,基础图形(primitive)可以是四边形、三角形(triangle)、线(line)或者是点(point)。几何信息可为顶点信息,代表基础图形的所有顶点的位置、颜色以及贴图坐标。
在该实施例中,顶点处理电路310将场景中的画面由三维的世界空间坐标(word space coordinate)转换为二维的屏幕空间坐标(screen space coordinate)。几何处理电路(Geometry processing circuit)311是加载场景的几何信息。
首先,几何处理电路(Geometry processing circuit)311中的顶点加载器(Vertexloader)312载入顶点缓冲器322中暂存的基础图形的顶点信息,并传递至顶点渲染器(Vertex Shader)314进行顶点转换操作(vertex transformation)。
在该实施例中,顶点渲染器314可根据可程序化的渲染程序(ProgrammableShader Code)进行基础图形的打光与顶点转换操作。而顶点转换操作完成后,所有的基础图形会转换至二维的屏幕空间坐标(screen space coordinate),并传递至前置深度测试电路316。
在该实施例中,显示的场景可被划分为多个砖墙(tile)与区块(bin),且砖墙的尺寸小于区块的尺寸。举例来说,一个砖墙的大小为4像素×4像素,而区块的大小为32像素×32像素。换言之,1024像素×1024像素的场景可被划分为65536个砖墙或者1024个区块。砖墙、区块以及场景不限定于上述的大小。
更详细地说,当顶点转换操作完成后,前置深度测试电路(Pre-Z Testingcircuit)316会根据所有的基础图形来建立整个场景的砖墙分辨率的前置深度信息(pre-depth information in tile resolution),并且存储在前置深度缓冲器(Pre-Zbuffer)325。
当顶点转换操作完成后,前置深度测试电路316会建立所有的基础图形与砖墙的间的对应的关系并存储在前置深度缓冲器325。较佳地,前置深度测试电路316将基础图形(primitive)切成数个砖墙(tile),并排序(sorting)所有砖墙(tile)的深度信息,并暂存于前置深度缓冲器(Pre-Z buffer)325。
举例来说,假设顶点渲染器314进行顶点转换操作后,有第一基础图形、第二基础图形与第三基础图形会接触于第一砖墙。且第一基础图形在第一砖墙位置的深度信息za包括最大深度值zax与最小深度值zai,第二基础图形在第一砖墙位置的深度信息zb包括最大深度值zbx与最小深度值zbi,第三基础图形在第一砖墙位置的深度信息zc包括最大深度值zcx与最小深度值zci。其中,zai大于zbx,且zbi大于zcx。
首先,前置深度测试电路316将第一基础图形在第一砖墙位置的深度信息za暂存于前置深度缓冲器325作为前置深度信息。
接着,前置深度测试电路316判断第二基础图形在第一砖墙位置的深度信息zb。由于前置深度缓冲器325存储的前置深度信息为za,其包括最大深度值zax与最小深度值zai,且zai大于zbx。
在该实施例中,在整个场景上,第一基础图形在第一砖墙的深度较深,使得第一基础图形在第一砖墙的位置被第二基础图形所遮敝,并不会显示于屏幕上。此时,前置深度测试电路316将深度信息zb暂存于前置深度缓冲器325作为更新的前置深度信息并取代za。亦即,以深度信息zb中的最大深度值zbx来取代前置深度信息za中的最大深度值zax,并以深度信息zb中的最小深度值zbi来取代前置深度信息za中的最小深度值zai。
接着,前置深度测试电路316判断第三基础图形在第一砖墙位置的深度信息zc。由于前置深度缓冲器325存储的前置深度信息为zc,其包括最大深度值zcx与最小深度值zci,且zbi大于zcx。
在该实施例中,在整个场景上,第三基础图形在第一砖墙的深度较近于观察者,使得第二基础图形在第一砖墙的位置被第三基础图形所遮敝,并不会显示于屏幕上。此时,前置深度测试电路316将深度信息zc暂存于前置深度缓冲器325作为更新的前置深度信息并取代zb。亦即,以深度信息zc中的最大深度值zcx来取代前置深度信息zb中的最大深度值zbx,并以深度信息zc中的最小深度值zci来取代前置深度信息zb中的最小深度值zbi。
在该实施例中,前置深度测试电路316比较每一个砖墙中所有的基础图形在该砖墙的深度信息,并决定每一个砖墙所对应的前置深度信息。当所有砖墙中的所有深度信息皆排序完成后,前置深度缓冲器325即存储整个场景的砖墙分辨率的前置深度信息。
当顶点渲染器314进行顶点转换操作后,所有的基础图形的顶点信息也会传递至区块存储器(bin store)318。
区块存储器(bin store)318建立所有的基础图形与区块之间的对应的关系并存储在区块缓冲器324。亦即,所有的基础图形皆进行顶点转换操作后,区块存储器318会在每一个区块中记录接触(touch)于该区块的所有基础图形的顶点信息,建立区块列表。而区块存储器318会将所有区块(bin)的区块列表(bin table)存储在区块缓冲器324。而每一个区块列表会记录接触于该区块的基础图形的顶点信息。
在第一实施例中,像素处理电路330中包括一光栅处理电路(rasterizationprocessing circuit)331与描绘组件(rendering device)335。光栅处理电路331包括:区块加载器(Bin loader)332与遮蔽物剔除电路(Occlusion Culling circuit)334。描绘组件335包括:一像素渲染电路(pixel shader circuit)336与一后端混合电路(postblending circuit)338。缓冲组件320可进一步定义一贴图缓冲器(texture buffer)327与一颜色与深度缓冲器(color/Z buffer)329。
光栅处理电路331的区块加载器332加载区块缓冲器324中暂存的区块列表,并将区块列表传递至遮蔽物剔除电路334。
当遮蔽物剔除电路334收到区块列表后,根据区块列表中每个基础图形的顶点信息,获得每个基础图形的深度信息。遮蔽物剔除电路334将每个基础图形切割成为墙砖的大小,并换算基础图形在每个砖墙中的深度信息。
遮蔽物剔除电路334将换算出的砖墙的深度信息进一步与前置深度缓冲器325中的前置深度信息进行比较,并根据一预定关系来决定该换算出的砖墙是否传递至像素渲染电路336进行处理。
举例而言,由于整个场景的前置深度信息皆存储在前置深度缓冲器325,当遮蔽物剔除电路334换算出的砖墙的深度信息中的最大深度值不大于前置深度缓冲器325中的前置深度信息中的最小深度值时,代表换算出的砖墙不会被遮蔽,遮蔽物剔除电路334可进一步将换算出的砖墙传递至像素渲染电路336进行处理。
反之,当遮蔽物剔除电路334换算出的砖墙的深度信息中的最小深度值大于前置深度缓冲器325中的前置深度信息中的最大深度值时,代表换算出的砖墙会被遮蔽,遮蔽物剔除电路334可直接将换算出的砖墙排除,不传递至像素渲染电路336。
由以上的说明可知,当遮蔽物剔除电路334收到区块列表并将每个基础图形切割成为墙砖的大小之后,多个换算出的砖墙不需经过额外的排序,可直接与前置深度缓冲器325中的前置深度信息进行比较,而仅有需要处理的墙砖才会被传递至像素渲染电路336进行处理,可以有效地提高像素渲染电路336的处理效率。
再者,像素处理电路330中的像素渲染电路336接收到墙砖时,针对墙砖中的基础图形的每一个像素进行运算并选择性地由贴图缓冲器327读取特定贴图后传递至后端混合电路338,使得后端混合电路338据以产生屏幕上每个像素的颜色与深度值(depth value),并存储在颜色与深度缓冲器329。
在该实施例中,3D绘图处理电路300,可先在顶点处理电路310中利用前置深度测试电路316将整个场景的砖墙分辨率的前置深度信息存储在前置深度缓冲器325中。之后,在像素处理电路330中的遮蔽物剔除电路334进行判断时,多个换算出的砖墙不需经过额外的排序,即可与前置深度缓冲器325中的前置深度信息进行比较,并将需要处理的墙砖传递至像素渲染电路336进行处理,而不需要处理的墙砖可直接予以排除。
再者本发明的第一实施例中,当遮蔽物剔除电路334在利用预定关系来比较换算出的砖墙的深度信息与前置深度信息之间的关系时,可能无法确认换算出的砖墙是否完全被遮蔽,此换算出的砖墙被称为模糊砖墙(ambiguous tile)。举例来说,换算出的砖墙的深度信息中,最大深度值或者最小深度值位于前置深度信息的最大深度值与最小深度值之间时,换算出的砖墙即为模糊砖墙。而换算出的砖墙被遮蔽物剔除电路334判断为模糊砖墙时,模糊砖墙也被传递至像素渲染电路336进行处理。
较佳地,第一实施例的3D绘图处理电路300包括顶点处理电路310与像素处理电路330,可以集成为一集成电路(single silicon)。较佳地,区块缓冲器324与前置深度缓冲器325可以与3D绘图处理电路300集成为一集成电路(singlesilicon),提升整体数据存取效率。举例而言,区块缓冲器324与前置深度缓冲器325可以为芯片内存(on-die memory),例如静态随机存取内存(SRAM)或者高速缓存。
由以上的说明可以获得图4所示的3D绘图处理电路的深度处理方法流程图。首先,加载一场景的一几何信息,并进行一顶点转换操作(步骤S401);接着,以一砖墙分辨率分割该顶点转换操作后的该几何信息,并获得该场景最靠近观察者的前置深度信息(步骤S403),且该前置深度信息是被存储在前置深度缓冲器;接着,以一区块分辨率分割该顶点转换操作后的该几何信息,并产生多个区块列表(步骤S405);将该多个区块列表中的基础图形转换为多个砖墙,并根据存储在该前置深度缓冲器的前置深度信息和该砖墙的深度信息,区分该多个换算出的砖墙为一第一部分砖墙与一第二部分砖墙,并丢弃该第二部分砖墙(步骤S407);以及处理该第一部分砖墙,产生该场景中每个像素的颜色与深度信息(步骤S409)。
在步骤S401中,该几何信息包括多个基础图形的顶点信息。在步骤S403中,是以该砖墙分辨率分割该顶点转换操作后的该多个基础图形,并获得该场景的该砖墙分辨率的前置深度信息。步骤S405中是以该区块分辨率分割该顶点转换操作的该多个基础图形,并产生该多个区块列表。
在步骤S407中,更包括:当该多个换算出的砖墙的深度信息不大于该前置深度缓冲器中的前置深度信息时,被区分为该第一部分砖墙;当该多个换算出的砖墙的深度信息大于该前置深度缓冲器中的前置深度信息时,被区分为该第二部分砖墙;以及当该多个换算出的砖墙的深度信息无法判断出是否大于该前置深度缓冲器中的深度信息时,被区分为该第一部分砖墙。并且,根据该多个区块列表中的该多个中介信息将该多个区块列表转换为多个换算出的砖墙。
再者,本发明的第一实施例还有利于处理不透明的基础图形与半透明的基础图形。较佳地,在前置深度缓冲器中增加一目标半透明旗标(destinationtranslucent flag)用于记录半透明基础图形的存在,并记录半透明基础图形与不透明基础图形之间的深度关系。避免位于其间的不透明基础图形的深度信息被更新于前置深度缓冲器325。
相较于仅处理不透明基础图形的3D绘图处理电路300,差异在于顶点处理电路310中,前置深度测试电路316处理前置深度信息的流程,像素处理电路330的部分不变,因此不再赘述。
当3D绘图处理电路300处理一个场景(scene)时,应用程序界面(API)会将所有基础图形(primitive)的几何信息(geometry information)暂存于顶点缓冲器322并等待顶点处理电路310的处理。举例而言,几何信息可为顶点信息,代表基础图形的所有顶点的位置、颜色、贴图坐标以及该基础图形的属性(attribute)。基础图形的属性可为不透明基础图形或者半透明基础图形。
在该实施例中,顶点处理电路310将场景中的画面由三维的世界空间坐标(word space coordinate)转换为二维的屏幕空间坐标(screen space coordinate)。几何处理电路(Geometry processing circuit)311是加载场景的几何信息。
首先,几何处理电路(Geometry processing circuit)311中的顶点加载器(Vertexloader)312载入顶点缓冲器322中暂存的基础图形的顶点信息,并传递至顶点渲染器(Vertex Shader)314进行顶点转换操作。
在该实施例中,顶点渲染器314可根据可程序化的渲染程序(ProgrammableShader Code)进行基础图形的打光与顶点转换操作。而顶点转换操作完成后,所有的基础图形会转换至二维的屏幕空间坐标(screen space coordinate),并传递至前置深度测试电路316。
在该实施例中,显示的场景可被划分为多个砖墙(tile)与区块(bin),且砖墙的尺寸小于区块的尺寸。举例来说,一个砖墙的大小为4像素×4像素,而区块的大小为32像素×32像素。换言之,1024像素×1024像素的场景可被划分为65536个砖墙或者1024个区块。砖墙、区块以及场景不限定于上述的大小。
更详细地说,当顶点转换操作完成后,前置深度测试电路(Pre-Z Testingcircuit)316会根据所有的基础图形来建立整个场景的砖墙分辨率的前置深度信息(pre-depth information in tile resolution),并且存储在前置深度缓冲器(Pre-Zbuffer)325。
当顶点转换操作完成后,前置深度测试电路316会建立所有的基础图形与砖墙之间的对应的关系并存储在前置深度缓冲器325。较佳地,前置深度测试电路316将基础图形(primitive)切成数个砖墙(tile)时,会根据基础图形的属性决定被切割的砖墙的来源半透明旗标(source translucent flag)。并且,前置深度测试电路316会在每一个特定的砖墙位置上,排序(sorting)所有砖墙(tile)的深度信息,并暂存于前置深度缓冲器(Pre-Z buffer)325并形成前置深度信息。以下利用图5A至图5C、图6A至图6C、图7与图8来详细说明各种排序状况时,产生前置深度信息的流程:
如图5A至图5C所示,假设顶点渲染器314依序进行基础图形P1、P2与P3的顶点转换操作后,不透明的基础图形P1、P2与P3皆会接触于第一砖墙。
首先,如图5A所示,第一基础图形P1在第一砖墙位置的深度信息z1包括最大深度值z1x与最小深度值z1i,且第一基础图形P1在第一砖墙位置的属性为不透明属性,所以对应的来源半透明旗标src_translucent(P1)为“0”代表为不透明的属性。
因此,前置深度测试电路316将第一基础图形在第一砖墙位置的深度信息z1更新到前置深度缓冲器325作为前置深度信息pre_z。第一砖墙位置的前置信息pre_z包括最大深度值与最小深度值,且最大深度值被更新为z1x,最小深度值被更新为z1i;目标半透明旗标dst_translucent也被更新为“0”,代表第一砖墙位置并没有任何半透明的砖墙。
接着,如图5B所示,第二基础图形P2在第一砖墙位置的深度信息z2包括最大深度值z2x与最小深度值z2i,且对应的来源半透明旗标src_translucent(P2)为“0”代表为不透明的属性。
由于z2x小于z1i,所以在第一砖墙位置的第一基础图形P1会被第二基础图形P2遮住。因此,深度信息z2被更新到前置深度缓冲器325中作为前置深度信息pre_z。所以第一砖墙位置的前置信息pre_z中的最大深度值被更新为z2x,最小深度值被更新为z2i;目标半透明旗标dst_translucent也维持“0”,代表第一砖墙位置并没有任何半透明的砖墙。
接着,如图5C所示,第三基础图形P3在第一砖墙位置的深度信息z3包括最大深度值z3x与最小深度值z3i,且对应的来源半透明旗标src_translucent(P3)为“0”代表为不透明的属性。
由于z2x小于z3i,所以在第一砖墙位置的第三基础图形P3会被第二基础图形P2遮住。因此,深度信息z3不会被更新到前置深度缓冲器325。所以第一砖墙位置的前置信息pre_z中的最大深度值维持为z2x,最小深度值维持为z2i;目标半透明旗标dst_translucent也维持“0”,代表第一砖墙位置并没有任何半透明的砖墙。
如图6A至图6C所示,假设顶点渲染器314依序进行基础图形P1、P2与P3的顶点转换操作后,基础图形P1、P2与P3皆会接触于第一砖墙。再者,第一基础图形P1与第三基础图形P3为不透明基础图形,第二基础图形P2为半透明基础图形。
首先,如图6A所示,第一基础图形P1在第一砖墙位置的深度信息z1包括最大深度值z1x与最小深度值z1i,且第一基础图形P1在第一砖墙位置的属性为不透明属性,所以对应的来源半透明旗标src_translucent(P1)为“0”代表为不透明的属性。
因此,前置深度测试电路316将第一基础图形在第一砖墙位置的深度信息z1更新到前置深度缓冲器325作为前置深度信息pre_z。其中,第一砖墙位置的前置信息pre_z包括最大深度值与最小深度值,且最大深度值被更新为z1x,最小深度值被更新为z1i;目标半透明旗标dst_translucent也被更新为“0”,代表第一砖墙位置并未有任何半透明的砖墙。
接着,如图6B所示,第二基础图形P2在第一砖墙位置的深度信息z2包括最大深度值z2x与最小深度值z2i,且对应的来源半透明旗标src_translucent(P2)为“1”代表为半透明的属性。
在该实施例中,当第一砖墙位置的前置深度信息pre_z与观察者的眼睛之间出现半透明的第二基础图形P2时,前置深度信息pre_z中的最小深度值需要被更新为半透明的第二基础图形P2的深度信息z2的最小深度值z2i。
因此,深度信息z2的最小深度值z2i被更新到前置深度缓冲器325。如图6B所示,更新完前置深度信息pre_z之后,其最大深度值维持为z1x,最小深度值被更新为z2i;目标半透明旗标dst_translucent被更新为“1”,代表第一砖墙位置的前置深度信息pre_z中包括半透明的砖墙。
接着,如图6C所示,第三基础图形P3在第一砖墙位置的深度信息z3包括最大深度值z3x与最小深度值z3i,且对应的来源半透明旗标src_translucent(P3)为“0”代表为不透明的属性。
由于深度信息z3位于前置深度信息pre_z内。因此,深度信息z3不会被更新到前置深度缓冲器325中。所以第一砖墙位置的前置信息pre_z中的最大深度值维持为z1x,最小深度值维持为z2i;目标半透明旗标dst_translucent也维持“1”,代表第一砖墙位置的前置深度信息pre_z中包括半透明的基础图形。
在该实施例中,当第一砖墙位置的前置深度信息pre_z与观察者的眼睛之间出现半透明的基础图形时,前置深度信息pre_z的范围(region)会被扩大。此时,根据目标半透明旗标dst_translucent被设定为“1”,而定义前置深度信息pre_z的范围为顺序不确定范围(uncertainty ordering range)。当遮蔽物剔除电路331处理该第一位置砖墙的所有换算的砖墙时,位于该顺序不确定范围中的换算的砖墙皆需要被传递至描绘组件335进行处理。
应注意到,相较于图5的实施例,如果没有上述处理半透明的方式,会导致前置深度信息pre_z被较近的深度信息所更新,使第一基础图形P1被遮蔽物剔除电路331所剔除,发生绘制顺序错置的问题。本发明在处理半透明物的深度信息时,根据设置目标半透明旗标,使得前置深度信息pre_z与该半透明物之间的范围为顺序不确定范围(uncertainty ordering range),可避免绘制顺序错置的情形发生。
在另一实施例中,在图6C之后,假设顶点渲染器314进行基础图形P4的顶点转换操作后,基础图形P4会接触于第一砖墙,第四基础图形P4为半透明基础图形。
如图7所示,第四基础图形P4在第一砖墙位置的深度信息z4包括最大深度值z4x与最小深度值z4i,且第四基础图形P4在第一砖墙位置的属性为半透明属性,所以对应的来源半透明旗标src_translucent(P4)为“1”代表为半透明的属性。
在该实施例中,当第一砖墙位置的前置深度信息pre_z与观察者的眼睛之间出现半透明的第四基础图形P4时,前置深度信息pre_z中的最小深度值需要被更新为半透明的第四基础图形P4的深度信息z4的最小深度值z4i。
因此,深度信息z4的最小深度值z4i被更新到前置深度缓冲器325。如图7所示,更新完前置深度信息pre_z之后,其最大深度值维持为z1x,最小深度值被更新为z4i。再者,目标半透明旗标dst_translucent维持为“1”,代表第一砖墙位置的前置深度信息pre_z中包括半透明的砖墙,且前置深度信息pre_z的范围(region)为顺序不确定范围(uncertainty ordering range),应注意到,受到半透明物P4的影响,图7的”顺序不确定范围”被扩大。
或者,在另一实施例中,在图6C之后,假设顶点渲染器314进行基础图形P4的顶点转换操作后,基础图形P4会接触于第一砖墙,第四基础图形P4为不透明基础图形。
如图8所示,第四基础图形P4在第一砖墙位置的深度信息z4包括最大深度值z4x与最小深度值z4i,且第四基础图形P4在第一砖墙位置的属性为不透明属性,所以对应的来源半透明旗标src_translucent(P4)为“0”代表为不透明的属性。如图8所示,更新完前置深度信息pre_z之后,其最大深度值更新为z4x,最小深度值被更新为z4i;目标半透明旗标dst_translucent则被更新为“0”,代表第一砖墙位置的前置深度信息pre_z被更新为”仅包括不透明物”的前置深度信息。
根据本发明的实施例,前置深度测试电路316比较每一个砖墙中所有的基础图形在该砖墙位置的深度信息后,即可决定每一个砖墙位置所对应的前置深度信息。而前置深度缓冲器325即存储整个场景的砖墙分辨率的前置深度信息。
根据以上的说明,可以获得图9所示的前置深度信息的更新方法流程图。首先,接收第一基础图形在一特定砖墙位置所对应的一第一深度信息(步骤S901);以及,读取前置深度缓冲器中该特定砖墙位置所对应的前置深度信息(步骤S903)。
接着,判断第一深度信息是否大于前置深度信息(步骤S905)。当第一深度信息大于前置深度信息时,代表第一基础图形在该特定砖墙位置会被遮蔽,因此不需要更新前置深度缓冲器中的前置深度信息(步骤S907)。
再者,当第一深度信息不大于前置深度信息时,代表第一基础图形在该特定砖墙位置不会被遮蔽,因此需要更新前置深度缓冲器中的前置深度信息。此时,继续判断第一基础图形是否为半透明基础图形(步骤S909)。举例而言,根据第一基础图形对应的几何信息中的来源半透明旗标即可得知第一基础图形为半透明的属性或者不透明的属性。
当第一基础图形为不透明基础图形时,第一基础图形在该特定砖墙位置会遮住后方所有的基础图形,则将第一深度信息作为更新前置深度信息,并存储到前置深度缓冲器中(步骤S913)。
另一方面,当第一基础图形为半透明基础图形时,第一基础图形在该特定砖墙位置不会遮住后方的基础图形。此时,需要结合第一深度信息与前置深度信息形成具有一顺序不确定范围的更新前置深度信息,并存储到前置深度缓冲器(步骤S911)中。举例而言,更新前置深度信息可根据原前置深度信息中的”最大深度值,与最小深度值”,以及第一深度信息中的”最大深度值,与最小深度值”所结合而成该顺序不确定范围,并且设定目标半透明旗标,用于指示第一砖墙位置的前置深度信息中包括半透明的砖墙。
根据以上所揭露的流程,当接触于该特定砖墙位置的所有基础图形皆进行图9的步骤流程之后,存储在前置深度缓冲器中的前置深度信息即可供遮蔽物剔除电路后续使用。
在另一实施例中,为了节省3D绘图处理电路300与前置深度缓冲器325之间的带宽,前置深度信息可以舍弃最小深度值。亦即前置深度信息包括一最大深度值与一目标半透明旗标。举例而言,请再参考图5A,将z1x更新为前置深度信息pre_z的最大值,将目标半透明旗标(dst_translucent)设定为“0”。在图5B中,将z2x更新为前置深度信息pre_z的最大值,将目标半透明旗标(dst_translucent)设定为“0”。在图5C中,不更新前置深度信息pre_z。再者,如果前置深度信息所存储的目标半透明旗标(dst_translucent)已被设定为1,表示该范围已包含半透明物,可不再更新前置深度信息pre_z的最大深度值。举例而言,在图6B、图6C、图7与图8的情况下,目标半透明旗标(dst_translucent)已被设定为1,则不更新前置深度信息pre_z中的最大深度值。
由以上的说明可知,本发明所提出的具区块式描绘的绘图处理电路300可处理不透明的基础图形与半透明的基础图形,利用顶点处理电路310中的前置深度测试电路316完成砖墙分辨率的前置深度信息并存储在前置深度缓冲器325中,绘图处理电路300利用像素处理电路330中的遮蔽物剔除电路334来判断砖墙的排除与否,藉此可提高像素渲染电路336的处理效率。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用于限定本发明。本领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求所界定者为准。
Claims (29)
1.一种绘图处理电路,其特征在于,包括:
一顶点处理电路,包括:
一几何处理电路,用于加载一场景的一几何信息,并进行一顶点转换操作;
一前置深度测试电路,用于接收该顶点转换操作后的该几何信息,并以一砖墙分辨率分割该几何信息,进而获得该场景的该砖墙分辨率的一前置深度信息;以及
一区块存储器,用于接收该顶点转换操作后的该几何信息,并以一区块分辨率分割该几何信息,并产生多个区块列表;以及
一像素处理电路,包括:
一光栅处理电路,用于加载该多个区块列表,并将该多个区块列表转换为多个换算出的砖墙,并根据该多个换算出的砖墙的深度信息,及该场景的该前置深度信息,区分该多个换算出的砖墙为一第一部分砖墙与一第二部分砖墙,并丢弃该第二部分砖墙;以及
一描绘组件,用于接收并处理该第一部分砖墙,产生该场景中每个像素的颜色与深度信息;
其中,该几何信息中包括多个基础图形的顶点信息,且每一该顶点信息中具有一来源半透明旗标,用于指示对应的基础图形是一不透明基础图形或者一半透明基础图形。
2.如权利要求1所述的绘图处理电路,其特征在于,该几何处理电路包括:
一顶点加载器,用于载入该场景中的该几何信息;及
一顶点渲染器,用于接收该顶点加载器加载的该多个基础图形的顶点信息,并进行该顶点转换操作。
3.如权利要求2所述的绘图处理电路,其特征在于,该前置深度测试电路,进一步用于接收该顶点转换操作后的该多个基础图形的顶点信息,并以该砖墙分辨率分割该多个基础图形,并进而获得该场景的该砖墙分辨率的前置深度信息。
4.如权利要求3所述的绘图处理电路,其特征在于,该前置深度测试电路将数据存储在一前置深度缓冲器,且该前置深度测试电路还用于:
接收一第一基础图形在一特定砖墙位置所对应的一第一深度信息;
读取该前置深度缓冲器中的该特定砖墙位置所对应的该前置深度信息;
当该第一深度信息不大于该前置深度信息且该第一基础图形为该不透明基础图形时,利用该第一深度信息更新该前置深度信息,并存储在该前置深度缓冲器;以及
当该第一深度信息不大于该前置深度信息且第一基础图形为该半透明基础图形时,利用该第一深度信息与该前置深度信息产生一顺序不确定范围以更新该前置深度信息,并存储在该前置深度缓冲器中。
5.如权利要求4所述的绘图处理电路,其特征在于,该第一深度信息包括一最大深度值、一最小深度值与一来源半透明旗标。
6.如权利要求5所述的绘图处理电路,其特征在于,该前置深度测试电路还用于根据该第一深度信息中的该来源半透明旗标来判断该第一基础图形是该半透明基础图形或者该不透明基础图形。
7.如权利要求6所述的绘图处理电路,其特征在于,该前置深度信息中包括一最大深度值、一最小深度值与一目标半透明旗标。
8.如权利要求7所述的绘图处理电路,其特征在于,利用该第一深度信息更新该前置深度信息时,是以该第一深度信息的该最大深度值取代该前置深度信息中的该最大深度值;以该第一深度信息的该最小深度值取代该前置深度信息中的该最小深度值;以及该来源半透明旗标取代该目标半透明旗标。
9.如权利要求7所述的绘图处理电路,其特征在于,利用该第一深度信息与该前置深度信息产生该顺序不确定范围时,是以该第一深度信息的该最小深度值取代该前置深度信息中的该最小深度值;以及该来源半透明旗标取代该目标半透明旗标。
10.如权利要求3所述的绘图处理电路,其特征在于,该区块存储器,进一步用于接收该顶点转换操作后该多个基础图形的顶点信息,并以该区块分辨率分割该多个基础图形,并产生该多个区块列表。
11.如权利要求10所述的绘图处理电路,其特征在于,该顶点加载器,由一顶点缓冲器中载入该场景中该多个基础图形的顶点信息。
12.如权利要求10所述的绘图处理电路,其特征在于,该区块存储器还用于将该多个区块列表存储在一区块缓冲器。
13.如权利要求10所述的绘图处理电路,其特征在于,该前置深度测试电路还用于将该场景的该砖墙分辨率的前置深度信息存储在一前置深度缓冲器。
14.如权利要求13所述的绘图处理电路,其特征在于,该光栅处理电路包括:
一区块加载器,用于载入该多个区块列表;以及
一遮蔽物剔除电路,用于将该多个区块列表转换为该多个换算出的砖墙,并根据该换算出的砖墙的深度信息及该场景的该前置深度信息,区分该多个换算出的砖墙为该第一部分砖墙与该第二部分砖墙,并丢弃该第二部分砖墙。
15.如权利要求14所述的绘图处理电路,其特征在于,该遮蔽物剔除电路进一步用于根据一预定关系将该多个换算出的砖墙区分为该第一部分砖墙与该第二部分砖墙。
16.如权利要求15所述的绘图处理电路,其特征在于,该预定关系包括:
当该多个换算出的砖墙的深度信息不大于该前置深度缓冲器中的该前置深度信息时,被区分为该第一部分砖墙;以及
当该多个换算出的砖墙的深度信息大于该前置深度缓冲器中的该前置深度信息时,被区分为该第二部分砖墙。
17.如权利要求16所述的绘图处理电路,其特征在于,该预定关系还包括:
当该多个换算出的砖墙的深度信息无法判断出是否大于该前置深度缓冲器中的深度信息时,被区分为该第一部分砖墙。
18.如权利要求1所述的绘图处理电路,其特征在于,该描绘组件包括:
一像素渲染电路,用于接收并处理该第一部分砖墙;以及,
一后端混合电路,用于产生该场景中每个像素的颜色与深度信息。
19.如权利要求1所述的绘图处理电路,其特征在于,该前置深度测试电路还用于将该场景的该砖墙分辨率的前置深度信息存储在一前置深度缓冲器;且,
该区块存储器还用于将该多个区块列表存储在一区块缓冲器。
20.如权利要求1所述的绘图处理电路,其特征在于,该绘图处理电路集成为一集成电路。
21.一种运用于绘图处理电路的前置深度信息处理方法,该绘图处理电路可将一前置深度信息存储在一前置深度缓冲器,其特征在于,该前置深度信息处理方法包括下列步骤:
接收一第一基础图形在一特定砖墙位置所对应的一第一深度信息;
读取该前置深度缓冲器中的该特定砖墙位置所对应的该前置深度信息;
当该第一深度信息不大于该前置深度信息且该第一基础图形为一不透明基础图形时,利用该第一深度信息更新该前置深度信息;以及
当该第一深度信息不大于该前置深度信息且第一基础图形为一半透明基础图形时,利用该第一深度信息与该前置深度信息产生一顺序不确定范围以更新前置深度信息。
22.如权利要求21所述的前置深度信息处理方法,其特征在于,该第一深度信息包括一最大深度值、一最小深度值与一来源半透明旗标。
23.如权利要求22所述的前置深度信息处理方法,其特征在于,该前置深度信息处理方法还包括根据该第一深度信息中的该来源半透明旗标来判断该第一基础图形是该半透明基础图形或者该不透明基础图形。
24.如权利要求22所述的前置深度信息处理方法,其特征在于,该前置深度信息中包括一最大深度值、一最小深度值与一目标半透明旗标。
25.如权利要求24所述的前置深度信息处理方法,其特征在于,利用该第一深度信息更新该前置深度信息时,是以该第一深度信息的该最大深度值取代该前置深度信息中的该最大深度值;以该第一深度信息的该最小深度值取代该前置深度信息中的该最小深度值;以及该来源半透明旗标取代该目标半透明旗标。
26.如权利要求24所述的前置深度信息处理方法,其特征在于,利用该第一深度信息与该前置深度信息产生该顺序不确定范围时,是以该第一深度信息的该最小深度值取代该前置深度信息中的该最小深度值;以及该来源半透明旗标取代该目标半透明旗标。
27.如权利要求22所述的前置深度信息处理方法,其特征在于,该前置深度信息中包括一最大深度值与一目标半透明旗标。
28.如权利要求27所述的前置深度信息处理方法,其特征在于,利用该第一深度信息更新该前置深度信息时,是以该第一深度信息的该最大深度值取代该前置深度信息中的该最大深度值;以及该来源半透明旗标取代该目标半透明旗标。
29.如权利要求27所述的前置深度信息处理方法,其特征在于,利用该第一深度信息与该前置深度信息产生该顺序不确定范围时,是以该来源半透明旗标取代该目标半透明旗标。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/582,134 US9361697B1 (en) | 2014-12-23 | 2014-12-23 | Graphic processing circuit with binning rendering and pre-depth processing method thereof |
US14/582,134 | 2014-12-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106204408A true CN106204408A (zh) | 2016-12-07 |
Family
ID=56083170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510307018.0A Pending CN106204408A (zh) | 2014-12-23 | 2015-06-05 | 绘图处理电路及其前置深度信息处理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9361697B1 (zh) |
CN (1) | CN106204408A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111462278A (zh) * | 2020-03-17 | 2020-07-28 | 稿定(厦门)科技有限公司 | 基于深度的素材排序渲染方法、介质、设备及装置 |
WO2022134125A1 (zh) * | 2020-12-27 | 2022-06-30 | 华为技术有限公司 | 一种图形处理方法、装置及电子设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102637736B1 (ko) | 2017-01-04 | 2024-02-19 | 삼성전자주식회사 | 그래픽스 처리 방법 및 시스템 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016151A (en) * | 1997-09-12 | 2000-01-18 | Neomagic Corp. | 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation |
JP2001357412A (ja) * | 2000-06-16 | 2001-12-26 | Victor Co Of Japan Ltd | 画像生成方法 |
CN1947156A (zh) * | 2003-11-20 | 2007-04-11 | Ati技术公司 | 使用统一着色器的图形处理结构 |
CN102129709A (zh) * | 2009-11-12 | 2011-07-20 | 微软公司 | 可视化深度 |
CN103999043A (zh) * | 2011-12-15 | 2014-08-20 | 英特尔公司 | 用于在三维流水线中增强多视图性能的技术 |
JP2014219739A (ja) * | 2013-05-01 | 2014-11-20 | 株式会社ディジタルメディアプロフェッショナル | 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法 |
CN104169974A (zh) * | 2012-03-15 | 2014-11-26 | 高通股份有限公司 | 图形处理单元中基于可见性的状态更新 |
CN104183005A (zh) * | 2013-05-24 | 2014-12-03 | 三星电子株式会社 | 图形处理单元和基于图块的渲染方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6646639B1 (en) | 1998-07-22 | 2003-11-11 | Nvidia Corporation | Modified method and apparatus for improved occlusion culling in graphics systems |
US6924801B1 (en) | 1999-02-09 | 2005-08-02 | Microsoft Corporation | Method and apparatus for early culling of occluded objects |
GB2378108B (en) | 2001-07-24 | 2005-08-17 | Imagination Tech Ltd | Three dimensional graphics system |
GB2404316B (en) | 2003-07-25 | 2005-11-30 | Imagination Tech Ltd | Three-Dimensional computer graphics system |
US20080273031A1 (en) | 2005-12-08 | 2008-11-06 | Xgi Technology Inc. (Cayman) | Page based rendering in 3D graphics system |
GB2452300B (en) | 2007-08-30 | 2009-11-04 | Imagination Tech Ltd | Predicated geometry processing in a tile based rendering system |
GB2458488C (en) | 2008-03-19 | 2018-09-12 | Imagination Tech Ltd | Untransformed display lists in a tile based rendering system |
-
2014
- 2014-12-23 US US14/582,134 patent/US9361697B1/en not_active Expired - Fee Related
-
2015
- 2015-06-05 CN CN201510307018.0A patent/CN106204408A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016151A (en) * | 1997-09-12 | 2000-01-18 | Neomagic Corp. | 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation |
JP2001357412A (ja) * | 2000-06-16 | 2001-12-26 | Victor Co Of Japan Ltd | 画像生成方法 |
CN1947156A (zh) * | 2003-11-20 | 2007-04-11 | Ati技术公司 | 使用统一着色器的图形处理结构 |
CN102129709A (zh) * | 2009-11-12 | 2011-07-20 | 微软公司 | 可视化深度 |
CN103999043A (zh) * | 2011-12-15 | 2014-08-20 | 英特尔公司 | 用于在三维流水线中增强多视图性能的技术 |
CN104169974A (zh) * | 2012-03-15 | 2014-11-26 | 高通股份有限公司 | 图形处理单元中基于可见性的状态更新 |
JP2014219739A (ja) * | 2013-05-01 | 2014-11-20 | 株式会社ディジタルメディアプロフェッショナル | 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法 |
CN104183005A (zh) * | 2013-05-24 | 2014-12-03 | 三星电子株式会社 | 图形处理单元和基于图块的渲染方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111462278A (zh) * | 2020-03-17 | 2020-07-28 | 稿定(厦门)科技有限公司 | 基于深度的素材排序渲染方法、介质、设备及装置 |
WO2022134125A1 (zh) * | 2020-12-27 | 2022-06-30 | 华为技术有限公司 | 一种图形处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20160180539A1 (en) | 2016-06-23 |
US9361697B1 (en) | 2016-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575228B (zh) | 图形处理中的渲染目标命令重新排序 | |
CN112270756B (zh) | 一种应用于bim模型文件的数据渲染方法 | |
CN105556571B (zh) | 使用计算着色器作为顶点着色器的前端 | |
CN110443893B (zh) | 大规模建筑场景渲染加速方法、系统、装置和存储介质 | |
CN104183005B (zh) | 图形处理单元和基于图块的渲染方法 | |
TWI275039B (en) | Method and apparatus for generating a shadow effect using shadow volumes | |
JP4579262B2 (ja) | 3次元画像のレンダリングにおける早期zテスト方法およびシステム | |
CN108363867A (zh) | 基于建筑图纸的建筑物自动建模方法 | |
JP2018060556A (ja) | グラフィック処理ユニットにおける視界ベースの状態更新 | |
CN106296779A (zh) | 一种三维模型渲染显示方法及系统 | |
CN110136082A (zh) | 遮挡剔除方法、装置及计算机设备 | |
CN109603155A (zh) | 合并贴图的获取方法、装置、存储介质、处理器及终端 | |
WO2011137229A1 (en) | Systems and methods for primitive intersection in ray tracing | |
CN111400024A (zh) | 渲染过程中的资源调用方法、装置和渲染引擎 | |
CN107705363A (zh) | 一种道路三维可视化建模方法及装置 | |
CN112785696A (zh) | 基于游戏引擎和倾斜摄影数据的三维实景模型生成方法 | |
CN106204408A (zh) | 绘图处理电路及其前置深度信息处理方法 | |
Pietriga et al. | Representation-independent in-place magnification with sigma lenses | |
CN106204699A (zh) | 3d绘图处理电路及其深度处理方法 | |
CN106157353A (zh) | 一种文字渲染方法和文字渲染装置 | |
CN106296782A (zh) | 一种文字渲染方法和文字渲染装置 | |
CN100565585C (zh) | 用于像素采样的方法和装置 | |
KR20100052850A (ko) | 2차원 벡터 그래픽 처리를 위한 라스터라이저 및 그 방법 | |
CN103853475A (zh) | 二维界面的三维化方法和装置 | |
CN108280887A (zh) | 一种阴影图确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20200110 |
|
AD01 | Patent right deemed abandoned |