| CPC G06T 15/06 (2013.01) [G06T 1/60 (2013.01); G06T 9/001 (2013.01); G06T 15/005 (2013.01); G06T 15/40 (2013.01); G06T 15/50 (2013.01); G06T 17/10 (2013.01); G06T 17/20 (2013.01); G06T 17/205 (2013.01); G06T 19/20 (2013.01); G06T 2210/08 (2013.01); G06T 2210/12 (2013.01); G06T 2210/21 (2013.01); G06T 2210/36 (2013.01); G06T 2219/2016 (2013.01)] | 20 Claims |

|
1. A ray tracing acceleration hardware device, comprising:
a memory access circuit configured to read a plurality of nodes of an acceleration structure (AS) including a node comprising a polygon mesh primitive defining plural regions in the node, and a visibility mask (VM) corresponding to the node, wherein the VM comprises a respective visibility state for each of the plural regions of the polygon mesh;
ray storage configured to store data representing a ray; and
acceleration circuitry configured to perform operations comprising:
detecting an intersection of the node by the ray at an intersection point;
obtaining, from the VM, a visibility state of a region corresponding to the intersection point, wherein the region is one of the plural regions in the mesh; and
determining, based on the visibility state, how to process the intersection,
wherein the obtaining, from the VM, a visibility state of a region in the polygon mesh, comprises:
determining, based on the intersection point, an index into the VM; and
obtaining, by accessing the VM using the index, the visibility state of the region,
wherein the polygon mesh is a mesh of micro-triangles overlaid on a triangle geometric primitive, and where the determining an index into the VM comprises:
calculating, based on coordinates of the intersection point, a barycentric coordinate of the region; and
calculating the index based on the barycentric coordinate.
|