CN103999043B - 用于在三维流水线中增强多视图性能的技术 - Google Patents
用于在三维流水线中增强多视图性能的技术 Download PDFInfo
- Publication number
- CN103999043B CN103999043B CN201180075502.5A CN201180075502A CN103999043B CN 103999043 B CN103999043 B CN 103999043B CN 201180075502 A CN201180075502 A CN 201180075502A CN 103999043 B CN103999043 B CN 103999043B
- Authority
- CN
- China
- Prior art keywords
- data
- view
- display list
- vertex
- views
- 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.)
- Expired - Fee Related
Links
- 238000005728 strengthening Methods 0.000 title claims description 7
- 238000005516 engineering process Methods 0.000 title abstract description 12
- 230000009466 transformation Effects 0.000 claims abstract description 75
- 238000000844 transformation Methods 0.000 claims abstract description 25
- 230000015654 memory Effects 0.000 claims description 54
- 230000007246 mechanism Effects 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 18
- 239000000872 buffer Substances 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 15
- 238000009877 rendering Methods 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004040 coloring Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 229920000642 polymer Polymers 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- 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/30—Clipping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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/08—Volume rendering
-
- 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/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/12—Shadow map, environment map
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
各技术可针对增强三维流水线中的多视图性能。可以接收与图像相关联的多个视图变换。可以接收与该图像相关联的顶点数据。操作数据可通过对经编译的顶点数据执行视图变换来确定。多个显示列表可通过顶点流水线的单次运行来确定。显示列表可基于该操作数据。描述并要求保护其他实施例。
Description
背景
三维技术在图形开发领域扮演着重要的角色。三维技术在诸如智能电话、桌面和上网本之类的移动设备中实现。三维技术在移动设备上的性能和功耗通常与用户视觉体验有关,并影响了产品的竞争优势。
当前,每次从不同角度或视图渲染图像时,信息在三维流水线上被发送到移动设备。每一视图期间发送的信息的某一些是重复的。例如,每次在三维流水线上发送信息时,相同分量被初始化并且相同顶点数据被发送。重新初始化该分量并重发该数据负面地影响性能和功耗。正是针对这些和其它考虑需要本发明的改进。
附图说明
图1示出用于在三维流水线中增强多视图性能的系统的实施例。
图2示出用于图1的系统的逻辑流程的实施例。
图3示出图1的系统的集中式系统的实施例。
图4示出图1的系统的分布式系统的实施例。
图5示出输出缓冲器的实施例。
图6示出图形应用编程接口与三维驱动器之间的通信的实施例。
图7示出了计算体系结构的实施例。
图8示出通信体系结构的实施例。
详细描述
各个实施例针对用于在三维流水线中增强多视图性能的技术。在一个实施例中,可以接收与图像相关联的多个视图变换。可以接收该图像的顶点数据。可以编译该顶点数据。操作数据可通过对经编译的顶点数据执行视图变换来确定。多个显示列表可通过顶点流水线的单次运行来确定。显示列表可基于该操作数据。
在一个实施例中,三维图像或对象可能在一系列场景中被旋转。不同场景可具有以不同角度或视图变换来旋转的三维图像。然而,某些数据(诸如顶点数据)在每一视图变换中是相同的。结果,细化三维流水线内的组件以便以单次运行通过顶点流水线来生成关于多个视图变换的多个显示列表可以增强性能并节省计算功率。作为结果,各实施例可改进操作员、设备或网络的承受能力、可伸缩性、模块性、可扩展性或互操作性。
具体而言,在顶点流水线的单次运行中渲染并旋转用于后续场景的三维图像的多视图使三维图形性能获益。通过在一个顶点流水线中生成多个显示列表以旋转三维图形,该顶点流水线内的重复劳动可以是不必要的。使用以下描述的过程,三维流水线不必在每次以不同角度查看同一图像时发起硬件状态、加载顶点数据以及分配输入和输出空间。在一个实施例中,用于在各场景之间渲染三维图像的多个视图的冗余工作量可被减少。在一个实施例中,作为渲染三维图像的多个视图变换的结果,重复的直接存储器访问传输可被去除,因为顶点数据仅从应用被单次加载到硬件设备存储器。顶点数据的一次加载可使三维图形性能获益并减少计算努力。该获益可在三维图形复杂且具有大量顶点时被增加。在一个实施例中,通过在顶点流水线的单次运行中渲染三维图像的多个视图,针对相同顶点数据多次初始化顶点流水线的努力可被去除。在一个实施例中,通过在单个顶点流水线中渲染三维图像的多个视图,总体计算努力可通过在多个视图变换的计算上重用某些共同内部结果来节省。
现在参考附图,其中在所有附图中相同的参考标号被用于指示相同的元素。在下面的描述中,出于说明目的阐述了众多具体细节以便提供对本发明的全面理解。然而,显而易见,可以没有这些具体细节的情况下实施各新颖实施方式。在其他情况下,以框图形式示出了各个公知的结构和设备以便于描述本发明。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。
图1示出用于在三维流水线中增强多视图性能的系统100的框图。在一个实施例中,系统100可包括具有一个或多个软件应用和/或组件的计算机实现的系统100。尽管图1中示出的系统100具有处于特定拓扑中的有限数量的元素,但可以明白,系统100可包括给定实现所需的处于替换拓扑中的更多或更少元素。
在一个实施例中,输入110可包括数据,诸如但不限于顶点数据。系统100可包括视图变换操作120。在一个实施例中,视图变换操作120可在图形处理单元内发生。视图变换操作120可包括图形应用编程接口122和三维驱动器124。
在一个实施例中,图形应用编程接口122可接收来自用户的信息,并且将该信息发送到三维驱动器124。在一个实施例中,图形应用编程接口122可接收多个视图变换以在多个场景上渲染图像。在一个实施例中,可对视图变换确定显示列表。在一个实施例中,图形应用编程接口122可以接收呈现顺序显示列表之间的间隔周期。图形应用编程接口122可向三维驱动器124发送视图变换的数量以及间隔周期。
三维驱动器124可包括顶点组件126和像素组件128。顶点组件126可接收、编译并处理顶点数据。操作数据可通过对经编译的顶点数据执行视图变换来确定。多个显示列表可通过顶点流水线的单次运行来确定。像素组件128可使用来自顶点组件126的操作数据来渲染要呈现的显示列表。
在一个实施例中,三维驱动器124可包括顶点组件126。顶点组件126可接收与图像相关联的多个视图变换。顶点组件125可接收图像的顶点数据。顶点组件126可从三维驱动器124中取出经编译的顶点数据,并且对经编译的顶点数据执行视图变换以确定操作数据。经编译的顶点数据可以是顶点着色器信息或程序代码。顶点组件126可确定多个显示列表。在一个实施例中,显示列表可基于操作数据。
在一个实施例中,顶点组件126可包括存储器控制器组件和着色器处理器组件。存储器控制器组件可分配着色器处理器组件内的多个输出空间。在一个实施例中,顶点数据可由三维驱动器编译,以使其被着色器处理器组件识别。着色器处理器组件可使用经编译的顶点数据来执行变换和照明。着色器处理器组件可生成操作数据,并且将操作数据放置在先前分配的输出空间中。
在一个实施例中,存储器控制器组件可分配瓦片化处理器(tiling processor)组件内的多个输入空间。瓦片化处理器组件可被包括在顶点组件126内。瓦片化处理器组件可从着色器处理器组件接收操作数据,并对操作数据进行剪辑和瓦片化(tile)。瓦片化处理器组件可将经剪辑并瓦片化的数据输出到多个显示列表。
在一个实施例中,像素组件128可基于视图渲染图像。由于变换应用包括在单个顶点流水线内执行多视图变换的顶点组件,因此每一图像的多个视图可被列出在多个显示列表上。在一个实施例中,不同视图可被存储在不同显示列表中。这些显示列表可被存储在一个或多个输出缓冲器中。像素组件可根据从应用编程接口接收到的间隔周期来顺序地渲染每一显示列表。
在一个实施例中,输出130可包括三维图像。在一个实施例中,输出可包括三维图像的各个视图,其中视图对应于显示列表。
此处所包括的是一组代表用于执行所公开的体系结构的新颖方面的示例性方法的流程图。尽管出于解释简明的目的,此处例如以流程图或流程图表形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非在一方法中示出的所有动作都是新颖实现所必需的。
图2示出逻辑流程200的一个实施例。逻辑流程200可表示本文所述的一个或多个实施例所执行的操作中的一些或全部。
在图2中示出的所示实施例中,逻辑流程200可在框202接收与图像相关联的多个视图变换。例如,图像可能是在顺序的三维场景中以不同角度来观看的。图像可以以各种角度或视图来渲染。三维图像通常可在多个视图变换中被渲染,以描绘旋转时的图像。代替针对图像的每一视图变换单独地使用图像流水线,可以单次接收多个视图变换。视图变换数据可被描绘成模型和/或视图变换矩阵。在一个实施例中,视图变换可包括图像具有不同缩放、旋转和/或平移的各视图。
逻辑流程200可在框204接收图像的顶点数据。在一个实施例中,顶点数据可包括与对象或图像有关的信息。在一个实施例中,顶点数据可用来描述建模系统中的图像。例如,顶点数据可包括图像的色彩、位置、照明等。例如,图像可以是表,并且该表可包括四个顶点数据。每一顶点数据可包括与图像的一部分有关的信息,包括但不限于,与特定角度或视图变换相关联的特定位置和/或色彩。这些实施例不限于此示例。
该逻辑流程可在框206编译顶点数据。在一个实施例中,顶点数据可由三维驱动器来编译。顶点组件可包括着色器处理器组件。在一个实施例中,经编译的顶点数据可被着色器处理器用作程序代码。
逻辑流程200可在框208通过对经编译的顶点数据执行视图变换来确定操作数据。与图像的视图相关联的信息对于不同视图变换可以是不同的。然而,对于不同视图变换,顶点数据可以保持相同。通过在三维流水线中单次具有多个视图,顶点数据仅需被单次接收并编译。例如,着色器处理器组件可使用视图变换(视图变换可包括各个视图的矩阵和/或模型)来确定多个视图。着色器处理器组件可处理经编译的顶点数据,以便将顶点数据变换到不同视图。
经编译的顶点数据可以是用于着色器处理器组件的顶点着色器信息或程序代码。在一个实施例中,程序代码可以使着色器处理器组件能够运行并处理多个视图。经编译的顶点数据可被单次接收,并且可被用作程序代码以处理不同视图变换。着色器处理器组件可一次接收多个视图,并且通过顶点流水线的单次运行来处理经编译的顶点数据上的这多个视图。在一个实施例中,多个视图变换可在单个顶点级(phase)内由图形处理单元一个接一个地处理。在一个实施例中,多个视图可被同时处理。
一旦着色器处理器组件接收包括各个视图的矩阵和/或模型的程序,着色器处理器组件就可对每一顶点同时执行多个视图变换并且生成操作数据。在一个实施例中,操作数据可被存储到先前分配的存储器中。在一个实施例中,与每一顶点对应的操作数据可被个体地存储到先前分配的存储器中。这些实施例不限于此示例。
逻辑流程200可在框210通过顶点流水线的单次运行来确定多个显示列表。在一个实施例中,顶点组件可通过顶点流水线的单次运行来生成多个显示列表,以便渲染顺序的三维场景。在一个实施例中,显示列表可基于操作数据。例如,如果对于图像,有八个顶点数据并且存在该图像可被渲染的三个角度或视图变换,则将存在二十四(或八乘以三)个操作数据片。这些实施例不限于此示例。
在一个实施例中,逻辑流程200可在框212存储多个显示列表。在一个实施例中,这多个显示列表可被存储在一个或多个输出缓冲器中。
图3示出集中式系统300的框图。集中式系统300可在单个计算实体中,诸如全部在单个计算设备320内实现系统100的结构和/或操作中的一些或全部。
计算设备320可使用处理组件330为系统100执行处理操作或逻辑。处理组件330可包括各硬件要素、软件要素或两者的组合。
硬件要素的示例可包括设备、组件、处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件要素的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。如给定实现所需的,确定实施例是利用硬件部件和/或软件部件来实现可根据任意数量的因素而不同,这些因素比如所需计算速率、功率电平、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
计算设备320可使用通信组件340为系统100执行通信操作或逻辑。通信组件340可以实现任何公知通信技术和协议,如适于与分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等私有网络,等等)、电路交换网络(例如,公共交换电话网络)或分组交换网络与电路交换网络的组合(具有合适的网关和转换器)一起使用的技术。通信组件340可包括各种类型的标准通信要素,如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电装置、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器,等等。作为示例而非限制,通信介质320包括有线通信介质和无线通信介质。有线通信介质的示例可以包括电线、电缆、金属导线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、传播信号等等。无线通信介质的示例可包括声学、射频(RF)频谱、红外和其它无线介质320。
计算设备320可经由通信组件340使用通信信号322通过通信介质320与其它设备310、330通信。
在一个实施例中,计算设备320可包括显示器350。在一个实施例中,显示器350可以是液晶显示器(LCD)。在一个实施例中,显示器350可包括有机发光二极管(OLED)显示器。在一个实施例中,OLED显示器可被使用,因为它提供比液晶显示器(LCD)更好的色彩饱和度和观看角度。在一个实施例中,显示器350可包括一个或多个OLED显示屏。
图4示出在三维流水线的顶点组件内的逻辑流程的实施例。如图4中所示,三维流水线不必在每次以不同角度观看同一图像时发起硬件状态、加载顶点数据以及分配输入和输出空间。图4中所示的过程减少了用于在场景之间渲染三维图像的多个视图的冗余工作量,并且使三维图形性能获益。
在一个实施例中,通过创建具有多个视图变换的显示列表,重复的直接存储器访问传输可被去除,因为顶点数据仅被单次加载到硬件设备存储器。顶点数据的一次加载可使三维图形性能获益并减少计算努力。
在一个实施例中,数据可被预处理405。在一个实施例中,控制流直接存储器访问(DMA)407可接收输入流。在一个实施例中,控制流直接存储器访问407可向图形处理单元发送命令以取得控制流。在控制流被接收之后,图元(primitive)索引直接存储器访问410可接收顶点索引列表。在一个实施例中,顶点索引列表可以是可被着色器处理器组件430接收的顶点数据的地址信息。顶点数据主机(master)415可从可编程顺序器中准备顶点索引列表。在一个实施例中,顶点数据主机415可包括帮助从外部存储器取得顶点索引列表的硬件组件。在一个实施例中,顶点数据主机415可帮助配置存储器控制器420。
在一个实施例中,存储器控制器420可根据该配置和索引列表使一个或多个直接存储器访问450加载顶点数据。存储器控制器组件420可从直接存储器访问425接收顶点数据。在一个实施例中,顶点数据可以是与图像有关的信息。在一个实施例中,顶点数据可包括建模数据。在一个实施例中,顶点数据可包括描述建模系统中的图像的数据。在一个实施例中,顶点数据可包括但不限于与对象或图像的特定顶点有关的位置和/或色彩信息。例如,顶点数据可包括与图像的边缘有关的位置信息。
在一个实施例中,存储器控制器420可创建一系列直接存储器访问425以将经编译的顶点数据加载到着色器处理器组件。顶点数据可由三维驱动器来编译。着色器处理器组件430可接收经编译的顶点数据作为程序代码,并且使用视图变换来处理图像的每一顶点。
在一个实施例中,存储器控制器组件420可分配着色器处理器组件430内的输出空间。在一个实施例中,存储器控制器组件420可分配着色器处理器组件430内用于顶点主要属性数据和顶点次要属性数据的输出空间。在一个实施例中,顶点主要属性数据可以指对于顶点唯一的值。例如,位置值可以是顶点主要属性数据,因为每一顶点可具有特定位置。例如,色彩值可以是顶点主要属性数据,因为每一顶点可具有不同色彩。在一个实施例中,顶点次要属性数据可以指三维场景内顶点中的一个或多个顶点之间共同的值。例如,视图变换矩阵可以是顶点次要属性数据,因为在场景中可从同一角度观察这些顶点。着色器处理器组件430可接收经编译的顶点数据作为程序代码或顶点着色器信息。在一个实施例中,来自经编译的顶点数据的矩阵可被加载到顶点数据的次要属性空间中。在一个实施例中,着色器处理器组件430可将顶点着色器以及像素着色器图形、视频和图像处理特征和能力组合到单个可缩放处理单元中。
在一个实施例中,存储器控制器组件420可分配着色器处理器组件430内的多个输出空间,以便在顶点流水线的单次运行内处理多个视图变换。在一个实施例中,存储器控制器组件420可为着色器处理器组件430分配N个输出空间,以包括对N个不同视图变换矩阵或模型计算得到的结果。在一个实施例中,视图变换可使用视图变换矩阵来处理。
例如,在图4中,着色器处理器组件430可包括多个输出空间431、432、433,而不是单个输出空间。输出数据可包括操作数据。第一输出空间431可以是针对第一视图变换或第一角度的操作数据。第二输出空间432可以是针对第二视图变换或第二角度的操作数据。第N个输出空间433可以是针对第N个视图变换或第N个角度的操作数据。
在多个视图被处理并被放置在着色器处理器组件430内的多个输出空间之后,存储器控制器组件420可分配瓦片化处理器组件435内的多个输入空间。在一个实施例中,可从着色器处理器组件430接收关于操作数据可用的信号。瓦片化处理器将操作数据从着色器处理器组件430读到瓦片化处理器组件435中其对应的输入空间。在一个实施例中,存储器控制器组件120可向瓦片化处理器组件435发送操作数据以执行剪辑和瓦片化。
在一个实施例中,瓦片化处理器组件145可对操作数据执行一系列操作,诸如图元构造和/或视图剪辑。在一个实施例中,可将每一操作应用于着色器处理器组件130的每一输出,并且可生成显示列表输出141以用于像素流水线中稍后的像素处理。在一个实施例中,瓦片化处理器组件435可对操作数据进行剪辑并瓦片化。
在图4中,瓦片化处理器组件435可包括多个输入空间436、437、438,而不是单个输入空间。第一输入空间436可以是针对第一视图变换或第一角度的操作数据。第二输入空间437可以是针对第二视图变换或第二角度的操作数据。第N个输入空间438可以是针对第N个视图变换或第N个角度的操作数据。
在一个实施例中,瓦片化处理器组件435可以是任选的。对于不执行瓦片化和/或剪辑的某些图形处理单元,来自着色器处理器组件的操作数据可被存储在个体输出空间中。着色器处理器中的每一输出空间可对应于不同视图变换矩阵,并且可被移入系统缓冲器,等待像素级中的渲染。在顶点流水线的结尾,可能有N个显示列表被生成并被存储到N个系统缓冲器中等待像素渲染。在一个实施例中,三维驱动器可确保对于像素流水线每一显示列表被成功地定位。
图5示出输出缓冲器的实施例。在一个实施例中,输出缓冲器540可包括多个显示列表541、542、543。操作数据可将输出要保存在缓冲器540中的多个显示列表541、542、543。
代替顶点级每次运行时确定单个显示列表,可通过顶点级的单次运行来确定多个显示列表。在一个实施例中,顶点级可用顶点数据和多个视图变换来运行,并且输出缓冲器540可存储多个显示列表541、542、543。在一个实施例中,每一显示列表可包括指定旋转角度或视图变换。在一个实施例中,第一显示列表541可以是第一角度或第一视图变换的最终操作数据。在一个实施例中,第二显示列表542可以是第二角度或第二视图变换的最终操作数据。在一个实施例中,第N个显示列表542可以是第N个角度或第N个视图变换的最终操作数据。
图6示出图形应用编程接口与三维驱动器之间的通信的实施例。在一个实施例中,图形应用编程接口624可与三维驱动器626就用户偏好进行通信。
在一个实施例中,图形应用编程接口624可执行一个或多个功能。图形应用编程接口624可指派多个视图变换矩阵。可以指派多个变换矩阵以便渲染旋转三维场景。视图变换矩阵可与图像旋转角度有关。多个视图变换矩阵可使图像能够看上去像图像可从多个角度被渲染那样旋转。图形应用编程接口624可能能够指定两个顺序场景之间的时间延迟。图形应用编程接口624可启用或禁用渲染多个顺序视图的功能。
三维驱动器636可在一个或多个方面得到增强。在一个实施例中,三维驱动器636可通过对经编译的顶点数据执行视图变换来确定操作数据。在一个实施例中,视图变换矩阵可由图形应用编程接口624来提供。在一个实施例中,三维驱动器626可分配一个或多个系统缓冲器,以包括由顶点流水线生成的显示列表。在一个实施例中,每一缓冲器地址可被嵌入存储器控制器组件,以确保顶点流水线内的硬件组件以及像素流水线中的第一硬件组件可在一个或多个输出缓冲器中定位显示列表。
在一个实施例中,三维驱动器626可通过将显示列表读到像素流水线来开始像素渲染。三维驱动器626可基于视图变换来渲染显示列表。在一个实施例中,三维驱动器626中的像素流水线可根据间隔周期顺序地渲染多个显示列表。在一个实施例中,图形应用编程接口624可确定并分配多个视图变换矩阵,以便渲染旋转三维场景605。图形应用编程接口624可接收与渲染各顺序场景之间的时间间隔有关的输入。在一个实施例中,三维驱动器626可以使用由图形应用编程接口624接收到的时间间隔610。在渲染结果可被BLIT(位块传送)到帧缓冲器以呈现图像的另一角度之前,图像可在该时间间隔的长度内在视图变换中呈现。在一个实施例中,可以启用615图形应用编程接口624,以在单次运行通过顶点流水线期间处理多个角度。
三维驱动器626可创建上下文625。在一个实施例中,三维驱动器626可接收顶点数据630。在一个实施例中,三维驱动器626可获取视图变换矩阵。在一个实施例中,三维驱动器626可编译顶点数据635。在一个实施例中,三维驱动器626可通过对着色器处理器组件中经编译的顶点数据执行视图变换矩阵来确定操作数据。
三维驱动器626可为将使用操作数据在顶点流水线结尾处生成的多个显示列表分配系统存储器。着色器存储器组件可对图像或对象的每一顶点执行变换和/或照明。着色器处理器组件可根据视图变换矩阵来生成操作数据。在一个实施例中,操作数据可被瓦片化640。在一个实施例中,操作数据可被读到瓦片化处理器组件内的个体空间以供剪辑和瓦片化。
在顶点流水线的结尾,多个显示列表645可被生成并存储在系统存储器和/或一个或多个缓冲器中。在一个实施例中,显示列表可被存储在系统缓冲器中。一旦显示列表已经生成,顶点流水线就已完成。由图形应用编程接口624指定的用于显示经渲染图像的时间间隔可被传达到三维流水线。
在一个实施例中,当三维顶点级要执行多个视图变换时,顶点级可生成个体显示列表。像素级650可在像素流水线中渲染每一显示列表。
在一个实施例中,三维驱动器可根据用户在图形应用编程接口624中设置的时间间隔660顺序地渲染每一显示列表655。在一个实施例中,三维驱动器626可等待时间间隔660。在时间间隔之后,经渲染的结果可被BLIT到帧缓冲器以进行呈现665。
在一个实施例中,三维驱动器626可确定是否存在等待在像素级进行渲染的另一显示列表650。如果存在另一显示列表,该显示列表就在像素级被渲染650。三维驱动器626可等待时间间隔660,并且随后将经渲染的结果BLIT到帧缓冲器以供显示665。在最后一个显示列表被BLIT并被呈现、并且不存在更多视图650的情况下,上下文可结束670。
图7示出了适于实现如前所述的各个实施例的示例性计算体系结构700的实施例。如本申请中所使用地,术语“系统”和“组件”旨在指的是计算机相关实体,无论是硬件、硬件和软件的组合、软件还是执行中的软件,其示例经由示例性计算体系结构700来提供。例如,组件可以是但不限于,在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。此外,组件可以通过各种类型的通信介质可通信地彼此耦合以协调操作。该协调可以涉及单向或双向信息交换。例如,组件可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给各条信号线的信号。在这些分配中,每一消息都是信号。然而,其他实施例可另选地采用数据消息。这些数据消息可以跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。
在一个实施例中,计算体系结构700可包括电子设备的一部分或作为电子设备的一部分实现。电子设备的示例可包括但不限于,移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息收发设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、平板计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超级计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子产品、可编程消费电子产品、电视机、数字电视机、机顶盒、无线接入点、基站、用户站、移动用户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器、或其组合。这些实施例不限于这种上下文。
计算体系结构700包括各种常见计算元件,如一个或多个处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件,等等。然而,各实施例不限于由计算体系结构700来实现。
如图7所示,计算体系结构700包括处理单元704、系统存储器706以及系统总线708。处理单元704可以是可购得的各种处理器中的任一种。双微处理器和其它多处理器体系结构也可用作处理单元704。系统总线708向包括但不限于系统存储器706的各系统组件提供到处理单元704的接口。系统总线708可以是若干类型总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。
计算架构700可包括或实现各种制品。制品可包括存储逻辑的计算机可读的存储介质。各实施例还可以被至少部分地实现为非瞬态计算机可读介质中或上所包含的指令,这些指令可由一个或多个处理器读取并执行以使得能够执行本文描述的操作。计算机可读存储介质的示例可包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括使用任何合适类型的代码(诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码、面向对象代码、可视代码等)实现的可执行计算机程序指令。
系统存储器706可以包括一个或多个更高速的存储器单元的形式的各种类型的计算机可读存储介质,如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据率DRAM(DDR AM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、或适于存储信息的任何其他类型的介质。在图7示出的所示实施例中,系统存储器706可包括非易失性存储器710和/或易失性存储器712。基本输入/输出系统(BIOS)可以存储在非易失性存储器710中。
计算机702可包括一个或多个较低速的存储器单元的形式的各种类型的计算机可读存储介质,包括内置硬盘驱动器(HDD)714、用于读写可移动磁盘718的磁软盘驱动器(FDD)716、以及用于读写可移动光盘722(例如,CD-ROM或DVD)的光盘驱动器720。HDD714、FDD716、以及光盘驱动器720可分别由HDD接口724、FDD接口726和光盘驱动器接口728连接到系统总线708。用于外置驱动器实现的HDD接口724可包括通用串行总线(USB)和IEEE1394接口技术中的至少一种或两者。
驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块可被存储在驱动器和存储器单元710、712中,包括操作系统730、一个或多个应用程序732、其他程序模块734和程序数据736。一个或多个应用程序732、其他模块734以及程序数据736可包括例如,图形应用接口122以及具有顶点组件126和像素组件128的三维驱动器124。
用户可以通过一个或多个有线/无线输入设备,例如键盘738和诸如鼠标740等定点设备将命令和信息输入到计算机702中。其他输入设备可包括话筒、红外(IR)遥控器、操纵杆、游戏垫、指示笔、触摸屏等等。这些和其他输入设备通常通过耦合到系统总线708的输入设备接口742连接到处理单元704,但也可通过诸如并行端口、IEEE1394串行端口、游戏端口、USB端口、IR接口等其他接口连接。
监视器744或其他类型的显示设备也经由诸如视频适配器746等接口连接到系统总线708。除了监视器744之外,计算机通常包括诸如扬声器、打印机等其他外围输出设备。
计算机702可使用经由有线和/或无线通信至一个或多个远程计算机(诸如远程计算机748)的逻辑连接在联网环境中操作。远程计算机748可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机702描述的许多或所有元件,但为简明起见仅示出了存储器/存储设备750。所描绘的逻辑连接包括到局域网(LAN)752和/或例如广域网(WAN)754等更大网络的有线/无线连接。这种LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在LAN联网环境中使用时,计算机702通过有线和/或无线通信网络接口或适配器756连接到LAN752。适配器756可以方便到LAN752的有线和/或无线通信,并且还可包括其上设置的用于使用适配器756的无线功能进行通信的无线接入点。
当在WAN联网环境中使用时,计算机702可包括调制解调器758,或连接到WAN754上的通信服务器,或具有用于诸如通过因特网等在WAN754上建立通信的其他装置。或为内置或为外置以及有线和/或无线设备的调制解调器758经由输入设备接口742连接到系统总线708。在联网环境中,相对于计算机702所描绘的程序模块或其部分可以存储在远程存储器/存储设备750中。将明白,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机702可操作来使用IEEE802标准系列来与有线和无线设备或实体进行通信,这些设备或实体例如是在操作上安置成与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话进行无线通信(例如,IEEE802.11空中调制技术)的无线设备。这至少包括Wi-Fi(即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。Wi-Fi网络使用称为IEEE802.11x(a、b、n、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE802.3相关的介质和功能)。
图8示出适用于实现上述各实施例的示例性通信体系结构800的框图。通信体系结构800包括各种常见通信元件,如发射机、接收机、收发机、无线电装置、网络接口、基带处理器、天线、放大器、滤波器,等等。然而,各实施例不限于由通信体系结构800来实现。
如图8所示,通信体系结构800包括一个或多个客户机802和服务器804。客户机802可实现客户机系统320。客户机802和服务器804可操作地连接到可被用来存储相应客户机802和服务器804本地的信息(如cookie和/或相关联的上下文信息)的一个或多个相应客户机数据存储808和服务器数据存储810。
客户机802和服务器804可以使用通信框架806在彼此之间传递信息。通信框架806可实现任何公知通信技术和协议,诸如参考系统300和700所描述的那些。通信框架806可以被实现为分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)。
可以用表述“一个实施例”和“一实施例”及其派生词对一些实施例进行描述。这些表述指的是结合该实施例描述的特定特征、结构或特性被包括在至少一个实施例中。在本说明书中的不同位置出现短语“在一个实施例中”不一定都是指同一个实施例。此外,可以用表述“耦合”和“连接”及其派生词对一些实施例进行描述。这些术语并不一定旨在作为彼此的同义词。例如,可以用术语“连接”和/或“耦合”对一些实施例进行描述,以表示两个或更多个元件彼此直接物理或电接触。然而,词“耦合”还可表示两个或多个元件彼此不直接接触,但彼此仍协作或交互。
需要强调,本公开的摘要被提供以使读者快速地确定本技术公开的性质。该摘要是以它不用于解释或限制权利要求的范围或含义的理解而提交的。此外,由上述“具体实施方式”可见,将各种特征组合在单个实施例中是为了使公开内容流畅。这种公开方式不应被解释为反映了这样一种意图,即所要求保护的实施例需要比各权利要求清楚记载的特征要多的特征。相反,如所附权利要求反映出来的那样,本发明的方面少于以上公开的单个实施例的所有特征。因此,所附权利要求在此被包括到具体描述中,其中每个权利要求独立作为单独实施例。在所附的各权利要求中,术语“包含”和“其中”分别用作术语“包括”和“其特征在于”的等价词。此外,“第一”、“第二”、“第三”等术语仅用作标号,不是对其对象的数字要求。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。
Claims (28)
1.一种用于在三维流水线中增强多视图性能的设备,包括:
用于接收多个视图变换的装置,所述多个视图变换中的每个视图变换与三维图像的多个视图中的相应视图相关联;
用于编译与所述图像相关联的顶点数据的装置;
用于通过对经编译的顶点数据执行多个视图变换来确定操作数据的装置;以及
用于通过顶点流水线的单次运行来从所述操作数据确定多个显示列表的装置,所述多个显示列表中的每一个显示列表与所述多个视图中的相应视图相关联。
2.如权利要求1所述的设备,其特征在于,包括用于接收与所述图像相关联的顶点数据的装置。
3.如权利要求1所述的设备,其特征在于,包括用于根据间隔周期顺序地渲染所述多个显示列表的装置。
4.如权利要求1所述的设备,其特征在于,包括用于将所述多个显示列表存储在一个或多个缓冲器中的装置。
5.如权利要求1所述的设备,其特征在于,包括
用于剪辑所述操作数据的装置;以及
用于对经剪辑的操作数据进行瓦片化的装置。
6.如权利要求1所述的设备,其特征在于,包括用于基于视图变换来渲染显示列表的装置。
7.如权利要求1所述的设备,其特征在于,包括用于分配瓦片化处理器内的多个输入空间的装置。
8.如权利要求1所述的设备,其特征在于,包括用于分配着色器处理器内的多个输出空间的装置。
9.一种用于在三维流水线中增强多视图性能的方法,包括:
接收多个视图变换,所述多个视图变换中的每个视图变换与三维图像的多个视图中的相应视图相关联;
编译与所述图像相关联的顶点数据;
通过对经编译的顶点数据执行多个视图变换来确定操作数据;
通过顶点流水线的单次运行来从所述操作数据确定多个显示列表,所述多个显示列表中的每一个显示列表与所述多个视图中的相应视图相关联;以及
存储所述多个显示列表。
10.如权利要求9所述的方法,其特征在于,包括:
接收与所述图像相关联的顶点数据。
11.如权利要求9所述的方法,其特征在于,包括:
根据间隔周期顺序地渲染所述多个显示列表。
12.如权利要求9所述的方法,其特征在于,包括:
将所述多个显示列表存储在一个或多个缓冲器中。
13.如权利要求9所述的方法,其特征在于,包括:
剪辑所述操作数据;以及
对经剪辑的操作数据进行瓦片化。
14.如权利要求9所述的方法,其特征在于,包括:
分配瓦片化处理器内的多个输入空间。
15.如权利要求9所述的方法,其特征在于,包括:
基于视图变换渲染显示列表。
16.如权利要求9所述的方法,其特征在于,包括:
分配着色器处理器内的多个输出空间。
17.一种用于在三维流水线中增强多视图性能的装置,包括:
图形处理单元,包括:
具有顶点组件的三维驱动器,用于:
接收多个视图变换,所述多个视图变换中的每个视图变换与三维图像的多个视图中的相应视图相关联,编译所述图像的顶点数据;
通过对经编译的顶点数据执行多个视图变换来确定操作数据;以及
通过顶点流水线的单次运行来从所述操作数据确定多个显示列表,所述多个显示列表中的每一个显示列表与所述多个视图中的相应视图相关联。
18.如权利要求17所述的装置,其特征在于,所述顶点组件包括:
存储器控制器组件,用于:
分配着色器处理器内的多个输出空间;以及
所述着色器处理器用于:
接收经编译的顶点数据,以及
将所述操作数据放置在所述多个输出空间中。
19.如权利要求17所述的装置,其特征在于,所述图形处理单元包括:
用于接收多个视图变换以渲染图像的应用程序接口。
20.如权利要求17所述的装置,其特征在于,所述图形处理单元包括:
用于接收渲染顺序的显示列表之间的间隔周期的应用程序接口。
21.如权利要求17所述的装置,其特征在于,所述图形处理单元包括:
用于确定视图变换应用是否被启用的应用程序接口。
22.如权利要求17所述的装置,其特征在于,所述顶点组件包括:
存储器控制器,用于分配瓦片化处理器内的多个输入空间;以及
所述瓦片化处理器用于:
接收所述操作数据;以及
对所述操作数据进行剪辑和瓦片化。
23.如权利要求17所述的装置,其特征在于,所述三维驱动器包括:
用于根据间隔周期顺序地渲染所述多个显示列表的像素组件。
24.如权利要求17所述的装置,其特征在于,所述三维驱动器包括:
用于存储所述多个显示列表的一个或多个缓冲器。
25.如权利要求17所述的装置,其特征在于,包括:
通信地耦合到所述图形处理单元的数字显示器,所述数字显示器用于呈现所述图像的多个视图变换。
26.一种用于在三维流水线中增强多视图性能的系统,包括:
处理单元;
用于存储三维驱动器的存储器单元;
用于在所述处理单元上加载所述三维驱动器的操作系统,所述三维驱动器在所述处理单元上操作用于:
接收多个视图变换,所述多个视图变换中的每个视图变换与三维图像的多个视图中的相应视图相关联,接收所述图像的顶点数据,
编译所述顶点数据,
通过对经编译的顶点数据执行多个视图变换来确定操作数据,以及
通过顶点流水线的单次运行来从所述操作数据确定多个显示列表,所述多个显示列表中的每一个显示列表与所述多个视图中的相应视图相关联;以及
用于在所述处理单元和所述操作系统之间传输信息的接口。
27.如权利要求26所述的系统,其特征在于,所述三维驱动器在所述处理单元上操作用于根据间隔周期顺序地渲染所述多个显示列表。
28.如权利要求26所述的系统,其特征在于,所述三维驱动器在所述处理单元上操作用于:
剪辑所述操作数据;以及
对经剪辑的操作数据进行瓦片化。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/065232 WO2013089751A1 (en) | 2011-12-15 | 2011-12-15 | Techniques for enhancing multiple view performance in a three dimensional pipeline |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103999043A CN103999043A (zh) | 2014-08-20 |
CN103999043B true CN103999043B (zh) | 2017-06-27 |
Family
ID=48613030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180075502.5A Expired - Fee Related CN103999043B (zh) | 2011-12-15 | 2011-12-15 | 用于在三维流水线中增强多视图性能的技术 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9196081B2 (zh) |
CN (1) | CN103999043B (zh) |
WO (1) | WO2013089751A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9361697B1 (en) * | 2014-12-23 | 2016-06-07 | Mediatek Inc. | Graphic processing circuit with binning rendering and pre-depth processing method thereof |
GB2545457B (en) * | 2015-12-17 | 2018-07-11 | Advanced Risc Mach Ltd | Graphics processing systems |
CN108093151B (zh) * | 2016-11-22 | 2020-03-06 | 京瓷办公信息系统株式会社 | 图像形成装置及非临时性的计算机可读取的记录介质 |
US10290141B2 (en) * | 2017-04-17 | 2019-05-14 | Intel Corporation | Cloud based distributed single game calculation of shared computational work for multiple cloud gaming client devices |
CN112308766B (zh) * | 2020-10-19 | 2023-11-24 | 武汉中科通达高新技术股份有限公司 | 一种图像数据展示方法、装置、电子设备及存储介质 |
CN114723862A (zh) * | 2020-12-21 | 2022-07-08 | 华为云计算技术有限公司 | 渲染方法、设备以及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4945500A (en) * | 1987-11-04 | 1990-07-31 | Schlumberger Technologies, Inc. | Triangle processor for 3-D graphics display system |
CN101887595A (zh) * | 2009-05-14 | 2010-11-17 | 武汉如临其境科技创意有限公司 | 基于四叉树索引的三维数字地球空间数据组织渲染方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0740272A2 (en) * | 1995-04-28 | 1996-10-30 | Sun Microsystems, Inc. | Method and apparatus for fast rendering of three-dimensional objects |
WO1999056249A1 (en) * | 1998-04-27 | 1999-11-04 | Interactive Silicon, Inc. | Graphics system and method for rendering independent 2d and 3d objects |
US6421051B1 (en) | 1998-06-18 | 2002-07-16 | Spatial Corporation | Multi-resolution geometry |
JP3568861B2 (ja) | 2000-01-27 | 2004-09-22 | 株式会社スクウェア・エニックス | ビデオゲームにおける三次元オブジェクト変形方法及びビデオゲーム装置、並びにビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体 |
GB2416100B (en) * | 2002-03-26 | 2006-04-12 | Imagination Tech Ltd | 3D computer graphics rendering system |
US8154554B1 (en) * | 2006-07-28 | 2012-04-10 | Nvidia Corporation | Unified assembly instruction set for graphics processing |
CN107393502B (zh) | 2011-12-14 | 2019-11-05 | 英特尔公司 | 用于多遍渲染的技术 |
-
2011
- 2011-12-15 US US13/997,214 patent/US9196081B2/en not_active Expired - Fee Related
- 2011-12-15 WO PCT/US2011/065232 patent/WO2013089751A1/en active Application Filing
- 2011-12-15 CN CN201180075502.5A patent/CN103999043B/zh not_active Expired - Fee Related
-
2015
- 2015-10-09 US US14/879,955 patent/US9679408B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4945500A (en) * | 1987-11-04 | 1990-07-31 | Schlumberger Technologies, Inc. | Triangle processor for 3-D graphics display system |
CN101887595A (zh) * | 2009-05-14 | 2010-11-17 | 武汉如临其境科技创意有限公司 | 基于四叉树索引的三维数字地球空间数据组织渲染方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013089751A1 (en) | 2013-06-20 |
US20130278599A1 (en) | 2013-10-24 |
US9196081B2 (en) | 2015-11-24 |
CN103999043A (zh) | 2014-08-20 |
US9679408B2 (en) | 2017-06-13 |
US20160171750A1 (en) | 2016-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103999043B (zh) | 用于在三维流水线中增强多视图性能的技术 | |
US10922148B2 (en) | Integrated android and windows device | |
CN103999044B (zh) | 用于多遍渲染的技术 | |
JP7250784B2 (ja) | ボリュームデータの密度座標ハッシュ化 | |
ES2660434T3 (es) | Sistema y procedimiento para proporcionar una canalización de gráficos mejorada | |
US8570318B2 (en) | Collaborative graphics rendering using mobile devices to support remote display | |
CN109388595A (zh) | 高带宽存储器系统以及逻辑管芯 | |
US20200326955A1 (en) | All in one mobile computing device | |
US20170192734A1 (en) | Multi-interface unified displaying system and method based on virtual reality | |
CN102113303B (zh) | Gpu场景构成和动画 | |
US20170003851A1 (en) | Interactive three-dimensional cube on a display and methods of use | |
CN111950056B (zh) | 建筑信息化模型bim展示方法及相关设备 | |
CN102385482B (zh) | 用于增强壁纸显示的方法和装置 | |
CN110148203B (zh) | 游戏中虚拟建筑模型的生成方法、装置、处理器及终端 | |
CN102855209B (zh) | 凭借客户端计算装置二维或三维表示的虚拟空间单实例 | |
CN106575158A (zh) | 环境映射虚拟化机构 | |
CN110288207A (zh) | 一种提供执勤场景信息的方法与设备 | |
CN102647511A (zh) | 基于智能手机的三维博物馆交互系统及其交互方法 | |
CN106062814A (zh) | 由图形处理器改进的成组存储器存取效率 | |
CN113129205A (zh) | 一种电子设备及计算机系统 | |
CN100534125C (zh) | 一种图像处理方法及实现该方法的图像可旋转数码相框 | |
CN105679276B (zh) | 用于多遍渲染的技术 | |
CN114398018A (zh) | 画面显示方法、装置、存储介质及电子设备 | |
CN109657514A (zh) | 一种用于生成和识别二维码的方法与设备 | |
CN109408742A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170627 Termination date: 20191215 |