Object visibility control for ray tracing
    2.
    发明授权
    Object visibility control for ray tracing 有权
    光线跟踪的对象可见性控制

    公开(公告)号:US06956570B2

    公开(公告)日:2005-10-18

    申请号:US09894225

    申请日:2001-06-27

    申请人: Aaftab A. Munshi

    发明人: Aaftab A. Munshi

    IPC分类号: G06T15/06 G06T15/40 G06T15/00

    CPC分类号: G06T15/40 G06T15/06

    摘要: A computer graphics method and apparatus allows designer control over the rendering of objects and scenes, in a rendering system using ray tracing for example. A modeling system is adapted to accept rules for controlling how certain objects affect the appearance of certain other objects. In a ray tracing implementation, rules are specified by ray type and can be specified as either “including” all but certain objects or “excluding” specific objects for any given object. A rendering system extracts these rules from a bytestream or other input including other graphics data and instructions, and populates lists for internal use by other components of the rendering system. A ray tracer in the rendering system is adapted to consult the list when performing ray tracing, so as to enforce the rendering control specified by the content creator when the objects and scene are rendered.

    摘要翻译: 计算机图形方法和装置允许设计者在使用例如光线跟踪的渲染系统中对对象和场景的渲染进行控制。 建模系统适于接受用于控制某些对象如何影响某些其他对象的外观的规则。 在光线跟踪实现中,规则由射线类型指定,并且可以被指定为除了某些对象之外的所有对象或者“排除”任何给定对象的特定对象。 渲染系统从字节流或包括其他图形数据和指令的其他输入中提取这些规则,并填充列表以供呈现系统的其他组件内部使用。 渲染系统中的光线跟踪器适于在执行光线跟踪时参考列表,以便在渲染对象和场景时强制内容创建者指定的渲染控制。

    Multi-dimensional thread grouping for multiple processors

    公开(公告)号:US09720726B2

    公开(公告)日:2017-08-01

    申请号:US13534900

    申请日:2012-06-27

    IPC分类号: G06F9/46 G06F9/48 G06F9/50

    摘要: A method and an apparatus that partition a total number of threads to concurrently execute executable codes compiled from a single source for target processing units in response to an API (Application Programming Interface) request from an application running in a host processing unit are described. The total number of threads is based on a multi-dimensional value for a global thread number specified in the API. The target processing units include GPUs (Graphics Processing Unit) and CPUs (Central Processing Unit). Thread group sizes for the target processing units are determined to partition the total number of threads according to either a dimension for a data parallel task associated with the executable codes or a dimension for a multi-dimensional value for a local thread group number. The executable codes are loaded to be executed in thread groups with the determined thread group sizes concurrently in the target processing units.

    Method and apparatus for implementing level of detail with ray tracing
    4.
    发明授权
    Method and apparatus for implementing level of detail with ray tracing 有权
    用光线跟踪实现细节水平的方法和装置

    公开(公告)号:US07791602B2

    公开(公告)日:2010-09-07

    申请号:US11464435

    申请日:2006-08-14

    IPC分类号: G06T17/00

    摘要: The present invention relates to computer graphics applications involving scene rendering using objects modeled at multiple levels of detail. In accordance with an aspect of the invention, a ray tracer implementation allows users to specify multiple versions of a particular object, categorized by LOD ID's. A scene server selects the version appropriate for the particular scene, based on the size of the object on the screen for example, and provides a smooth transition between multiple versions of an object model. In one example, the scene server will select two LOD representations associated with a given object and assign relative weights to each representation. The LOD weights are specified to indicate how to blend these representations together. A ray tracer computes the objects hit by camera rays associated with pixels in the camera window, as well as secondary rays in recursive implementations, and rays striking LOD objects are detected and shaded in accordance with the weights assigned to the different representations. Embodiments are disclosed for level of detail control using both forward ray tracing and backward ray tracing, including handling of camera rays, reflected rays, refracted rays and shadow rays.

    摘要翻译: 本发明涉及涉及使用以多级细节建模的对象的场景渲染的计算机图形应用。 根据本发明的一个方面,光线跟踪器实现允许用户指定由LOD ID分类的特定对象的多个版本。 场景服务器根据屏幕上的对象的大小来选择适合特定场景的版本,并提供对象模型的多个版本之间的平滑过渡。 在一个示例中,场景服务器将选择与给定对象相关联的两个LOD表示,并为每个表示分配相对权重。 指定LOD权重以指示如何将这些表示组合在一起。 光线跟踪器计算与相机窗口中的像素相关联的相机光线所击中的物体以及递归实现中的二次光线,并且根据分配给不同表示的权重来检测和遮蔽发射到LOD物体的光线。 公开了使用前向射线跟踪和向后光线跟踪的细节控制水平的实施例,包括相机射线,反射射线,折射射线和阴影射线的处理。

    Method and system for digital rendering over a network
    5.
    发明授权
    Method and system for digital rendering over a network 有权
    通过网络进行数字渲染的方法和系统

    公开(公告)号:US07689717B1

    公开(公告)日:2010-03-30

    申请号:US11515371

    申请日:2006-08-31

    IPC分类号: G06F15/16

    摘要: A method, system, computer program product, and protocol for digital rendering over a network is described. Rendering resources associated with a project are stored in a project resource pool at a rendering service site, and for each rendering request received from a client site the project resource pool is compared to current rendering resources at the client site. A given rendering resource is uploaded from the client site to the rendering service only if the project resource pool does not contain the current version, thereby conserving bandwidth. In accordance with a preferred embodiment, redundant generation of raw rendering resource files is avoided by only generating those raw rendering resource files not mated with generated rendering resource files. Methods for reducing redundant generation of raw resources are also described, as well as methods for statistically reducing the number of raw resource files required to be uploaded to the rendering service for multi-frame sessions. The preferred embodiments are particularly advantageous for remote rendering services at a different site from the client and connected across the Internet or a Wide Area Network, but may also be applied where the rendering service is co-located with the client site and connected thereto by a Local Area Network (LAN).

    摘要翻译: 描述了一种通过网络进行数字渲染的方法,系统,计算机程序产品和协议。 与项目相关联的渲染资源存储在渲染服务站点的项目资源池中,并且对于从客户端站点接收的每个呈现请求,将项目资源池与客户端站点上的当前呈现资源进行比较。 只有当项目资源池不包含当前版本时,给定的渲染资源才从客户端站点上传到渲染服务,从而节省带宽。 根据优选实施例,通过仅生成与生成的渲染资源文件不匹配的原始渲染资源文件来避免原始渲染资源文件的冗余生成。 还描述了用于减少冗余生成原始资源的方法,以及用于统计地减少要上传到多帧会话的呈现服务的原始资源文件的数量的方法。 优选实施例对于在与客户端不同的站点处的远程呈现服务是特别有利的,并且通过互联网或广域网连接,但是也可以应用于呈现服务与客户端站点共同位置并且通过 局域网(LAN)。

    Method and apparatus for graphics processing in a handheld device

    公开(公告)号:US06919908B2

    公开(公告)日:2005-07-19

    申请号:US10635379

    申请日:2003-08-06

    IPC分类号: G06T11/40 G06T15/30 G09G5/00

    CPC分类号: G06T11/40

    摘要: The present invention includes a method and apparatus for graphics processing in a handheld device including a transform engine capable of receiving vertex information. The transform engine generates a plurality of vertices from the vertex information, wherein each of the vertices includes a corresponding bin identifier. The method and apparatus further includes view frame factors defining a clipping region such that when any of the plurality of vertices is within the clipping region, a clip identifier is generated for that vertex using the corresponding bin identifier. A vertex shader coupled to a clipping module, wherein the clipping module generates supplemental vertices and the vertex shader receives the supplemental vertices therefrom. The vertex shader combines the supplemental vertices with the bin identifiers and are provided to a vertex buffer.

    Application programming interfaces for data parallel computing on multiple processors
    7.
    发明授权
    Application programming interfaces for data parallel computing on multiple processors 有权
    用于多个处理器上的数据并行计算的应用程序编程接口

    公开(公告)号:US08806513B2

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

    申请号:US13646552

    申请日:2012-10-05

    摘要: A method and an apparatus for a parallel computing program calling APIs (application programming interfaces) in a host processor to perform a data processing task in parallel among compute units are described. The compute units are coupled to the host processor including central processing units (CPUs) and graphic processing units (GPUs). A program object corresponding to a source code for the data processing task is generated in a memory coupled to the host processor according to the API calls. Executable codes for the compute units are generated from the program object according to the API calls to be loaded for concurrent execution among the compute units to perform the data processing task.

    摘要翻译: 描述了用于在主处理器中调用API(应用程序编程接口)并行计算程序的方法和装置,以在计算单元之间并行地执行数据处理任务。 计算单元耦合到主处理器,包括中央处理单元(CPU)和图形处理单元(GPU)。 根据API调用在与主机处理器耦合的存储器中产生与数据处理任务的源代码相对应的程序对象。 计算单元的可执行代码根据要在计算单元之间并行执行的API调用从程序对象生成以执行数据处理任务。

    Subbuffer objects
    8.
    发明授权
    Subbuffer objects 有权
    Subbuffer对象

    公开(公告)号:US08723877B2

    公开(公告)日:2014-05-13

    申请号:US12892834

    申请日:2010-09-28

    IPC分类号: G06F15/167

    摘要: A method and an apparatus for a parallel computing program using subbuffers to perform a data processing task in parallel among heterogeneous compute units are described. The compute units can include a heterogeneous mix of central processing units (CPUs) and graphic processing units (GPUs). A system creates a subbuffer from a parent buffer for each of a plurality of heterogeneous compute units. If a subbuffer is not associated with the same compute unit as the parent buffer, the system copies data from the subbuffer to memory of that compute unit. The system further tracks updates to the data and transfers those updates back to the subbuffer.

    摘要翻译: 描述了使用子缓冲器在异构计算单元之间并行执行数据处理任务的并行计算程序的方法和装置。 计算单元可以包括中央处理单元(CPU)和图形处理单元(GPU)的异构混合。 系统从多个异构计算单元中的每一个的父缓冲器创建子缓冲器。 如果子缓冲区未与父缓冲区相同的计算单元关联,则系统将数据从子缓冲区复制到该计算单元的存储器。 该系统进一步跟踪数据的更新并将这些更新传送回子缓冲区。

    MULTI-DIMENSIONAL THREAD GROUPING FOR MULTIPLE PROCESSORS
    9.
    发明申请
    MULTI-DIMENSIONAL THREAD GROUPING FOR MULTIPLE PROCESSORS 审中-公开
    多处理器的多维螺纹组

    公开(公告)号:US20120320071A1

    公开(公告)日:2012-12-20

    申请号:US13534900

    申请日:2012-06-27

    IPC分类号: G06T1/00

    摘要: A method and an apparatus that determine a total number of threads to concurrently execute executable codes compiled from a single source for target processing units in response to an API (Application Programming Interface) request from an application running in a host processing unit are described. The target processing units include GPUs (Graphics Processing Unit) and CPUs (Central Processing Unit). Thread group sizes for the target processing units are determined to partition the total number of threads according to a multi-dimensional global thread number included in the API request. The executable codes are loaded to be executed in thread groups with the determined thread group sizes concurrently in the target processing units.

    摘要翻译: 描述了响应于来自在主机处理单元中运行的应用的API(应用程序编程接口)请求,确定用于目标处理单元从单个源编译的并行执行可执行代码的总线程数的方法和装置。 目标处理单元包括GPU(图形处理单元)和CPU(中央处理单元)。 根据API请求中包含的多维全局线程号,确定目标处理单元的线程组大小以分配总线程数。 可执行代码被加载以在目标处理单元中并发确定的线程组大小的线程组中执行。

    Multi-dimensional thread grouping for multiple processors
    10.
    发明授权
    Multi-dimensional thread grouping for multiple processors 有权
    多处理器的多维线程分组

    公开(公告)号:US08225325B2

    公开(公告)日:2012-07-17

    申请号:US12264894

    申请日:2008-11-04

    IPC分类号: G06F9/50

    摘要: A method and an apparatus that determine a total number of threads to concurrently execute executable codes compiled from a single source for target processing units in response to an API (Application Programming Interface) request from an application running in a host processing unit are described. The target processing units include GPUs (Graphics Processing Unit) and CPUs (Central Processing Unit). Thread group sizes for the target processing units are determined to partition the total number of threads according to a multi-dimensional global thread number included in the API request. The executable codes are loaded to be executed in thread groups with the determined thread group sizes concurrently in the target processing units.

    摘要翻译: 描述了响应于来自在主机处理单元中运行的应用的API(应用程序编程接口)请求,确定用于目标处理单元从单个源编译的并行执行可执行代码的总线程数的方法和装置。 目标处理单元包括GPU(图形处理单元)和CPU(中央处理单元)。 根据API请求中包含的多维全局线程号,确定目标处理单元的线程组大小以分配总线程数。 可执行代码被加载以在目标处理单元中并发确定的线程组大小的线程组中执行。