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.
Abstract:
A method of performing path stroking includes determining whether or not aliasing based on a primitive included in a path will occur using data about the path, generating a texture to be used for performing path stroking based on a result of the determining, and mapping the texture along an edge of the primitive.
Abstract:
A method of rendering an object including a path formed by a primitive includes: generating a tree corresponding to spaces partitioned by the primitive; selecting a pixel from the partitioned spaces; and acquiring a winding number of the selected pixel by detecting the tree.
Abstract:
A method to render an object including a path includes: determining a split line to split a frame; allocating information about the path to a first tile through which the path passes and to a second tile located between the first tile and the split line, among tiles included in the frame; and determining respective winding numbers for the first tile and the second tile, based on information about the allocated path.
Abstract:
A method of performing path rendering includes selecting a tile including a path from tiles in a frame based on tile bin data, splitting the selected tile into a plurality of first sub-tiles, selecting a first sub-tile that does not include the path from the plurality of first sub-tiles, and updating an initial winding number of the selected first sub-tile. The tile bin data includes an initial winding number of each of the tiles in the frame.
Abstract:
Provided are an apparatus and method for generating an acceleration structure in a ray tracing system. The method of generating an acceleration structure includes splitting, at an acceleration structure generator, a space comprising a three-dimensional (3D) object into a plurality of sub spaces, calculating costs for traversing the plurality of sub spaces based on occlusion information of primitives in the plurality of sub spaces, selecting the plurality of sub spaces that minimize the costs for traversing, and generating an acceleration structure based on setting the selected plurality of sub spaces as nodes.
Abstract:
A method and apparatus to perform tile binning for tile-based rendering include obtaining information about paths defining an object to be rendered. The method classifies one of the paths into a first group and another of the paths into a second group based on shapes of the paths, and performs the tile binning based on the classification.
Abstract:
A method of traversing an acceleration structure (AS) in a ray tracing system includes obtaining information about child nodes of a target node included in the AS; determining whether each of the child nodes intersects a ray based on the obtained information; determining a next target node among at least one child node that intersects the ray; and performing an operation corresponding to a type of the determined next target node.
Abstract:
Methods and apparatus for ray tracing, and methods and apparatus for generating acceleration structure or traversing acceleration structure are provided. A method of generating an acceleration structure includes assigning objects into bounding boxes, generating an acceleration structure comprising nodes and indicating inclusion relationships between the bounding boxes, and marking overlapping nodes among the nodes.
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.