Techniques for automatic occluder simplification using planar sections
AssigneeUmbra Software Ltd.
InventorsAri Silvennoinen, Hannu Saransaari, Otso Mäkinen
Life of this patent
Estimating the term…
Abstract
Techniques are disclosed for simplifying an occluder representing 3D graphics data. Graphics data corresponding to one or more 3D objects is voxelized. A plurality of planes is generated to intersect the voxelized graphics data. Intersections between the planes and the voxelized graphics data are evaluated to identify corresponding slice polygons from the intersections. A subset of the planes is selected to maximize a correctness of a simplified occluder. The simplified occluder representing the object is generated from a union of the selected subset of the planes.
Claims17
A method for simplifying an occluder representing 3D graphics data, the method comprising:
- voxelizing the graphics data corresponding to one or more 3D objects;
- generating a plurality of planes to intersect the voxelized graphics data;
- evaluating intersections between the planes and the voxelized graphics data to identify corresponding slice polygons from the intersections, wherein evaluating the intersections comprises, for each intersecting plane:
- extracting edge loops from a bitmap image representation of an interior of the 3D object in the intersecting plane, and
- converting each edge loop into the corresponding slice polygons;
- selecting a subset of the planes to maximize a correctness of a simplified occluder;
- and
- generating the simplified occluder representing each 3D object from a union of the selected subset of the planes.
A non-transitory computer-readable storage medium storing instructions, which, when executed on a processor, perform an operation for simplifying an occluder representing 3D graphics data, the method comprising:
- voxelizing the graphics data corresponding to one or more 3D objects;
- generating a plurality of planes to intersect the voxelized graphics data;
- evaluating intersections between the planes and the voxelized graphics data to identify corresponding slice polygons from the intersections, wherein evaluating the intersections comprises, for each intersecting plane:
- extracting edge loops from a bitmap image representation of an interior of the 3D object in the intersecting plane, and
- converting each edge loop into the corresponding slice polygons;
- selecting a subset of the planes to maximize a correctness of a simplified occluder;
- and
- generating the simplified occluder representing each 3D object from a union of the selected subset of the planes.
A system, comprising:
- a processor;
- and
- a memory hosting a program, which, when executed on the processor, performs an operation for simplifying an occluder representing 3D graphics data, the operation comprising:
- voxelizing the graphics data corresponding to one or more 3D objects;
- generating a plurality of planes to intersect the voxelized graphics data;
- evaluating intersections between the planes and the voxelized graphics data to identify corresponding slice polygons from the intersections, wherein evaluating the intersections comprises, for each intersecting plane:
- extracting edge loops from a bitmap image representation of an interior of the 3D object in the intersecting plane, and
- converting each edge loop into the corresponding slice polygons;
- selecting a subset of the planes to maximize a correctness of a simplified occluder;
- and
- generating the simplified occluder representing each 3D object from a union of the selected subset of the planes.
Dependencies are inferred from the claim text.