CN1910621B - 用于在3d图形子系统中可编程过滤纹理映射数据的方法和机制 - Google Patents
用于在3d图形子系统中可编程过滤纹理映射数据的方法和机制 Download PDFInfo
- Publication number
- CN1910621B CN1910621B CN2004800393842A CN200480039384A CN1910621B CN 1910621 B CN1910621 B CN 1910621B CN 2004800393842 A CN2004800393842 A CN 2004800393842A CN 200480039384 A CN200480039384 A CN 200480039384A CN 1910621 B CN1910621 B CN 1910621B
- Authority
- CN
- China
- Prior art keywords
- register
- texture
- filter
- sample
- module
- 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
Images
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/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
一种用于提供灵活纹理过滤的系统、方法和设备。可编程的纹理过滤模块被引入与主机集成的图形处理器和图形协处理器的图形处理流水线。然后可以把来自所定义的指令集的程序加载到纹理处理核心中以便按照所述程序来处理纹理数据。
Description
相关申请
本申请是于2003年12月29日提交的一并待决的美国申请号10/747,966的延续。
技术领域
本发明实施例涉及计算机图形学。更具体地说,本发明实施例涉及处理纹理映射(texture map)数据。
背景技术
图形应用并且特别是三维(3D)图形应用长久以来是由个人计算机所执行的处理最集中的活动之一。为了改进图形处理能力,图形协处理器迅速增长并且可广泛用于最新型的个人计算机上。图形协处理器是被设计成用于迅速执行由图形应用所要求的集中处理任务的专用集成电路。
把场景信息(源数据)变换为3D图像(显示输出)要求多个操作。这些操作总体被称作3D图形渲染流水线。由流水线所执行的操作可以被分组为某种基本功能。这些功能之一是纹理映射。纹理映射是在最后渲染中把用于表示物体表面属性(诸如外观、反射率或其它这种属性)的一、二或三维图像应用于用于表示所述物体的三维网格的过程。虽然一般通常使用二维图像,然而其它维数也是可以的。
经常是在最后渲染中把纹理图像应用于物体的情况,在采样纹理元素(纹元texel)和源纹理图像的数目以及图元(像素)的数目之间存在不一致性,其中把所述图像映射到所述图元。当在给定范围内纹元的数目小于像素的数目时,那么要求上采样纹理。当上采样纹理时必须使用某种方案来填入中间值。这里此方案可以被称作“纹理过滤”并且主要由固定功能状态机来执行。
当前大部分图形协处理器支持四种类型的纹理过滤;点采样、双线性过滤、三线性过滤和各向异性过滤。随着过滤方法变得越来越复杂,用于执行所述方法所要求的状态机变得越来越复杂并且在图形协处理器内要求更多资源。这与对纹理数据的使用继续扩展的事实联系在一起,例如纹理数据正在被用于灯光(lighting)以及除颜色之外的其它表面属性,致使通常使用的线性内插是低效的或甚至是不够的。
附图说明
以举例形式而不是以限制的形式依照附图举例说明了本发明的实施例,其中同样的附图标记表明同样的元件。应当注意,在此公开内容中对“一”或“一个”实施例的不同参考不必指的是相同的实施例,并且这种参考意思是指至少一个。
图1A是本发明一个实施例的系统的框图。
图1B是依照本发明一个实施例的纹理采样的图。
图2是依照本发明一个实施例的设置纹理过滤模块的流程图。
图3是依照本发明一个实施例的纹理过滤的流程图。
具体实施方式
图1A是本发明一个实施例的系统的框图。主机处理器100由总线102耦合到存储器104。图形协处理器106也耦合到总线102。另外,图形协处理器106可以借助加速图形端口(accelerated graphics portAGP)112耦合到存储器104。AGP可以遵循在2002年9月公布的加速图形端口AGP V3.0接口说明Rev.1.0(以下称为AGP说明)。AGP 112能够快速访问在存储器104中所驻留的图形数据。帧缓冲器108和显示器110也耦合到总线。在某些实施例中,可以把帧缓冲器108包含在存储器104内。图形协处理器106包括像素处理流水线120。在像素处理流水线120内是顶点处理模块122、图元装配(primitive assembly)模块124、片段处理模块126和帧缓冲器处理模块128。在操作中,顶点处理模块122接收顶点数据,所述顶点数据例如可以包括与在图形图像中的顶点有关的3D位置信息、色彩信息及其它类似信息。在一个实施例中,顶点数据形式为V=X,Y,Z,Tu,Tv,RGB。在此表达式中,X,Y,Z是顶点的三维笛卡儿坐标,Tu和Tv是在纹理映射中相应纹元的二维坐标,而RGB是顶点的红色、绿色和蓝色值。也可以考虑顶点数据的其它形式和内容。
顶点处理模块对所传达的3D位置数据进行三维变换,并且例如可以应用灯光。所处理的顶点被传递到图元装配模块,所述图元装配模块接收连接性数据。所述连接性数据可以包括用于允许根据所接收的顶点和下标(index)来装配图元(典型情况下为三角形)的下标。
图元被传递到片段处理模块126,所述片段处理模块126处理所述图元以便识别片段并且应用纹理数据以便构建输出。如这里所用,“片段”指的是一个像素或被持续处理以便产生输出的连续像素的组。片段处理与纹理过滤模块130交换与用于映射片断的纹理有关的数据。
纹理过滤模块130与片段处理模块126通信以便提供用于应用到像素的纹元。在一个实施例中,纹理过滤模块130是可编程的。在这里,可编程被认为意指能够执行由来自所定义指令集的一个或多个指令所组成的软件程序。下面在表1中阐明了指令集的一个例子。
表1
指令 | 描述 |
ADD A,B | 操作数A和B相加 |
SUB A,B | 从A中减去B |
MUL A,B | A乘以B |
RCP A,B | 使A与B互逆 |
指令 | 描述 |
CMP A,B,X | 依照立即数X来比较A,B,把结果放在A中。 |
MI N A,B | 比较A,B,把两个值中的最小值放入A中 |
MAX A,B | 比较A,B,把两个值中的最大值放入A中 |
MOV A,B | 把B移到A中 |
在本发明的各个实施例中可以使用更短或更长的候选指令集。
在一个实施例中,纹理过滤模块130包括多个纹理处理核心(texture processing cores TPC)132(在图1A中示出了16个TPC)。其它实施例可以具有更多或更少的TPC。在一个实施例中,存在单个TPC。在一个实施例中,每个TPC 132能够与其它TPC 132中的每个并行处理像素。每个核心132可以具有寄存器组134,所述寄存器组134可以包括各种类型的寄存器,诸如控制寄存器、源寄存器、临时寄存器和输出寄存器。
在一个实施例中,控制寄存器包括采样寄存器、状态寄存器、地址寄存器、偏移寄存器和多个小数寄存器。在一个实施例中,采样寄存器具有对应于每个源寄存器的一个位,用于表明是否应当采样所述源寄存器。例如,如果存在十六个源寄存器,那么采样寄存器可以是十六位寄存器,其中一个位对应于一个十六个源寄存器。在一个实施例中,状态寄存器用来表明在诸如上溢、除以零等某种条件之后TPC的状态。在一个实施例中,地址寄存器可以是包含纹理映射数据的地址的32位寄存器。在一个实施例中,此寄存器可以仅仅由应用编程接口(API)访问,而并不向程序员提供直接访问。偏移寄存器可以用来对应于最近的纹元坐标来向纹理数据中提供偏移。小数寄存器可以用来保存在每个维数中纹元采样之间的小数坐标。在一个实施例中,这些往往由片段处理模块126提供。在上面一个实施例中,其中V=X,Y,Z,Tu,Tv,RGB;Tu和Tv对应于要被纹理映射以便提供到纹理过滤模块的像素。作为一个例子,八像素一维纹理坐标0.175可能会落在第二(0.125)和第三(0.25)纹元之间。它可能会等同于小数.2。在此实施例中的小数被建立为(.175-.125)/.125或更一般地说,坐标越小,越接近由增量值所除的较小增量。
图1B是在本发明的一个实施例中纹理采样的图。在一个实施例中,提供了十六个源寄存器。在一个实施例中,每个寄存器对应于在纹理采样点的TuTv采样位置周围的4×4栅格中的一个纹元,并且可能对应于依照这种方式寻址的像素。虽然TuTv可以映射到在纹元5和6以及纹元9和10之间的位置,然而把在片中的十六个纹元贡献给被分配给TuTv的纹理值可以由纹理过滤程序来定义。在某些实施例中,只有纹元5、6、9和10作出了贡献。在其它实施例中,所有十六个纹元都可以作出贡献。在其它实施例中,在组中的所有对角线像素可以作出贡献。如所图示,纹理过滤模块的可编程性质允许耐用且灵活的纹理过滤选项。
可以提供临时寄存器以供程序员在对采样数据执行中间计算时候选使用。提供输出寄存器以便一旦完成过滤操作,那么就存储输出。在一个实施例中,提供32位寄存器来接收最终结果。可以使用更大寄存器,然而在某些实施例中,32位ARGB(α红绿蓝)值被认为是足够的。
实际过滤可以通过由纹理过滤模块130把所想要的过滤程序加载到纹理处理核心中来执行。过滤程序对应于所要处理的片段。在图像的区域内,可能希望据此向纹理数据应用各种效果。因而,对于特定的图形图像,可能使用许多过滤程序。
例如,被施加到图像上皮夹克的发光部分的过滤程序往往可能不同于被施加到皮夹克的磨损部分的过滤程序。通过在e纹理过滤模块中使用不同的程序,可以适应不同的效果。在渲染给定场景图像的过程中使用几个过滤程序类似于在当前固定功能方案下,渲染给定场景怎样可以包括对于场景的不同部分在不同的固定功能过滤状态之间切换。
所使用的程序例如会影响实际上采样16个纹元中的哪些来执行纹理过滤。在一个实施例中,纹理数据可以被布置在存储器中以便优化对可能要采样的纹元的访问。例如,如果采样寄存器表明每四个纹元值是活动的,可以存储纹理数据以便点1、5、9和13在存储器中是邻接的,点2、6、10等是邻接的。作为另一例子,其中每两个纹元是活动的,1、3、5、7等是邻接的,而2、4、8等是邻接的。存储器中的此布置可以由主机处理器100或图形协处理器106来执行。
布置存储器要求特定量的处理器资源,在一个实施例中,确定了何时可能的纹理数据使用超过重新布置所述纹理数据所要求的阈值代价。因而,在纹理数据的使用证明重新布置它的代价是正确的情况下,在一个实施例中,在存储器中重新布置所述纹理数据以便便于访问。可以根据目标方针来选择阈值,诸如要利用给定程序所处理的纹元数目。
一旦纹理过滤完成并且产生输出,那么输出值可以被传回到片段处理模块126以便允许建立输出片段。由片段处理模块126所建立的输出被传递到帧缓冲器处理模块128。帧缓冲器处理模块128把所接收的像素与现有的帧缓冲器组合以便输出到显示器110。
图2是在本发明的一个实施例中设置纹理过滤模块的流程图。在功能块202,纹理过滤程序被加载到纹理过滤模块的纹理处理核心中。在功能块204,采样寄存器被初始化以便表明在采样点周围的纹元,所述采样点被作为过滤过程的一部分采样。在判定块206,确定了结合所要求采样数目所采样的纹元是否证明纹理数据在存储器中的重构是合理的。如果是的话,那么重新排序纹理数据以便在功能块208能高效访问。在重新排序之后或者不要求重新排序,在功能块210初始化地址寄存器。
图3是依照本发明一个实施例的纹理过滤的流程图。在功能块302,纹理过滤从顶点流水线取出所要渲染的像素的坐标数据。在一个实施例中,这些数据会从片段处理模块中取出。在功能块304,用坐标数据来加载小数寄存器。在功能块306,从存储器中取出由采样寄存器识别的纹元值。纹理处理核心用来在功能块308执行过滤程序。在判定块310,确定了执行过滤程序是否需要设置状态标志。如果执行要求状态标志,诸如除以零或上溢,那么在功能块312将适当值加载到状态寄存器。如果不要求状态标志或者在已经加载状态寄存器之后,那么在功能块314,输出值被加载到输出寄存器中并且发信号通知输出可用。在判定块316,确定了是否存在要使用现有的过滤程序渲染的更多像素。如果是的话,流程继续进行。如果不是的话,流程结束。
尽管上述流程图依照特定次序来布置,然而应当理解的是,可以依照并行或与描述不同的次序来执行某些操作。据此,这种并行化或重新布置在本发明实施例的范围和考虑之内。还应当注意,虽然只在一个实施例中,单个纹理处理核心可以存在于纹理过滤模块中,然而对于具有多个纹理处理核心的实施例,可以与在图3中所描述的流程之后的每个核心并行处理像素。
在上述说明中,已经参考具体实施例描述了本发明。然而,在不脱离由所附权利要求阐述的本发明实施例的宽阔精神和范围的情况下,对其的各种修改和变化将是显而易见的。因此,说明书和附图将只是说明性而并非限制性意义。
Claims (16)
1.一种方法,包括:
取出所要渲染的像素的坐标数据;
取出对应于所述像素的纹元值;
通过可编程滤波器模块来过滤所述纹元值,所述可编程过滤器模块包括多个源寄存器、多个控制寄存器和采样寄存器,该采样寄存器包括对应于每个源寄存器的位,用于表明多个源寄存器中的哪一个通过加载到所述可编程滤波器模块内的纹理过滤程序进行采样;并且
输出由加载到所述可编程滤波器模块内的纹理过滤程序生成的所述像素的所过滤的纹理值。
2.如权利要求1所述的方法,其中过滤纹元值包括:
读取控制寄存器;并且
使用在所述控制寄存器中所指定的至少一个位置作为源位置。
3.如权利要求1所述的方法,其中取出坐标数据包括:
从顶点流水线中取回X、Y、Z坐标数据。
4.如权利要求1所述的方法,还包括:
把坐标小数数据写入多个寄存器。
5.如权利要求1所述的方法,其中输出包括:
把所过滤的纹理值写入寄存器;并且
向处理器发信号通知所过滤的纹理值可用。
6.一种设备,包括:
片段处理模块;
可编程的纹理过滤模块,与所述片段处理模块通信以便可编程地过滤对应于至少一个像素的纹理数据;和
帧缓冲器处理模块,用于把所过滤的纹理数据与现有的帧缓冲器组合,其中所述可编程过滤器模块包括多个控制寄存器和多个源寄存器,并且其中所述多个控制寄存器包括至少一个采样寄存器,该采样寄存器具有对应于每个源寄存器的位,用于表明多个源寄存器中的哪一个通过加载到所述可编程滤波器模块内的纹理过滤程序进行采样;并且
输出由加载到所述可编程滤波器模块内的纹理过滤程序生成的所述像素的所过滤的纹理值。
7.如权利要求6所述的设备,其中所述源寄存器是只读的。
8.如权利要求6所述的设备,其中所述多个控制寄存器包括:
状态寄存器;
地址寄存器;
偏移寄存器;和
多个小数寄存器。
9.如权利要求6所述的设备,其中多个控制寄存器包括:
至少一个采样寄存器具有对应于每个源寄存器的位,用于表明是否要求采样相应的源寄存器。
10.如权利要求6所述的设备,其中可编程的纹理过滤模块包括:
多个处理核心,用于执行指令集。
11.如权利要求6所述的设备,其中多个核心的子集将对至少一个像素并行执行过滤程序。
12.一种系统,包括:
存储器;
耦合到所述存储器的多个纹理处理核心TPC,用于可编程地过滤纹理数据;
片段处理模块,用于向至少一个片段应用所过滤的纹理数据;和
显示器,用于显示使用所述至少一个片段所创建的图像;
其中所述TPC包括多个控制寄存器和多个源寄存器,并且其中所述多个控制寄存器包括至少一个采样寄存器,该采样寄存器具有对应于每个源寄存器的位,用于表明多个源寄存器中的哪一个通过加载到所述可编程滤波器模块内的纹理过滤程序进行采样;并且
输出由加载到所述可编程滤波器模块内的纹理过滤程序生成的所述像素的所过滤的纹理值。
13.如权利要求12所述的系统,其中多个TPC和片段处理模块与主机处理器集成。
14.如权利要求12所述的系统,其中多个TPC和片段处理模块驻留在图形协处理器中。
15.如权利要求12所述的系统,包括:
寄存器组,与多个TPC中的每个TPC相关联。
16.如权利要求12所述的系统,还包括:
加速图形端口,用于把所述图形协处理器耦合到所述存储器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/747,966 US20050140688A1 (en) | 2003-12-29 | 2003-12-29 | Method and mechanism for programmable filtering of texture map data in 3D graphics subsystems |
US10/747,966 | 2003-12-29 | ||
US10/872,049 | 2004-06-18 | ||
US10/872,049 US7133047B2 (en) | 2003-12-29 | 2004-06-18 | Method and mechanism for programmable filtering of texture map data in 3D graphics subsystems |
PCT/US2004/043670 WO2005066895A2 (en) | 2003-12-29 | 2004-12-23 | Method and mechanism for programmable filtering of texture map data in 3d graphics subsystems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1910621A CN1910621A (zh) | 2007-02-07 |
CN1910621B true CN1910621B (zh) | 2010-08-04 |
Family
ID=34700817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800393842A Expired - Fee Related CN1910621B (zh) | 2003-12-29 | 2004-12-23 | 用于在3d图形子系统中可编程过滤纹理映射数据的方法和机制 |
Country Status (2)
Country | Link |
---|---|
US (4) | US20050140688A1 (zh) |
CN (1) | CN1910621B (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050140688A1 (en) * | 2003-12-29 | 2005-06-30 | Kim Pallister | Method and mechanism for programmable filtering of texture map data in 3D graphics subsystems |
KR100823373B1 (ko) * | 2003-12-29 | 2008-04-17 | 인텔 코오퍼레이션 | 3차원 그래픽 서브시스템들에서의 텍스쳐 맵 데이터의프로그램 가능 필터링을 위한 방법 및 메카니즘 |
US7603506B2 (en) * | 2004-06-18 | 2009-10-13 | Broadcom Corporation | Motherboard with video data processing card capability |
US20050289523A1 (en) * | 2004-06-24 | 2005-12-29 | Broadcom Corporation | Method and apparatus for transforming code of a non-proprietary program language into proprietary program language |
US7612779B2 (en) * | 2004-06-25 | 2009-11-03 | Broadcom Corporation | Video data processing circuits and systems comprising programmable blocks or components |
US7813562B2 (en) | 2004-09-27 | 2010-10-12 | Intel Corporation | Low-latency remote display rendering using tile-based rendering systems |
US7586492B2 (en) * | 2004-12-20 | 2009-09-08 | Nvidia Corporation | Real-time display post-processing using programmable hardware |
US20080252652A1 (en) * | 2007-04-13 | 2008-10-16 | Guofang Jiao | Programmable graphics processing element |
KR100980449B1 (ko) * | 2007-12-17 | 2010-09-07 | 한국전자통신연구원 | 병렬 전역조명 렌더링 방법 및 시스템 |
US9158441B2 (en) | 2009-06-10 | 2015-10-13 | Intergraph Corporation | Ontological filtering using spatial boundary of 3D objects |
CN101840565B (zh) * | 2010-04-19 | 2011-09-21 | 浙江大学 | 一种基于gpu的八叉树并行构建方法 |
US9460546B1 (en) | 2011-03-30 | 2016-10-04 | Nvidia Corporation | Hierarchical structure for accelerating ray tracing operations in scene rendering |
US8970584B1 (en) | 2011-06-24 | 2015-03-03 | Nvidia Corporation | Bounding box-based techniques for improved sample test efficiency in image rendering |
US9142043B1 (en) | 2011-06-24 | 2015-09-22 | Nvidia Corporation | System and method for improved sample test efficiency in image rendering |
US9153068B2 (en) | 2011-06-24 | 2015-10-06 | Nvidia Corporation | Clipless time and lens bounds for improved sample test efficiency in image rendering |
CN103890766B (zh) | 2011-07-29 | 2017-10-10 | 海克斯康测量技术有限公司 | 坐标测量系统数据缩减 |
US9269183B1 (en) | 2011-07-31 | 2016-02-23 | Nvidia Corporation | Combined clipless time and lens bounds for improved sample test efficiency in image rendering |
CN102413375A (zh) * | 2011-11-29 | 2012-04-11 | 康佳集团股份有限公司 | 一种利用gpu实现视频播放的方法及系统 |
US9305394B2 (en) | 2012-01-27 | 2016-04-05 | Nvidia Corporation | System and process for improved sampling for parallel light transport simulation |
CN102678044B (zh) * | 2012-06-06 | 2014-05-07 | 浙江大学 | 一种钻井杆及脉冲等离子体钻机系统 |
US9171394B2 (en) | 2012-07-19 | 2015-10-27 | Nvidia Corporation | Light transport consistent scene simplification within graphics display system |
US9159158B2 (en) | 2012-07-19 | 2015-10-13 | Nvidia Corporation | Surface classification for point-based rendering within graphics display system |
US8982124B2 (en) | 2012-09-29 | 2015-03-17 | Intel Corporation | Load balancing and merging of tessellation thread workloads |
US9123167B2 (en) | 2012-09-29 | 2015-09-01 | Intel Corporation | Shader serialization and instance unrolling |
US9035969B2 (en) * | 2012-11-29 | 2015-05-19 | Seiko Epson Corporation | Method for multiple projector display using a GPU frame buffer |
US9449363B2 (en) * | 2014-06-27 | 2016-09-20 | Intel Corporation | Sampling, fault management, and/or context switching via a compute pipeline |
CN106355632B (zh) * | 2016-08-30 | 2019-06-18 | 广联达科技股份有限公司 | 渲染对象的过滤方法和渲染对象的过滤装置 |
US10657698B2 (en) * | 2017-06-22 | 2020-05-19 | Microsoft Technology Licensing, Llc | Texture value patch used in GPU-executed program sequence cross-compilation |
US10241766B2 (en) | 2017-06-22 | 2019-03-26 | Microsoft Technology Licensing, Llc | Application binary interface cross compilation |
US10102015B1 (en) | 2017-06-22 | 2018-10-16 | Microsoft Technology Licensing, Llc | Just in time GPU executed program cross compilation |
US10289393B2 (en) | 2017-06-22 | 2019-05-14 | Microsoft Technology Licensing, Llc | GPU-executed program sequence cross-compilation |
GB2567507B (en) * | 2018-04-05 | 2019-10-02 | Imagination Tech Ltd | Texture filtering with dynamic scheduling |
US20210250468A1 (en) * | 2018-08-21 | 2021-08-12 | Hewlett-Packard Development Company, L.P. | Interpolation and smoothening of the gamut boundary |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6333743B1 (en) * | 1997-10-23 | 2001-12-25 | Silicon Graphics, Inc. | Method and apparatus for providing image and graphics processing using a graphics rendering engine |
US6452603B1 (en) * | 1998-12-23 | 2002-09-17 | Nvidia Us Investment Company | Circuit and method for trilinear filtering using texels from only one level of detail |
WO2002103633A1 (en) * | 2001-06-19 | 2002-12-27 | Nvidia Corporation | System, method and computer program product for a programmable pixel processing model with instruction set |
US20030234791A1 (en) * | 2002-06-20 | 2003-12-25 | Boyd Charles N. | Systems and methods for providing controllable texture sampling |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5239624A (en) * | 1985-06-19 | 1993-08-24 | Pixar | Pseudo-random point sampling techniques in computer graphics |
US5025400A (en) * | 1985-06-19 | 1991-06-18 | Pixar | Pseudo-random point sampling techniques in computer graphics |
US4897806A (en) * | 1985-06-19 | 1990-01-30 | Pixar | Pseudo-random point sampling techniques in computer graphics |
FR2592042B1 (fr) * | 1985-12-19 | 1988-03-25 | Ile De France | Nouveaux ortho-anisamides, leur procede d'obtention, et leurs applications therapeutiques |
US4835712A (en) | 1986-04-14 | 1989-05-30 | Pixar | Methods and apparatus for imaging volume data with shading |
JP2673101B2 (ja) | 1994-08-29 | 1997-11-05 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・グラフィクス装置 |
DE69635066T2 (de) | 1995-06-06 | 2006-07-20 | Hewlett-Packard Development Co., L.P., Houston | Unterbrechungsschema zum Aktualisieren eines Lokalspeichers |
JPH09212658A (ja) | 1996-02-02 | 1997-08-15 | Toshiba Corp | 情報処理装置 |
US6366290B1 (en) * | 1997-03-31 | 2002-04-02 | Cirrus Logic, Inc. | Dynamically selectable texture filter for a software graphics engine |
US6731296B2 (en) * | 1999-05-07 | 2004-05-04 | Broadcom Corporation | Method and system for providing programmable texture processing |
US6999100B1 (en) * | 2000-08-23 | 2006-02-14 | Nintendo Co., Ltd. | Method and apparatus for anti-aliasing in a graphics system |
US6867778B2 (en) * | 2002-02-28 | 2005-03-15 | Sun Microsystems, Inc. | End point value correction when traversing an edge using a quantized slope value |
US7151544B2 (en) * | 2003-05-16 | 2006-12-19 | Sun Microsystems, Inc. | Method for improving texture cache access by removing redundant requests |
US20050140688A1 (en) * | 2003-12-29 | 2005-06-30 | Kim Pallister | Method and mechanism for programmable filtering of texture map data in 3D graphics subsystems |
KR100823373B1 (ko) * | 2003-12-29 | 2008-04-17 | 인텔 코오퍼레이션 | 3차원 그래픽 서브시스템들에서의 텍스쳐 맵 데이터의프로그램 가능 필터링을 위한 방법 및 메카니즘 |
-
2003
- 2003-12-29 US US10/747,966 patent/US20050140688A1/en not_active Abandoned
-
2004
- 2004-06-18 US US10/872,049 patent/US7133047B2/en not_active Expired - Fee Related
- 2004-12-23 CN CN2004800393842A patent/CN1910621B/zh not_active Expired - Fee Related
-
2008
- 2008-10-28 US US12/260,057 patent/US7697010B2/en not_active Expired - Fee Related
-
2010
- 2010-01-15 US US12/688,594 patent/US20100118028A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6333743B1 (en) * | 1997-10-23 | 2001-12-25 | Silicon Graphics, Inc. | Method and apparatus for providing image and graphics processing using a graphics rendering engine |
US6452603B1 (en) * | 1998-12-23 | 2002-09-17 | Nvidia Us Investment Company | Circuit and method for trilinear filtering using texels from only one level of detail |
WO2002103633A1 (en) * | 2001-06-19 | 2002-12-27 | Nvidia Corporation | System, method and computer program product for a programmable pixel processing model with instruction set |
US20030234791A1 (en) * | 2002-06-20 | 2003-12-25 | Boyd Charles N. | Systems and methods for providing controllable texture sampling |
Also Published As
Publication number | Publication date |
---|---|
US20090051697A1 (en) | 2009-02-26 |
US20050140688A1 (en) | 2005-06-30 |
US20050140689A1 (en) | 2005-06-30 |
US7133047B2 (en) | 2006-11-07 |
US7697010B2 (en) | 2010-04-13 |
US20100118028A1 (en) | 2010-05-13 |
CN1910621A (zh) | 2007-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1910621B (zh) | 用于在3d图形子系统中可编程过滤纹理映射数据的方法和机制 | |
US7477261B2 (en) | Method and mechanism for programmable filtering of texture map data in 3D graphics subsystems | |
CN101620725B (zh) | 混合多重采样/超采样抗锯齿 | |
US7777750B1 (en) | Texture arrays in a graphics library | |
US7015913B1 (en) | Method and apparatus for multithreaded processing of data in a programmable graphics processor | |
CN101371247A (zh) | 用于图形处理器的并行阵列结构 | |
CN101604454A (zh) | 图形处理系统 | |
US10186068B2 (en) | Method, apparatus and system for rendering an image | |
US5325485A (en) | Method and apparatus for displaying primitives processed by a parallel processor system in a sequential order | |
EP1738330A1 (en) | Scalable shader architecture | |
CN109785417B (zh) | 一种实现OpenGL累积操作的方法及装置 | |
CN106067188B (zh) | 在图形处理系统中对基元进行图块化 | |
CN112189215A (zh) | 用于在图形流水线中实现存储器使用减少的编译器辅助技术 | |
AU2013273768A1 (en) | Parallel rendering of region-based graphics representations | |
CN113947654A (zh) | 在图形处理系统中对基元分块 | |
US11016774B1 (en) | Issuing execution threads in a data processor | |
CN116263982B (zh) | 图形处理器、系统、方法、电子装置及设备 | |
CN115049531B (zh) | 图像渲染方法、装置、图形处理设备及存储介质 | |
US8988444B2 (en) | System and method for configuring graphics register data and recording medium | |
US12026801B2 (en) | Filter independent L1 mapping of convolution data into general purpose register | |
CA1316263C (en) | Apparatus and method for using a test window in a graphics subsystem which incorporates hardware to perform clipping of images | |
US8427490B1 (en) | Validating a graphics pipeline using pre-determined schedules | |
US20160275700A1 (en) | Method, apparatus and system for rendering regions of an image | |
US20220067871A1 (en) | Graphics processing | |
GB2625800A (en) | Applying texture processing to a block of fragments in a graphics processing unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
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: 20100804 Termination date: 20181223 |