Temporal split techniques for motion blur and ray intersection

    公开(公告)号:US11676327B2

    公开(公告)日:2023-06-13

    申请号:US17205680

    申请日:2021-03-18

    Applicant: Apple Inc.

    CPC classification number: G06T15/06 G06F16/9027 G06T15/005

    Abstract: Techniques are disclosed relating to ray intersection in the context of motion blur. In some embodiments, a graphics processor includes time-oblivious ray intersect circuitry configured to receive coordinates for a ray and traverse a bounding volume hierarchy (BVH) data structure based on the coordinates to determine whether the ray intersects with one or more bounding regions of a graphics space. In some embodiments, in response to reaching a temporal branch element of the BVH data structure, the ray intersect circuitry initiates a shader program that determines a sub-tree of the BVH data structure for further traversal by the ray intersection circuitry, where the sub-tree corresponds to a portion of a motion-blur interval in which the ray falls. This may provide accurate ray tracing for motion blur while reducing area and power consumption of intersect circuitry, relative to time-aware implementations.

    Temporal Split Techniques for Motion Blur and Ray Intersection

    公开(公告)号:US20220301254A1

    公开(公告)日:2022-09-22

    申请号:US17205680

    申请日:2021-03-18

    Applicant: Apple Inc.

    Abstract: Techniques are disclosed relating to ray intersection in the context of motion blur. In some embodiments, a graphics processor includes time-oblivious ray intersect circuitry configured to receive coordinates for a ray and traverse a bounding volume hierarchy (BVH) data structure based on the coordinates to determine whether the ray intersects with one or more bounding regions of a graphics space. In some embodiments, in response to reaching a temporal branch element of the BVH data structure, the ray intersect circuitry initiates a shader program that determines a sub-tree of the BVH data structure for further traversal by the ray intersection circuitry, where the sub-tree corresponds to a portion of a motion-blur interval in which the ray falls. This may provide accurate ray tracing for motion blur while reducing area and power consumption of intersect circuitry, relative to time-aware implementations.

    System And Method For Unified Application Programming Interface And Model
    3.
    发明申请
    System And Method For Unified Application Programming Interface And Model 审中-公开
    统一应用编程接口与模型的系统与方法

    公开(公告)号:US20150348225A1

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

    申请号:US14502073

    申请日:2014-09-30

    Applicant: Apple Inc.

    CPC classification number: G06T1/20 G06F9/30145 G06F9/545 G06T2200/28

    Abstract: Systems, computer readable media, and methods for a unified programming interface and language are disclosed. In one embodiment, the unified programming interface and language assists program developers write multi-threaded programs that can perform both graphics and data-parallel compute processing on GPUs. The same GPU programming language model can be used to describe both graphics shaders and compute kernels, and the same data structures and resources may be used for both graphics and compute operations. Developers can use multithreading efficiently to create and submit command buffers in parallel.

    Abstract translation: 公开了用于统一编程接口和语言的系统,计算机可读介质和方法。 在一个实施例中,统一编程接口和语言协助程序开发人员编写可以对GPU执行图形和数据并行计算处理的多线程程序。 可以使用相同的GPU编程语言模型来描述图形着色器和计算内核,并且相同的数据结构和资源可用于图形和计算操作。 开发人员可以有效地使用多线程来并行创建和提交命令缓冲区。

    Graphics Pipeline State Object And Model
    6.
    发明申请
    Graphics Pipeline State Object And Model 审中-公开
    图形管道状态对象和模型

    公开(公告)号:US20150348224A1

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

    申请号:US14501933

    申请日:2014-09-30

    Applicant: Apple Inc.

    CPC classification number: G06T1/20 G06F3/14 G06F8/47 G06T15/80 G06T2200/28

    Abstract: An innovative GPU framework and related APIs present more accurate representations of the target hardware so that the distinctions between the fixed-function and programmable features of the GPU are perceived by a developer. This permits a program and/or a graphics object generated or manipulated by the program to be understood as not just code, but machine states that are associated with the code. When such an object is defined, the definitional components requiring programmable GPU features can be compiled only once and reused repeatedly as needed. Similarly, when a state change is made, the state changes correspond to the state changes made on the hardware. Additionally, the creation of these immutable objects prevents a developer from inadvertently changing portions of the program or object that cause it to behave differently than intended.

    Abstract translation: 创新的GPU框架和相关的API提供目标硬件的更准确的表示,以便GPU的固定功能和可编程功能之间的区别被开发人员所感知。 这允许由程序生成或操纵的程序和/或图形对象被理解为不仅仅是代码,而是与代码相关联的机器状态。 当定义这样的对象时,需要可编程GPU特征的定义组件只能编译一次,并根据需要重复使用。 类似地,当进行状态改变时,状态改变对应于在硬件上进行的状态改变。 另外,这些不可变对象的创建可以防止开发人员无意中更改程序或对象的部分内容,导致其行为与预期的不同。

    Local image blocks for graphics processing

    公开(公告)号:US10445852B2

    公开(公告)日:2019-10-15

    申请号:US15388804

    申请日:2016-12-22

    Applicant: Apple Inc.

    Abstract: Techniques are disclosed relating to a hardware-supported flexible data structure for graphics processing. In some embodiments, dimensions of the data structure are configurable in an X direction, a Y direction, a number of samples per pixel, and an amount of data per sample. In some embodiments, these attributes are configurable using hardware registers. In some embodiments, the data structure is persistent across a tile being processed such that local memory context is accessible to both rendering threads of a render pass and mid-render compute threads.

    System and method for unified application programming interface and model

    公开(公告)号:US10346941B2

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

    申请号:US14502073

    申请日:2014-09-30

    Applicant: Apple Inc.

    Abstract: Systems, computer readable media, and methods for a unified programming interface and language are disclosed. In one embodiment, the unified programming interface and language assists program developers write multi-threaded programs that can perform both graphics and data-parallel compute processing on GPUs. The same GPU programming language model can be used to describe both graphics shaders and compute kernels, and the same data structures and resources may be used for both graphics and compute operations. Developers can use multithreading efficiently to create and submit command buffers in parallel.

    Local Image Blocks for Graphics Processing
    10.
    发明申请

    公开(公告)号:US20180182058A1

    公开(公告)日:2018-06-28

    申请号:US15388804

    申请日:2016-12-22

    Applicant: Apple Inc.

    Abstract: Techniques are disclosed relating to a hardware-supported flexible data structure for graphics processing. In some embodiments, dimensions of the data structure are configurable in an X direction, a Y direction, a number of samples per pixel, and an amount of data per sample. In some embodiments, these attributes are configurable using hardware registers. In some embodiments, the data structure is persistent across a tile being processed such that local memory context is accessible to both rendering threads of a render pass and mid-render compute threads.

Patent Agency Ranking