Managing primitive program vertex attributes as per-attribute arrays
    11.
    发明授权
    Managing primitive program vertex attributes as per-attribute arrays 有权
    根据属性数组管理原始程序顶点属性

    公开(公告)号:US07825933B1

    公开(公告)日:2010-11-02

    申请号:US11361789

    申请日:2006-02-24

    IPC分类号: G06T15/00

    CPC分类号: G06T15/005 G06F8/447

    摘要: Systems and methods for compiling high-level primitive programs are used to generate primitive program micro-code for execution by a primitive processor. A compiler is configured to produce micro-code for a specific target primitive processor based on the target primitive processor's capabilities. The compiler supports features of the high-level primitive program by providing conversions for different applications programming interface conventions, determining output primitive types, initializing attribute arrays based on primitive input profile modifiers, and determining vertex set lengths from specified primitive input types.

    摘要翻译: 用于编译高级原始程序的系统和方法用于生成原始程序微代码,以由原始处理器执行。 编译器被配置为基于目标原语处理器的能力为特定目标原语处理器产生微代码。 编译器通过为不同的应用程序编程接口约定提供转换,确定输出原语类型,基于原始输入配置文件修饰符初始化属性数组,以及从指定的基元输入类型确定顶点集长度来支持高级原始程序的功能。

    Surrogate stencil buffer clearing
    12.
    发明授权
    Surrogate stencil buffer clearing 有权
    代理模板缓冲液清理

    公开(公告)号:US07355602B1

    公开(公告)日:2008-04-08

    申请号:US10985699

    申请日:2004-11-10

    IPC分类号: G09G5/36

    CPC分类号: G06T11/40

    摘要: Methods and apparatuses for effectively clearing stencil buffers at high speed using surrogate stencil buffer clearing. A hardware register tracks the number of surrogate clears of the stencil buffer since the last actual clear. Bits are reserved in each stencil register for storing the surrogate clear number that cleared other stencil registers the last time the stencil register held an assigned value. A comparison between the contents of the hardware register and the reserved bits in each stencil register determines if each stencil register should be assigned a cleared value. If the numbers do not match the stencil register is assigned a predetermined surrogate clear value. In some applications the number of reserved bits is fixed, while in other applications the number of reserved bits can be set, either by a designer or by software.

    摘要翻译: 使用代理模板缓冲液清除高效清除模板缓冲器的方法和装置。 硬件寄存器跟踪自上次实际清除以来模板缓冲区的代理清除次数。 每个模板寄存器保留位,用于存储上一次模板寄存器保持分配值时清除其他模板寄存器的代理清除号。 硬件寄存器的内容和每个模板寄存器中的保留位之间的比较确定每个模板寄存器是否应被分配一个清零的值。 如果数字不匹配,模板寄存器将分配一个预定的代理清除值。 在某些应用中,保留位的数量是固定的,而在其他应用中,可以由设计者或软件来设置保留位数。

    Depth bounds testing
    13.
    发明授权
    Depth bounds testing 有权
    深度测试

    公开(公告)号:US07145565B2

    公开(公告)日:2006-12-05

    申请号:US10444655

    申请日:2003-05-23

    IPC分类号: G06T15/50

    CPC分类号: G06T15/60

    摘要: Lights can be conservatively bounded within a depth range. When image pixels are outside of a light's depth range, an associated volume fragment does not have to be rendered. Depth bounds registers can be used to store minimum and maximum depth values for a light. As graphics hardware processes volume fragments overlapping the image, the image's depth values are compared with the values in the depth bounds register. If the image's depth is outside of the depth range for the light, stencil buffer and illumination operations for this volume fragment are bypassed. This optimization can be performed on a per-pixel basis, or simultaneously on a group of adjacent pixels. The depth bounds are calculated from the light, or from the intersection of the volume with one or more other features. A rendering application uses API functions to set the depth bounds for each light and to activate depth bounds checking.

    摘要翻译: 灯光可以在深度范围内保守地界定。 当图像像素在光的深度范围之外时,不必呈现关联的卷片段。 深度边界寄存器可用于存储光的最小和最大深度值。 随着图形硬件处理与图像重叠的卷片段,将图像的深度值与深度边界寄存器中的值进行比较。 如果图像的深度超出了光的深度范围,则会绕过该卷片段的模板缓冲区和照明操作。 该优化可以在每个像素的基础上执行,或者同时在一组相邻像素上执行。 深度边界是根据光线,或者从音量与一个或多个其他特征的交点计算的。 渲染应用程序使用API​​函数来设置每个光的深度边界并激活深度边界检查。

    System and method for enabling scene program functionality

    公开(公告)号:US09183662B1

    公开(公告)日:2015-11-10

    申请号:US12125861

    申请日:2008-05-22

    IPC分类号: G06T1/00 G06T15/00 G06T17/00

    摘要: One embodiment of the present invention sets forth a technique for specifying scene programs, where the effect of executing a particular scene program is to generate a sequence of graphics commands. The application programming interface is extended to include calls used to specify a high-level scene program. Upon receiving a high-level scene program, the graphics driver generates a machine code scene program. When an application program emits a call to execute one or more machine code scene programs, the graphics driver transmits corresponding scene programs execution commands to the graphics pre-processing unit. For each scene program execution command, the graphics pre-processing unit processes instructions, programmatically reconfigures the graphics pipeline based on the execution of the machine code scene program, and launches one or more parallel threads that execute commands within the graphics pipeline. Advantageously, using scene programs, application developers may tailor application programs to more effectively dispatch tasks to the GPU.

    System and method for path rendering with multiple stencil samples per color sample
    15.
    发明授权
    System and method for path rendering with multiple stencil samples per color sample 有权
    用于每个颜色样本的多个模版样本的路径渲染的系统和方法

    公开(公告)号:US08704830B2

    公开(公告)日:2014-04-22

    申请号:US13111897

    申请日:2011-05-19

    IPC分类号: G06T15/40

    CPC分类号: G06T15/005 G06T11/203

    摘要: One embodiment of the present invention sets forth a technique for improving path rendering on computer systems by efficiently representing and computing sub-pixel coverage for path objects. A stencil buffer is configured to store multiple stencil samples per pixel stored in an image buffer. The stencil samples undergo stencil testing to produce a set of Boolean values per pixel, which collectively define a geometric coverage percentage for the pixel. The coverage percentage is used to modulate a color value for the pixel. The modulated color value is then blended into the image buffer as an anti-aliased pixel. This technique advantageously enables efficient anti-aliasing for path rendering.

    摘要翻译: 本发明的一个实施例提出了一种用于通过有效地表示和计算路径对象的子像素覆盖来改善计算机系统上的路径渲染的技术。 模板缓冲器被配置为存储存储在图像缓冲器中的每个像素的多个模板样本。 模板样品经历模板测试以产生每个像素的一组布尔值,其共同地定义像素的几何覆盖百分比。 覆盖百分比用于调整像素的颜色值。 然后将调制的颜色值作为抗锯齿像素混合到图像缓冲器中。 该技术有利地实现了用于路径渲染的有效抗锯齿。

    CONVERSION OF DASHED STROKES INTO QUADRATIC BÈZIER SEGMENT SEQUENCES

    公开(公告)号:US20110285723A1

    公开(公告)日:2011-11-24

    申请号:US13098147

    申请日:2011-04-29

    申请人: Mark J. Kilgard

    发明人: Mark J. Kilgard

    IPC分类号: G06T11/20

    CPC分类号: G06T15/005 G06T11/203

    摘要: One embodiment of the present invention sets forth a technique for converting dashed strokes into quadratic Bèzier segment sequences. Path rendering with stroking and dashing may be accelerated when a graphics processing unit or other processor is configured to subdivide quadratic Bèzier segments based on the remaining distance for a current dash pattern element and the arc length of the current quadratic Bèzier path segment to generate “on” dash pattern segments. Each “on” dash pattern segment is then bounded by a conservative geometric hull. A point containment technique is then used to identify pixels within each conservative geometric hull that are within half of the stroke width of any point along a path to be stroked.

    Graphics API with branching capabilities
    17.
    发明授权
    Graphics API with branching capabilities 有权
    具有分支功能的图形API

    公开(公告)号:US07006101B1

    公开(公告)日:2006-02-28

    申请号:US10180798

    申请日:2002-06-25

    IPC分类号: G09G5/37

    摘要: A system, method and computer program product are provided for branching during programmable processing utilizing a graphics application program interface in conjunction with a hardware graphics pipeline. Initially, a first instruction defined by the graphics application program interface is identified. A first operation is performed on graphics data based on the first instruction utilizing the hardware graphics pipeline. Any some point, the present technique may involve branching to an additional instruction defined by the graphics application program interface other than a subsequent sequential instruction. Next, another operation is performed on the graphics data based on the additional instruction utilizing the hardware graphics pipeline.

    摘要翻译: 提供了一种系统,方法和计算机程序产品,用于在可编程处理期间利用结合硬件图形管线的图形应用程序接口进行分支。 首先,识别由图形应用程序接口定义的第一指令。 基于使用硬件图形管线的第一指令对图形数据执行第一操作。 任何一点,本技术可能涉及分支到由图形应用程序接口定义的附加指令,而不是随后的顺序指令。 接下来,基于利用硬件图形管线的附加指令对图形数据执行另一操作。

    Method and system for synchronizing updates of vertex data with a graphics processor that is fetching vertex data
    18.
    发明授权
    Method and system for synchronizing updates of vertex data with a graphics processor that is fetching vertex data 有权
    用于将顶点数据的更新与获取顶点数据的图形处理器同步的方法和系统

    公开(公告)号:US06947049B2

    公开(公告)日:2005-09-20

    申请号:US09872508

    申请日:2001-06-01

    IPC分类号: G06T1/60 G06T15/00

    CPC分类号: G06T1/60 G06T15/005

    摘要: A method and system for synchronizing updates of vertex data by a processor with a graphics accelerator module that is fetching vertex data is disclosed. The method and system comprises providing vertex array range (VAR) and writing vertex data into the VAR. The method and system includes providing a command into a command stream of the graphics accelerator module indicating that the vertex data has written into the VAR, and providing a fence condition based upon the command. A system and method in accordance with the present invention thus permits extremely high vertex processing rates via vertex arrays or vertex buffers even when the processor lacks the necessary data movement bandwidth. By passing indices in lieu of the vertex data, the processor is capable of keeping up with the rate at which a vertex engine of the graphics accelerator module can consume vertices. In operation, the processor passes vertex indices to the hardware and lets the hardware “pull” the actual vertex data via direct memory access (DMA).

    摘要翻译: 公开了一种用于将处理器的顶点数据的更新与正在获取顶点数据的图形加速器模块同步的方法和系统。 该方法和系统包括提供顶点数组范围(VAR)并将顶点数据写入VAR。 该方法和系统包括向图形加速器模块的命令流提供指示顶点数据已写入VAR中的命令,以及基于该命令提供围栏条件。 因此,即使当处理器缺少必要的数据移动带宽时,根据本发明的系统和方法也允许经由顶点数组或顶点缓冲器的极高的顶点处理速率。 通过传递索引代替顶点数据,处理器能够跟上图形加速器模块的顶点引擎可以消耗顶点的速率。 在操作中,处理器将顶点索引传递到硬件,并让硬件通过直接存储器访问(DMA)“拉”实际的顶点数据。

    System and method for compositing path color in path rendering
    19.
    发明授权
    System and method for compositing path color in path rendering 有权
    在路径渲染中合成路径颜色的系统和方法

    公开(公告)号:US09202303B2

    公开(公告)日:2015-12-01

    申请号:US13112874

    申请日:2011-05-20

    IPC分类号: G09G5/00 G06T15/00 G06T11/20

    CPC分类号: G06T15/005 G06T11/203

    摘要: One embodiment of the present invention sets forth a technique for compositing a rendered path object into an image buffer. A shader program executing within a graphics processing unit (GPU) performs a stenciling operation for the path object and subsequently performs a texture barrier operation, which invalidates caches configured to store texture and frame buffer data within the GPU. The shader program then performs covering operation for the path object in which the shader renders color samples for the path object and composites the color samples into an image buffer. The shader program binds to the image buffer for access as both a texture map and a writeable image. Stencil values are reset when corresponding pixels are written once per path object, and texture caches are invalidated via the texture barrier operation, which is performed after each covering operation per path object.

    摘要翻译: 本发明的一个实施例提出了一种用于将渲染的路径对象合成到图像缓冲器中的技术。 在图形处理单元(GPU)内执行的着色器程序执行路径对象的模板操作,并且随后执行纹理屏障操作,这使得被配置为在GPU内存储纹理和帧缓冲器数据的高速缓存无效。 着色程序然后对路径对象执行覆盖操作,其中着色器为路径对象呈现颜色样本,并将颜色样本复合到图像缓冲区中。 着色器程序绑定到图像缓冲区以作为纹理贴图和可写图像。 当每个路径对象写入一次对应的像素时,模板值被复位,纹理高速缓存通过每个路径对象的每个覆盖操作之后执行的纹理屏障操作无效。

    Omnidirectional shadow texture mapping
    20.
    发明授权
    Omnidirectional shadow texture mapping 有权
    全方位阴影纹理映射

    公开(公告)号:US08803879B1

    公开(公告)日:2014-08-12

    申请号:US11073142

    申请日:2005-03-04

    摘要: An invention is provided for rendering using an omnidirectional light. A shadow cube texture map having six cube faces centered by a light source is generated. Each cube face comprises a shadow texture having depth data from a perspective of the light source. In addition, each cube face is associated with an axis of a three-dimensional coordinate system. For each object fragment rendered from the camera's perspective a light-to-surface vector is defined from the light source to the object fragment, and particular texels within particular cube faces are selected based on the light-to-surface vector. The texel values are tested against a depth value computed from the light to surface vector. The object fragment is textured as in light or shadow according to the outcome of the test.

    摘要翻译: 提供了一种使用全向光渲染的发明。 产生具有由光源居中的六个立方体面的阴影立方体纹理图。 每个立方体面包括从光源的角度来看具有深度数据的阴影纹理。 此外,每个立方体面与三维坐标系的轴相关联。 对于从相机的角度呈现的每个对象片段,从光源到对象片段定义光到表面矢量,并且基于光到表面矢量选择特定立方体面内的特定纹理。 根据从光到表面向量计算的深度值测试纹理值。 根据测试的结果,物体片段按照光或阴影纹理化。