Abstract:
A restart method of traversing a binary tree in a ray tracing system includes traversing a tree consisting of a hierarchical acceleration structure using one-bit stacks respectively assigned to levels of the binary tree and restarting at a highest level at which a corresponding one-bit stack has a value indicating that a child node has not yet been traversed, thereby decreasing the capacity of a stack memory required.
Abstract:
A rendering system includes: a ray generator configured to generate a ray; a memory chip configured to store information about objects in three-dimensional (3D) space; an intersection tester embedded in the memory chip and configured to perform an intersection test between the ray and the objects by using the information about the objects and information about the ray; and a shader configured to perform pixel shading based on a result of the intersection test.
Abstract:
A method of generating a ray tracing acceleration structure includes transformatively mapping locations of object primitives in a three dimensional first space into Morton codes indicating respective locations of the primitives along a meandering linear path through the first space; determining a Morton distance indicating a difference between a first Morton code corresponding with a first primitive and a second Morton code corresponding with a second primitive; generating an acceleration structure to include nodes representing portions of the first space and adaptively adjusting a reference level of the acceleration structure, based on the Morton distance between primitives; and dividing the first space using a first division method when a level of a first node of the acceleration structure which corresponds to the first space is lower than the reference level, and dividing the first space using a second division method when the level of the first node exceeds the reference level.
Abstract:
A method and apparatus to perform a ray-node intersection test are provided. The method includes receiving an input representing coordinates of a bounding box and an origin coordinate of a ray as fixed-point numbers, obtaining difference values between the input coordinates of the bounding box and the origin coordinate, and obtaining multiplication values between the obtained difference values and a reciprocal number of a direction vector of the ray, where the reciprocal number is a floating-point number.
Abstract:
A hybrid rendering method includes subdividing a two-dimensional (2D) frame into virtual tiles (hereinafter, referred to as ‘tiles’); classifying the tiles into first tiles which include an object having reflective or transparent properties and second tiles which do not include the object having reflective or transparent properties; storing geometric information of a primitive in the first tiles in a graphics processing unit (GPU) internal memory; and generating a first image by rendering one or more of the first tiles via ray tracing using the geometric information, generating a second image by rendering one or more of the second tiles via rasterization, and outputting a final image by merging the first and second images.
Abstract:
A method of processing ray tracing comprising acquiring information about a light source and a bounding box that are located in a three-dimensional graphics (3D) graphics environment, the bounding box containing an object; testing whether a ray generated by the light source intersects the bounding box along each of first to third coordinate axes that define the 3D graphics environment based on the acquired information; and rendering the object in response to a result of the testing being that the ray intersects the bounding box along all of the first through third coordinate axes.
Abstract:
A data processing method and a data processing apparatus are provided. The data processing method includes storing ray data in an input buffer, requesting shape data that is used in ray tracing of the ray data, acquiring additional information corresponding to the shape data in response to the request and storing the additional information in a storage space allocated to the ray data, and determining an output order of pieces of ray data stored in the input buffer, based on the additional information.
Abstract:
A method of removing an intersection test error in ray tracing includes obtaining an intersection by performing an intersection test on a ray and a primitive; determining location information of the intersection indicating whether the intersection is located inside or outside an object; determining an intersection error based on comparing the location information of the intersection to path information of the ray.