Surrogate stencil buffer clearing
    1.
    发明授权
    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.

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

    Primitive program compilation for flat attributes with provoking vertex independence
    2.
    发明授权
    Primitive program compilation for flat attributes with provoking vertex independence 有权
    平面属性的原始程序编译,引起顶点独立性

    公开(公告)号:US08171461B1

    公开(公告)日:2012-05-01

    申请号:US11361769

    申请日:2006-02-24

    IPC分类号: G06F9/45 G06F15/16

    CPC分类号: G06F8/4441

    摘要: 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.

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

    Vector data types with swizzling and write masking for C++
    3.
    发明授权
    Vector data types with swizzling and write masking for C++ 有权
    用于C ++的矢量数据类型,具有旋转和写入掩码

    公开(公告)号:US08010944B1

    公开(公告)日:2011-08-30

    申请号:US11608764

    申请日:2006-12-08

    IPC分类号: G06F9/44

    摘要: One embodiment of the invention includes a method for extending an object-oriented programming language to include support for a shading language vector data type. The method generally includes defining a template class for a shading language vector, defining a template class for a swizzled vector, and partially specializing the vector template class for vectors of one, two, three, and four elements. The partial specialization includes a union of instances of the vector swizzle template, where each instance represents a desired vector swizzle. In addition to defining the vector and vector swizzle data types, the templates classes may overload operators provided by the object-oriented programming language to perform operations corresponding to operations of the operators in the shading language.

    摘要翻译: 本发明的一个实施例包括一种用于扩展面向对象编程语言以包括对着色语言向量数据类型的支持的方法。 该方法通常包括定义用于着色语言向量的模板类,为转动向量定义模板类,以及部分专门针对一个,两个,三个和四个元素的向量的向量模板类。 部分专业化包括矢量交换模板的实例的并集,其中每个实例表示期望的矢量旋转。 除了定义向量和向量交换数据类型之外,模板类可以重载由面向对象编程语言提供的操作,以执行与遮蔽语言中的操作符的操作相对应的操作。

    System and method for compiling high-level primitive programs into primitive program micro-code
    4.
    发明授权
    System and method for compiling high-level primitive programs into primitive program micro-code 有权
    将高级原始程序编译成原始程序微代码的系统和方法

    公开(公告)号:US08006236B1

    公开(公告)日:2011-08-23

    申请号:US11361597

    申请日:2006-02-24

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: 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.

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

    Order-independent transparency rendering system and method
    6.
    发明授权
    Order-independent transparency rendering system and method 有权
    与订单无关的透明度渲染系统和方法

    公开(公告)号:US06989840B1

    公开(公告)日:2006-01-24

    申请号:US09944988

    申请日:2001-08-31

    IPC分类号: G09G5/02

    CPC分类号: G06T15/503 G06T15/04

    摘要: A system, method and computer program product are provided for transparency rendering in a graphics pipeline. Initially, colored-transparency information is collected from a plurality of depth layers (i.e. colored-transparency layers, etc.) in a scene to be rendered. The collected colored-transparency information is then stored in memory. The colored-transparency information from the depth layers may then be blended in a predetermined order.

    摘要翻译: 提供了一种系统,方法和计算机程序产品,用于在图形管线中进行透明度渲染。 首先,从要呈现的场景中的多个深层(即彩色透明层等)收集彩色透明度信息。 然后将收集的彩色透明度信息存储在存储器中。 然后可以以预定顺序混合来自深层的着色透明度信息。

    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 dual-depth shadow-mapping
    8.
    发明授权
    System and method for dual-depth shadow-mapping 有权
    双重影像映射的系统和方法

    公开(公告)号:US06704025B1

    公开(公告)日:2004-03-09

    申请号:US09944990

    申请日:2001-08-31

    IPC分类号: G09G502

    CPC分类号: G06T15/60

    摘要: A system and method are provided for improved shadow mapping in a graphics pipeline. Raw depth values are initially collected from two depth layers in a scene to be rendered. Shadow-map depth values are then calculated utilizing the raw depth values. The scene is then shadow mapped utilizing the shadow-map depth values in order to improve the appearance of shadows in a rendered scene. The various steps are carried out by a hardware-implemented graphics pipeline, which may include texturing or shadowing mapping hardware.

    摘要翻译: 提供了一种用于在图形管线中改进阴影映射的系统和方法。 原始深度值最初从要呈现的场景中的两个深度层收集。 然后使用原始深度值计算阴影图深度值。 然后使用阴影映射深度值对场景进行阴影映射,以改善渲染场景中阴影的出现。 各种步骤由硬件实现的图形管线执行,其可以包括纹理或阴影映射硬件。

    System and method for enabling scene program functionality
    9.
    发明授权
    System and method for enabling scene program functionality 有权
    用于启用场景程序功能的系统和方法

    公开(公告)号:US09218691B1

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

    申请号:US12125851

    申请日:2008-05-22

    IPC分类号: G06T1/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.

    摘要翻译: 本发明的一个实施例提出了一种用于指定场景节目的技术,其中执行特定场景节目的效果是生成一系列图形命令。 应用程序编程接口被扩展为包括用于指定高级场景程序的调用。 在接收到高级场景程序时,图形驱动器产生机器码场景程序。 当应用程序发出执行一个或多个机器码场景程序的呼叫时,图形驱动器将对应的场景程序执行命令发送到图形预处理单元。 对于每个场景程序执行命令,图形预处理单元处理指令,以编程方式基于机器码场景程序的执行重新配置图形流水线,并启动执行图形流水线内的命令的一个或多个并行线程。 有利地,使用场景程序,应用程序开发人员可以定制应用程序以更有效地将任务分派给GPU。

    Vector data types with swizzling and write masking for C++

    公开(公告)号:US08010945B1

    公开(公告)日:2011-08-30

    申请号:US11608766

    申请日:2006-12-08

    IPC分类号: G06F9/44

    摘要: One embodiment of the invention includes a method for extending an object-oriented programming language to include support for a shading language vector data type. The method generally includes defining a template class for a shading language vector, defining a template class for a swizzled vector, and partially specializing the vector template class for vectors of one, two, three, and four elements. The partial specialization includes a union of instances of the vector swizzle template, where each instance represents a desired vector swizzle. In addition to defining the vector and vector swizzle data types, the templates classes may overload operators provided by the object-oriented programming language to perform operations corresponding to operations of the operators in the shading language.