-
公开(公告)号:US08564616B1
公开(公告)日:2013-10-22
申请号:US12505402
申请日:2009-07-17
申请人: Ziyad S. Hakura , John Erik Lindholm , Emmett M. Kilgariff , Robert Ohannessian , Scott R. Whitman , James C. Bowman , Patrick R. Brown , Ross A. Cunniff
发明人: Ziyad S. Hakura , John Erik Lindholm , Emmett M. Kilgariff , Robert Ohannessian , Scott R. Whitman , James C. Bowman , Patrick R. Brown , Ross A. Cunniff
IPC分类号: G09G5/00
CPC分类号: G09G5/363 , G09G2360/08 , G09G2370/10
摘要: One embodiment of the invention sets forth a mechanism for compiling a vertex shader program into two portions, a culling portion and a shading portion. The culling portion of the compiled vertex shader program specifies vertex attributes and instructions of the vertex shader program needed to determine whether early vertex culling operations should be performed on a batch of vertices associated with one or more primitives of a graphics scene. The shading portion of the compiled vertex shader program specifies the remaining vertex attributes and instructions of the vertex shader program for performing vertex lighting and performing other operations on the vertices in the batch of vertices. When the compiled vertex shader program is executed by graphics processing hardware, the shading portion of the compiled vertex shader is executed only when early vertex culling operations are not performed on the batch of vertices.
摘要翻译: 本发明的一个实施例提出了一种用于将顶点着色器程序编译成两部分,一个剔除部分和一个阴影部分的机构。 编译的顶点着色器程序的剔除部分指定顶点着色器程序的顶点属性和指令,以确定是否应对与图形场景的一个或多个图元相关联的一批顶点执行早期顶点剔除操作。 编译顶点着色器程序的阴影部分指定顶点着色器程序的剩余顶点属性和指令,用于执行顶点点亮,并对顶点的顶点中的顶点执行其他操作。 当编译的顶点着色器程序由图形处理硬件执行时,只有在不对顶点顶点执行早期顶点剔除操作时才执行编译顶点着色器的阴影部分。
-
公开(公告)号:US09697641B2
公开(公告)日:2017-07-04
申请号:US12904927
申请日:2010-10-14
申请人: Steven E. Molnar , Emmett M. Kilgariff , Walter E. Donovan , Christian Amsinck , Robert Ohannessian
发明人: Steven E. Molnar , Emmett M. Kilgariff , Walter E. Donovan , Christian Amsinck , Robert Ohannessian
CPC分类号: G06T15/503 , G06T15/005 , G09G5/363 , G09G5/393 , G09G2360/123
摘要: One embodiment of the present invention sets forth a technique for converting alpha values into pixel coverage masks. Geometric coverage is sampled at a number of “real” sample positions within each pixel. Color and depth values are computed for each of these real samples. Fragment alpha values are used to determine an alpha coverage mask for the real samples and additional “virtual” samples, in which the number of bits set in the mask bits is proportional to the alpha value. An alpha-to-coverage mode uses the virtual samples to increase the number of transparency levels for each pixel compared with using only real samples. The alpha-to-coverage mode may be used in conjunction with virtual coverage anti-aliasing to provide higher-quality transparency for rendering anti-aliased images.
-
公开(公告)号:US08669999B2
公开(公告)日:2014-03-11
申请号:US12904935
申请日:2010-10-14
申请人: Walter E. Donovan , Emmett M. Kilgariff , Steven E. Molnar , Christian Amsinck , Robert Ohannessian
发明人: Walter E. Donovan , Emmett M. Kilgariff , Steven E. Molnar , Christian Amsinck , Robert Ohannessian
IPC分类号: G09G5/00
CPC分类号: G06T15/503 , G06T15/005 , G09G5/363 , G09G5/393 , G09G2360/123
摘要: One embodiment of the present invention sets forth a technique for converting alpha values into pixel coverage masks. Geometric coverage is sampled at a number of “real” sample positions within each pixel. Color and depth values are computed for each of these real samples. Fragment alpha values are used to determine an alpha coverage mask for the real samples and additional “virtual” samples, in which the number of bits set in the mask bits is proportional to the alpha value. An alpha-to-coverage mode uses the virtual samples to increase the number of transparency levels for each pixel compared with using only real samples. The alpha-to-coverage mode may be used in conjunction with virtual coverage anti-aliasing to provide higher-quality transparency for rendering anti-aliased images.
摘要翻译: 本发明的一个实施例提出了一种将α值转换为像素覆盖掩码的技术。 在每个像素内的多个“实”样本位置采样几何覆盖。 为这些实际样本中的每一个计算颜色和深度值。 片段α值用于确定实际样本和附加“虚拟”样本的alpha覆盖掩码,其中掩码位中设置的位数与alpha值成比例。 与仅使用真实样本相比,alpha到覆盖模式使用虚拟样本来增加每个像素的透明度级别数。 alpha到覆盖模式可以与虚拟覆盖抗锯齿一起使用,以提供用于渲染抗锯齿图像的更高质量的透明度。
-
公开(公告)号:US20110090250A1
公开(公告)日:2011-04-21
申请号:US12904927
申请日:2010-10-14
申请人: Steven E. MOLNAR , Emmett M. KILGARIFF , Walter E. DONOVAN , Christian AMSINCK , Robert OHANNESSIAN
发明人: Steven E. MOLNAR , Emmett M. KILGARIFF , Walter E. DONOVAN , Christian AMSINCK , Robert OHANNESSIAN
IPC分类号: G09G5/00
CPC分类号: G06T15/503 , G06T15/005 , G09G5/363 , G09G5/393 , G09G2360/123
摘要: One embodiment of the present invention sets forth a technique for converting alpha values into pixel coverage masks. Geometric coverage is sampled at a number of “real” sample positions within each pixel. Color and depth values are computed for each of these real samples. Fragment alpha values are used to determine an alpha coverage mask for the real samples and additional “virtual” samples, in which the number of bits set in the mask bits is proportional to the alpha value. An alpha-to-coverage mode uses the virtual samples to increase the number of transparency levels for each pixel compared with using only real samples. The alpha-to-coverage mode may be used in conjunction with virtual coverage anti-aliasing to provide higher-quality transparency for rendering anti-aliased images.
摘要翻译: 本发明的一个实施例提出了一种将α值转换为像素覆盖掩码的技术。 在每个像素内的多个“实”样本位置采样几何覆盖。 为这些实际样本中的每一个计算颜色和深度值。 片段α值用于确定实际样本和附加“虚拟”样本的alpha覆盖掩码,其中掩码位中设置的位数与alpha值成比例。 与仅使用真实样本相比,alpha到覆盖模式使用虚拟样本来增加每个像素的透明度级别数。 alpha到覆盖模式可以与虚拟覆盖抗锯齿一起使用,以提供用于渲染抗锯齿图像的更高质量的透明度。
-
公开(公告)号:US07663621B1
公开(公告)日:2010-02-16
申请号:US11556515
申请日:2006-11-03
CPC分类号: G06T15/04
摘要: Circuits, methods, and apparatus that perform cylindrical wrapping in software without the need for a dedicated hardware circuit. One example performs cylindrical wrapping in software running on shader hardware. In one specific example, the shader hardware is a unified shader that alternately processes geometry, vertex, and fragment information. This unified shader is formed using a number of single-instruction, multiple-data units. Another example provides a method of performing a cylindrical wrap that ensures that a correct texture portion is used for a triangle that is divided by a “seam” of the wrap. To achieve this, primitive vertices are sorted such that results are vertex order invariant. One vertex is selected as a reference. For the other vertices, a difference is found for each coordinate and a corresponding coordinate of the reference vertex. If the coordinates are near, no change is made. If the coordinates are distant, the coordinate is adjusted.
摘要翻译: 在软件中执行圆柱形包装而不需要专用硬件电路的电路,方法和装置。 一个例子是在着色器硬件上运行的软件中执行圆柱包装。 在一个具体的例子中,着色器硬件是一个统一的着色器,交替地处理几何,顶点和片段信息。 这个统一着色器是使用多个单指令多数据单元形成的。 另一个例子提供了一种执行圆柱形包装的方法,该方法确保将正确的纹理部分用于由包裹的“接缝”划分的三角形。 为了实现这一点,原始顶点被排序,使得结果是顶点顺序不变的。 选择一个顶点作为参考。 对于其他顶点,对于每个坐标和参考顶点的相应坐标找到一个差异。 如果坐标靠近,则不进行任何更改。 如果坐标较远,则调整坐标。
-
公开(公告)号:US08542247B1
公开(公告)日:2013-09-24
申请号:US12505398
申请日:2009-07-17
申请人: Ziyad S. Hakura , John Erik Lindholm , Emmett M. Kilgariff , Robert Ohannessian , Scott R. Whitman , James C. Bowman , Patrick R. Brown , Ross A. Cunniff
发明人: Ziyad S. Hakura , John Erik Lindholm , Emmett M. Kilgariff , Robert Ohannessian , Scott R. Whitman , James C. Bowman , Patrick R. Brown , Ross A. Cunniff
IPC分类号: G09G5/00
CPC分类号: G06T15/005 , G06T15/40 , G09G5/363 , G09G5/393 , G09G2360/06 , G09G2360/08
摘要: One embodiment of the invention sets forth a mechanism for compiling a vertex shader program into two portions, a culling portion and a shading portion. The culling portion of the compiled vertex shader program specifies vertex attributes and instructions of the vertex shader program needed to determine whether early vertex culling operations should be performed on a batch of vertices associated with one or more primitives of a graphics scene. The shading portion of the compiled vertex shader program specifies the remaining vertex attributes and instructions of the vertex shader program for performing vertex lighting and performing other operations on the vertices in the batch of vertices. When the compiled vertex shader program is executed by graphics processing hardware, the shading portion of the compiled vertex shader is executed only when early vertex culling operations are not performed on the batch of vertices.
-
公开(公告)号:US20130124838A1
公开(公告)日:2013-05-16
申请号:US13294045
申请日:2011-11-10
申请人: Lacky V. SHAH , Gregory Scott Palmer , Gernot Schaufler , Samuel H. Duncan , Philip Browning Johnson , Shirish Gadre , Robert Ohannessian , Nicholas Wang , Christopher Lamb , Philip Alexander Cuadra , Timothy John Purcell
发明人: Lacky V. SHAH , Gregory Scott Palmer , Gernot Schaufler , Samuel H. Duncan , Philip Browning Johnson , Shirish Gadre , Robert Ohannessian , Nicholas Wang , Christopher Lamb , Philip Alexander Cuadra , Timothy John Purcell
IPC分类号: G06F9/38
CPC分类号: G06F9/461
摘要: One embodiment of the present invention sets forth a technique instruction level and compute thread array granularity execution preemption. Preempting at the instruction level does not require any draining of the processing pipeline. No new instructions are issued and the context state is unloaded from the processing pipeline. When preemption is performed at a compute thread array boundary, the amount of context state to be stored is reduced because execution units within the processing pipeline complete execution of in-flight instructions and become idle. If, the amount of time needed to complete execution of the in-flight instructions exceeds a threshold, then the preemption may dynamically change to be performed at the instruction level instead of at compute thread array granularity.
摘要翻译: 本发明的一个实施例阐述了技术指令级别和计算线程数组粒度执行抢占。 在指令级别抢占不需要处理管道的任何排水。 不会发出新的指令,并且从处理流水线中卸载上下文状态。 当在计算线程数组边界执行抢占时,由于处理流程内的执行单元完成飞行中指令的执行并变为空闲,因此减少了要存储的上下文状态量。 如果完成执行飞行中指令所需的时间超过阈值,则抢占可以动态地改变以在指令级别而不是以计算线程数组粒度来执行。
-
公开(公告)号:US20110090251A1
公开(公告)日:2011-04-21
申请号:US12904935
申请日:2010-10-14
申请人: Walter E. Donovan , Emmett M. Kilgariff , Steven E. Molnar , Christian Amsinck , Robert Ohannessian
发明人: Walter E. Donovan , Emmett M. Kilgariff , Steven E. Molnar , Christian Amsinck , Robert Ohannessian
IPC分类号: G09G5/00
CPC分类号: G06T15/503 , G06T15/005 , G09G5/363 , G09G5/393 , G09G2360/123
摘要: One embodiment of the present invention sets forth a technique for converting alpha values into pixel coverage masks. Geometric coverage is sampled at a number of “real” sample positions within each pixel. Color and depth values are computed for each of these real samples. Fragment alpha values are used to determine an alpha coverage mask for the real samples and additional “virtual” samples, in which the number of bits set in the mask bits is proportional to the alpha value. An alpha-to-coverage mode uses the virtual samples to increase the number of transparency levels for each pixel compared with using only real samples. The alpha-to-coverage mode may be used in conjunction with virtual coverage anti-aliasing to provide higher-quality transparency for rendering anti-aliased images.
摘要翻译: 本发明的一个实施例提出了一种将α值转换为像素覆盖掩码的技术。 在每个像素内的多个“实”样本位置采样几何覆盖。 为这些实际样本中的每一个计算颜色和深度值。 片段α值用于确定实际样本和附加“虚拟”样本的alpha覆盖掩码,其中掩码位中设置的位数与alpha值成比例。 与仅使用真实样本相比,alpha到覆盖模式使用虚拟样本来增加每个像素的透明度级别数。 alpha到覆盖模式可以与虚拟覆盖抗锯齿一起使用,以提供用于渲染抗锯齿图像的更高质量的透明度。
-
-
-
-
-
-
-