-
公开(公告)号:US20120201467A1
公开(公告)日:2012-08-09
申请号:US13020271
申请日:2011-02-03
申请人: Tomas Akenine-Möller , Jon N. Hasselgren , Carl J. Munkberg , Robert M. Toth , Franz P. Clarberg
发明人: Tomas Akenine-Möller , Jon N. Hasselgren , Carl J. Munkberg , Robert M. Toth , Franz P. Clarberg
IPC分类号: G06K9/46
CPC分类号: G06T15/005
摘要: A single instruction multiple data (SIMD) processor with a given width may operate on registers of the same width completely filled with fragments. A parallel set of registers are loaded and tested. The fragments that fail are eliminated and the register set is refilled from the parallel set.
摘要翻译: 具有给定宽度的单指令多数据(SIMD)处理器可以对完全填充有片段的相同宽度的寄存器进行操作。 一组并行寄存器被加载和测试。 消除了失败的碎片,并从并行集中重新填充寄存器集。
-
公开(公告)号:US08842121B2
公开(公告)日:2014-09-23
申请号:US13020271
申请日:2011-02-03
申请人: Tomas Akenine-Möller , Jon N. Hasselgren , Carl J. Munkberg , Robert M. Toth , Franz P. Clarberg
发明人: Tomas Akenine-Möller , Jon N. Hasselgren , Carl J. Munkberg , Robert M. Toth , Franz P. Clarberg
CPC分类号: G06T15/005
摘要: A single instruction multiple data (SIMD) processor with a given width may operate on registers of the same width completely filled with fragments. A parallel set of registers are loaded and tested. The fragments that fail are eliminated and the register set is refilled from the parallel set.
摘要翻译: 具有给定宽度的单指令多数据(SIMD)处理器可以对完全填充有片段的相同宽度的寄存器进行操作。 一组并行寄存器被加载和测试。 消除了失败的碎片,并从并行集中重新填充寄存器集。
-
公开(公告)号:US20160055614A1
公开(公告)日:2016-02-25
申请号:US14931285
申请日:2015-11-03
申请人: Tomas G. Akenine-Moller , Robert M. Toth , Jon N. Hasselgren , Carl J. Munkberg , Franz P. Clarberg
发明人: Tomas G. Akenine-Moller , Robert M. Toth , Jon N. Hasselgren , Carl J. Munkberg , Franz P. Clarberg
CPC分类号: G06T1/20 , G06T11/40 , G06T15/005 , G06T2210/12
摘要: Techniques are described that can delay or even prevent use of memory to store triangles associated with tiles as well as processing resources associated with vertex shading and binning triangles. The techniques can also provide better load balancing among a set of cores, and hence provide better performance. A bounding volume is generated to represent a geometry group. Culling takes place to determine whether a geometry group is to have triangles rendered. Vertex shading and association of triangles with tiles can be performed across multiple cores in parallel. Processing resources are allocated for rasterizing tiles whose triangles have been vertex shaded and binned over tiles whose triangles have yet to be vertex shaded and binned. Rasterization of triangles of different tiles can be performed by multiple cores in parallel.
摘要翻译: 描述了可以延迟或甚至阻止使用存储器来存储与瓦片相关联的三角形以及处理与顶点着色和合并三角形相关联的资源的技术。 这些技术还可以在一组核心之间提供更好的负载平衡,从而提供更好的性能。 生成一个边界体来表示一个几何组。 进行剔除以确定几何组是否具有呈现的三角形。 顶点阴影和三角形与瓦片的关联可以并行执行多个核心。 分配处理资源用于光栅化其三角形已经被顶点着色的图块,并且在三角形尚未被顶点着色和分块的图块上进行分块。 不同瓦片三角形的光栅化可以由多个并行的核心执行。
-
公开(公告)号:US09038034B2
公开(公告)日:2015-05-19
申请号:US12644075
申请日:2009-12-22
申请人: Tomas G. Akenine-Moller , Jon N. Hasselgren , Carl J. Munkberg , Franz P. Clarberg , Robert M. Toth
发明人: Tomas G. Akenine-Moller , Jon N. Hasselgren , Carl J. Munkberg , Franz P. Clarberg , Robert M. Toth
摘要: During compilation, the interval bounds for a programmable culling unit are calculated if possible. For each variable, interval bounds are calculated during the compilation, and the bounds together with other metadata are used to generate an optimized culling program. If not possible, then an assumption may be made and the assumption used to compile the code. If the assumption proves to be invalid, a new assumption could be made and the code may be recompiled in some embodiments.
摘要翻译: 在编译期间,如果可能,计算可编程剔除单元的间隔范围。 对于每个变量,在编译期间计算间隔边界,并且边界与其他元数据一起用于生成优化的剔除程序。 如果不可能,则可以作出假设,并且用于编译代码的假设。 如果假设证明是无效的,则可以作出新的假设,并且在一些实施例中代码可以被重新编译。
-
公开(公告)号:US20120075304A1
公开(公告)日:2012-03-29
申请号:US12891898
申请日:2010-09-28
申请人: Carl J. Munkberg , Tomas G. Akenine-Möller , Marco Salvi , Robert M. Toth , Jon N. Hasselgren , Franz P. Clarberg , Matt Pharr
发明人: Carl J. Munkberg , Tomas G. Akenine-Möller , Marco Salvi , Robert M. Toth , Jon N. Hasselgren , Franz P. Clarberg , Matt Pharr
IPC分类号: G06T15/40
摘要: In order to efficiently backface cull rendering primitives during computer graphics rendering, it is important to be sure that the rendering primitives to be culled are guaranteed to be backfacing even if the primitives are moving or are undergoing defocus blur. Therefore, we derive conservative tests that determine if a moving and defocused triangle is backfacing over an entire time interval and over the area of a lens. In addition, we present tests for the special cases of only motion blur and only depth of field.
摘要翻译: 为了在计算机图形呈现期间有效地背面剔除渲染图元,重要的是要确保即使原图正在移动或正在进行散焦模糊,要剔除的渲染图元也会背面。 因此,我们得出保守测试,确定移动和散焦三角形是否在整个时间间隔内和透镜区域上都背后。 此外,我们还提供仅针对运动模糊和只有景深的特殊情况的测试。
-
公开(公告)号:US08587585B2
公开(公告)日:2013-11-19
申请号:US12891898
申请日:2010-09-28
申请人: Carl J. Munkberg , Tomas G. Akenine-Möller , Marco Salvi , Robert M. Toth , Jon N. Hasselgren , Franz P. Clarberg , Matt Pharr
发明人: Carl J. Munkberg , Tomas G. Akenine-Möller , Marco Salvi , Robert M. Toth , Jon N. Hasselgren , Franz P. Clarberg , Matt Pharr
IPC分类号: G06T15/40
摘要: In order to efficiently backface cull rendering primitives during computer graphics rendering, it is important to be sure that the rendering primitives to be culled are guaranteed to be backfacing even if the primitives are moving or are undergoing defocus blur. Therefore, we derive conservative tests that determine if a moving and defocused triangle is backfacing over an entire time interval and over the area of a lens. In addition, we present tests for the special cases of only motion blur and only depth of field.
摘要翻译: 为了在计算机图形呈现期间有效地背面剔除渲染图元,重要的是要确保即使原图正在移动或正在进行散焦模糊,要剔除的渲染图元也会背面。 因此,我们得出保守测试,确定移动和散焦三角形是否在整个时间间隔内和透镜区域上都背后。 此外,我们还提供仅针对运动模糊和只有景深的特殊情况的测试。
-
公开(公告)号:US09183608B2
公开(公告)日:2015-11-10
申请号:US13516781
申请日:2009-12-23
申请人: Tomas G. Akenine-Moller , Robert M. Toth , Jon N. Hasselgren , Carl J. Munkberg , Franz P. Clarberg
发明人: Tomas G. Akenine-Moller , Robert M. Toth , Jon N. Hasselgren , Carl J. Munkberg , Franz P. Clarberg
CPC分类号: G06T1/20 , G06T11/40 , G06T15/005 , G06T2210/12
摘要: Techniques are described that can delay or even prevent use of memory to store triangles associated with tiles as well as processing resources associated with vertex shading and binning triangles. The techniques can also provide better load balancing among a set of cores, and hence provide better performance. A bounding volume is generated to represent a geometry group. Culling takes place to determine whether a geometry group is to have triangles rendered. Vertex shading and association of triangles with tiles can be performed across multiple cores in parallel. Processing resources are allocated for rasterizing tiles that have been vertex shaded and binned triangles over tiles that have yet to be vertex shaded and binned triangles. Rasterization of triangles of different tiles can be performed by multiple cores in parallel.
摘要翻译: 描述了可以延迟或甚至阻止使用存储器来存储与瓦片相关联的三角形以及处理与顶点着色和合并三角形相关联的资源的技术。 这些技术还可以在一组核心之间提供更好的负载平衡,从而提供更好的性能。 生成一个边界体来表示一个几何组。 进行剔除以确定几何组是否具有呈现的三角形。 顶点阴影和三角形与瓦片的关联可以并行执行多个核心。 分配处理资源用于光栅化已经是顶点着色的瓦片,以及尚未成为顶点着色和二进制三角形的瓦片的二进制三角形。 不同瓦片三角形的光栅化可以由多个并行的核心执行。
-
公开(公告)号:US20150145873A1
公开(公告)日:2015-05-28
申请号:US13516781
申请日:2009-12-23
申请人: Tomas G. Akenine-Moller , Robert M. Toth , Jon N. Hasselgren , Carl J. Munkberg , Franz P. Clarberg
发明人: Tomas G. Akenine-Moller , Robert M. Toth , Jon N. Hasselgren , Carl J. Munkberg , Franz P. Clarberg
CPC分类号: G06T1/20 , G06T11/40 , G06T15/005 , G06T2210/12
摘要: Techniques are described that can delay or even prevent use of memory to store triangles associated with tiles as well as processing resources associated with vertex shading and binning triangles. The techniques can also provide better load balancing among a set of cores, and hence provide better performance. A bounding volume is generated to represent a geometry group. Culling takes place to determine whether a geometry group is to have triangles rendered. Vertex shading and association of triangles with tiles can be performed across multiple cores in parallel. Processing resources are allocated for rasterizing tiles that have been vertex shaded and binned triangles over tiles that have yet to be vertex shaded and binned triangles. Rasterization of triangles of different tiles can be performed by multiple cores in parallel.
摘要翻译: 描述了可以延迟或甚至阻止使用存储器来存储与瓦片相关联的三角形以及处理与顶点着色和合并三角形相关联的资源的技术。 这些技术还可以在一组核心之间提供更好的负载平衡,从而提供更好的性能。 生成一个边界体来表示一个几何组。 进行剔除以确定几何组是否具有呈现的三角形。 顶点阴影和三角形与瓦片的关联可以并行执行多个核心。 分配处理资源用于光栅化已经是顶点着色的瓦片,以及尚未成为顶点着色和二进制三角形的瓦片的二进制三角形。 不同瓦片三角形的光栅化可以由多个并行的核心执行。
-
公开(公告)号:US20140300619A1
公开(公告)日:2014-10-09
申请号:US13858988
申请日:2013-04-09
申请人: Jon N. Hasselgren , Tomas G. Akenine-Moller , Carl J. Munkberg , Jim K. Nilsson , Robert M. Toth , Franz P. Clarberg
发明人: Jon N. Hasselgren , Tomas G. Akenine-Moller , Carl J. Munkberg , Jim K. Nilsson , Robert M. Toth , Franz P. Clarberg
IPC分类号: G09G5/10
CPC分类号: G06T15/005
摘要: In accordance with some embodiments, a tile shader executes on a group of pixels prior to a pixel shader. The tile of pixels may be rectangular in some embodiments. The tile may be executed hierarchically, refining each tile into smaller subtiles until the pixel or sample level is reached. The tile shader program can be written to discard groups of pixels, thereby quickly removing areas of the bounding triangles that lie outside the shape being rasterized or quickly discarding groups of pixel shader executions that will not contribute to the final image.
摘要翻译: 根据一些实施例,瓦片着色器在像素着色器之前的一组像素上执行。 在一些实施例中,像素块可以是矩形的。 可以分层执行瓦片,将每个瓦片细化为较小的子屏幕,直到达到像素或样品级别。 可以将瓦片着色器程序写入丢弃像素组,从而快速移除位于正被光栅化的形状之外的边界三角形的区域,或快速丢弃不会对最终图像做出贡献的像素着色器执行组。
-
公开(公告)号:US20110148876A1
公开(公告)日:2011-06-23
申请号:US12644075
申请日:2009-12-22
申请人: Tomas G. Akenine-Moller , Jon N. Hasselgren , Carl J. Munkberg , Franz P. Clarberg , Robert M. Toth
发明人: Tomas G. Akenine-Moller , Jon N. Hasselgren , Carl J. Munkberg , Franz P. Clarberg , Robert M. Toth
IPC分类号: G06T15/40
摘要: During compilation, the interval bounds for a programmable culling unit are calculated if possible. For each variable, interval bounds are calculated during the compilation, and the bounds together with other metadata are used to generate an optimized culling program. If not possible, then an assumption may be made and the assumption used to compile the code. If the assumption proves to be invalid, a new assumption could be made and the code may be recompiled in some embodiments.
摘要翻译: 在编译期间,如果可能,计算可编程剔除单元的间隔范围。 对于每个变量,在编译期间计算间隔边界,并且边界与其他元数据一起用于生成优化的剔除程序。 如果不可能,则可以作出假设,并且用于编译代码的假设。 如果假设证明是无效的,则可以作出新的假设,并且在一些实施例中代码可以被重新编译。
-
-
-
-
-
-
-
-
-