Computer-implemented methods for generating level of detail assets for dynamic rendering during a videogame session
AssigneeActivision Publishing, Inc.
InventorsJohan Kohler, Josiah Michael Bartoszek Manson
Life of this patent
Estimating the term…
Abstract
The present specification discloses systems and methods of creating a point cloud around a portion of a virtual landscape of a video game. A mesh is generated based on the point cloud, and then the mesh is simplified to create a series of proxy meshes that are dynamically used to render level of detail (LOD) visual assets.
Claims19
A method of generating level of detail (LOD) visual assets of a virtual landscape for rendering in a video game, the method comprising:
- creating a point cloud around a portion of the virtual landscape, wherein said point cloud comprises a plurality of data points and wherein each of the plurality of data points comprises a) data representative of a coordinate of said data point's location in world coordinates within the virtual landscape and b) data that defines at least one normal vector geometrically characterizing a tangential face to a pixel that would be rendered at the data point's location;
- generating a mesh based on the point cloud;
- and
- simplifying the mesh to create a series of proxy meshes, wherein the proxy meshes are dynamically rendered during an execution of the video game and as the LOD visual asset changes for the portion of the virtual landscape.
A computer readable non-transitory medium comprising a plurality of executable programmatic instructions wherein, when said plurality of executable programmatic instructions are executed by a processor in a computing device, a process for generating level of detail (LOD) of visual assets of a virtual landscape, for rendering in a video game, the plurality of executable programmatic instructions comprising:
- creating, by an LOD management module, a point cloud around a portion of the virtual landscape, wherein said point cloud comprises a plurality of data points and wherein each of the plurality of data points comprises a) data representative of a coordinate of said data point's location in world coordinates within the virtual landscape and b) data that defines at least one normal vector geometrically characterizing a tangential face to a pixel that would be rendered at the data point's location;
- generating, by the LOD management module, a mesh based on the point cloud;
- and
- simplifying, by the LOD management module, the mesh to create a series of proxy meshes, wherein the proxy meshes are dynamically rendered during execution of the video game and as the LOD visual asset changes for the portion of the virtual landscape.
A method of generating level of detail (LOD) visual assets of a virtual landscape, for rendering in a video game, comprising creating a point cloud around a portion of the virtual landscape by placing one or more virtual imaging probes in at least one location in the portion of the virtual landscape, wherein the method for placing one or more virtual imaging probes comprises:
- assigning a value to each quad in a mesh;
- creating a cube map by rendering six images, using a graphical processing unit (GPU), for a center point of all nodes in an octree that is not a leaf node;
- checking, using the GPU, for values of zero for each pixel in the six images;
- creating a node bit array list of bit arrays read back from the GPU;
- creating a work bit array, wherein each bit in the work bit array is set to zero;
- counting a number for set bits from the node bit array list where a corresponding bit in the work bit array is not set;
- selecting a node with the largest counted value and for each of the bits that are set in the node bit array, setting the bits in the work bit array;
- adding a center position of the selected node to a list of final node positions;
- removing any nodes that do not have any corresponding bits set in the work bit array from the node bit array list;
- and
- generating a result in the form of a final nodes position list once all the nodes in the node list have been covered.
Dependencies are inferred from the claim text.