9424685

Unified Rasterization and Ray Tracing Rendering Environments

PublishedAugust 23, 2016
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A machine-implemented method of rendering,images in a computer graphics system, comprising: identifying one or more visible surfaces, from among surfaces in a 3-D scene, the identified on or more visible surfaces comprising visible surfaces for a plurality of pixels located in 2-D screen space; preparing, concurrently with the identifying, to execute shaders associated with respective visible surfaces of pixels of the one or more visible surfaces that have been identified, the preparing comprising completing a respective normalized set of inputs to be provided to each shader for use during execution, the normalized set of inputs comprising a specified set of attributes regardless of whether the one or more identified surfaces were identified by ray intersection testing or scan conversion; executing each of the shaders in a computation cluster, wherein each of the executing shaders comprises one or more operations, wherein at least on of the executing shaders comprises defining one or more rays to be tested for intersection with surfaces in the 3-D scene; testing at least some of the rays for intersection concurrently with the identifying and the executing of the shaders; and shading identified intersections for rays completing intersection testing within the computation cluster.

2

2. The machine-implemented method of rendering of claim 1 , further comprising producing a 3-D viewer position from a 2-D screen space view position, and projection matrix data.

3

3. The machine-implemented method of rendering of claim 1 , wherein the intersection testing of rays is comprised by the identifying, and the preparing comprises performing an attribute interpolation for a visible surface identified through intersection testing of a ray.

4

4. The machine-implemented method of rendering of claim 2 , wherein the producing of the 3-D viewer position is performed during the completion of the normalized set of inputs.

5

5. The machine-implemented method of rendering of claim 2 , wherein the completion of the normalized set of inputs comprises producing interpolated data for attributes for a particular point on a surface, for which image attribute data is unavailable.

6

6. The machine-implemented method of rendering of claim 1 , wherein the performing visible surface identification for the plurality of pixels is performed sequentially for 2-D regions of pixels in the plurality of pixels, and for collections of rays associated with respective 3-D volumes in 3-D scene space.

7

7. The machine-implemented method of rendering of claim 1 , wherein the one or more visible surfaces comprise surfaces that have been determined visible from the view position, but which may be obscured by another surface closer to the view position.

8

8. The machine-implemented method of rendering of claim 1 , further comprising performing an entirety of the identifying of the one or more visible surfaces for each particular pixel before executing a shader for the identified one or more visible surfaces for that pixel.

9

9. The machine-implemented method of rendering of claim 1 , further comprising completing the execution of an executing shader before an intersection for a ray defined by that shader has been shaded.

10

10. The machine-implemented method of rendering of claim 1 , further comprising queuing rays defined by executing shaders and beginning to test groups of queued rays for intersection within a hierarchical acceleration structure.

11

11. The machine-implemented method of rendering of claim 1 , further comprising, during executing of the shader, accessing an API semantic that returns an interpolated attribute for the visible surface being shaded by that executing shader.

12

12. The machine-implemented method of rendering of claim 1 , further comprising during executing of the shader, accessing an API semantic that returns 3-D locational data for parameters, outputted from the identifying, and specified in the 2-D screen space.

13

13. The machine-implemented method of rendering of claim 1 , further comprising, during executing of the shader, interpolating vertex parameter data in 3-D space to produce parameter data for a point on a visible surface identified by a rasterization unit.

14

14. The machine-implemented method of rendering of claim 1 , further comprising, during executing of the shader, accessing 3-D coordinates for vertexes defining the visible surface, and determining a location on the visible surface to use as an origin for the ray.

15

15. The machine-implemented method of rendering of claim 1 , wherein the completing of the respective normalized set of inputs comprises producing said specified set of attributes, controlled by a template associated with the visible surface, for shader invocations originating from both scan conversion and from ray tracing.

16

16. An apparatus for graphics rendering, comprising: a visible surface determination module capable of scan converting 3-D scene geometry from a viewpoint and identifying visible surfaces for a set of pixels in 2-D screen space, and comprising a ray tracing intersection unit for testing rays for intersection with 3-D scene geometry, wherein the visible surface determination module performs scan conversion in a regular pattern in 2-D screen space and performs ray intersection testing by collecting rays according to regions of 3-D space and deferring commencement of testing for individual rays until dispatch within a packet of rays; a normalizer configured to provide normalized shader data for use by a shader during execution, the normalized shader data comprising a specified set of attributes regardless of whether the visible surfaces were identified by ray intersection testing or scan conversion; a pixel fragment shader configured to shade a surface visible from a pixel fragment in said 2-D screen space, identified by said visible surface determination unit, wherein the pixel fragment shader is operable to emit a ray originating from the surface being shaded, that is to be tested for intersection in the 3-D scene by the ray tracing intersection unit using ray tracing, and a ray intersection shader operable to contribute to shading o fthe visible surface associated with the pixel fragment shader, and b said ray intersection shader being independently schedulable from the pixel fragment shader that emitted the ray.

17

17. The apparatus for graphics rendering of claim 16 , wherein the surfaces in the 3-D scene are specified in a 3-D coordinate system, and the ray intersection shader is operable to express shading operations in the 3-D coordinate system.

18

18. The apparatus for graphics rendering of claim 16 , further comprising a collector to group ray intersections according to a common shader that is scheduling to be executed for each ray intersection of a collection.

19

19. A system for graphics rendering, comprising: a visible surface determination module operable to concurrently execute both ray tracing and scan conversion operations, to determine a respective visible surface within a 3-D scene, from each of one or more view positions specified to the visible surface determination module; a normalizer configured to provide normalized shader data for use by a shader during execution, the normalized shader data comprising a specified set of attributes regardless of whether the visible surfaces were identified by ray intersection testing or scan conversion; and a processor coupled to a non-transitory memory, the non-transitory memory storing instructions for configuring the processor to execute one or more surface shaders, each associated with a surface in the 3-D scene, each of the surface shaders operable to activate in response to a scan conversion input, from the visible surface determination module, comprising data for a surface in the 3-D scene visible from a pixel fragment in a 2-D screen space, and to interface with the visible surface determination module to emit a ray originating from the surface visible from the pixel fragment, that will be tested for intersection in the 3-D scene by the visible surface determination module, and activate in response to a ray tracing input, from the visible surface determination module, comprising an indication of a detected ray intersection in the 3-D scene, and responsively determine a shading effect for one or more pixel fragments the 2-D screen space.

20

20. The system for graphics rendering of claim 19 , further comprising a coordinate transform unit operable to receive origin information for the ray to be emitted, specified in a 2-D coordinate system, to convert the ray origin information into an origin specified in a 3-D coordinate system and to provide the origin specified in the 3-D coordinate system to the visible surface determination module.

Patent Metadata

Filing Date

Unknown

Publication Date

August 23, 2016

Inventors

John W. Howson
Luke Tilman Peterson

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “UNIFIED RASTERIZATION AND RAY TRACING RENDERING ENVIRONMENTS” (9424685). https://patentable.app/patents/9424685

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.