US11711494B1ActiveUtility

Automatic instancing for efficient rendering of three-dimensional virtual environment

Assignee: KATMAI TECH INCPriority: Jul 28, 2022Filed: Jul 28, 2022Granted: Jul 25, 2023
Est. expiryJul 28, 2042(~16 yrs left)· nominal 20-yr term from priority
H04N 7/157G06T 15/005G06T 17/005
96
PatentIndex Score
6
Cited by
98
References
20
Claims

Abstract

Disclosed herein is a web-based videoconference system that allows for video avatars to navigate within a virtual environment. Various methods for efficient modeling, rendering, and shading are disclosed herein.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method for efficient rendering in a three-dimensional virtual environment including a plurality of objects, each object representing a three-dimensional model, comprising:
 determining that the plurality of objects includes a group of repeating, identical three-dimensional models in the three-dimensional virtual environment; 
 generating a single instruction specifying a rendering engine to render the repeating, identical three-dimensional models in the three-dimensional virtual environment, wherein the single instruction instructs the rendering engine to rasterize the plurality of objects, and wherein the single instruction is a draw call to the rendering engine in a cross-browser JavaScript library to allow for creation of graphical processing unit (GPU)-accelerated three-dimensional animation in a web browser; and 
 inputting the single instruction into the rendering engine for execution. 
 
     
     
       2. The method of  claim 1 , wherein the draw call is to a graphics card. 
     
     
       3. The method of  claim 1 , further comprising:
 marking the plurality of objects so that when the plurality of objects is sent to the rendering engine the plurality of objects is not rendered. 
 
     
     
       4. The method of  claim 3 , wherein the marking comprises marking a scene graph. 
     
     
       5. The method of  claim 3 , wherein the marking comprises marking the objects in a scene graph, and wherein the generating the single instruction comprises adding the single instruction to the scene graph. 
     
     
       6. The method of  claim 1 , further comprising:
 de-duplicating, from the plurality of objects, textures having a same image and properties. 
 
     
     
       7. The method of  claim 1 , further comprising:
 de-duplicating, from the plurality of objects, materials having the same properties defining how the respective material reacts to light. 
 
     
     
       8. The method of  claim 1 , further comprising:
 identifying, from the plurality of objects, a plurality of materials having similar, but not identical properties defining how the respective material reacts to light; and 
 identifying a material resembling the plurality of materials; and 
 replacing the plurality of materials with the identified material. 
 
     
     
       9. The method of  claim 8 , further comprising de-duplicating the plurality of materials. 
     
     
       10. A computer-readable non-transitory storage medium comprising instructions which, when executed by a computer, cause the computer to carry out operations for efficient rendering of a three-dimensional virtual environment, the operations comprising:
 determining that a plurality of objects includes a group of repeating, identical three-dimensional models in the three-dimensional virtual environment; 
 generating a single instruction specifying a rendering engine to render the repeating, identical three-dimensional models in the three-dimensional virtual environment, wherein the single instruction instructs the rendering engine to rasterize the plurality of objects, and wherein the single instruction is a draw call to the rendering engine in a cross-browser JavaScript library to allow for creation of graphical processing unit (GPU)-accelerated three-dimensional animation in a web browser; and 
 inputting the single instruction into the rendering engine for execution. 
 
     
     
       11. The computer-readable non-transitory storage medium of  claim 10 , wherein the draw call is to a graphics card. 
     
     
       12. The computer-readable non-transitory storage medium of  claim 10 , the operations further comprising:
 marking the plurality of objects so that when the plurality of objects are sent to the rendering engine they are not rendered. 
 
     
     
       13. The computer-readable non-transitory storage medium of  claim 12 , wherein the marking comprises marking objects in a scene graph. 
     
     
       14. The computer-readable non-transitory storage medium of  claim 12 , wherein the marking comprises marking the objects in a scene graph, and wherein the generating the single instruction comprises adding the single instruction to the scene graph. 
     
     
       15. The computer-readable non-transitory storage medium of  claim 10 , the operations further comprising:
 de-duplicating, from the plurality of objects, textures having a same image and properties. 
 
     
     
       16. The computer-readable non-transitory storage medium of  claim 10 , the operations further comprising:
 identifying, from the plurality of objects, a plurality of materials having similar, but not identical properties defining how the respective material reacts to light; and 
 identifying a material resembling the plurality of materials; and 
 replacing the plurality of materials with the identified material. 
 
     
     
       17. The computer-readable non-transitory storage medium of  claim 16 , the operations further comprising de-duplicating the plurality of materials. 
     
     
       18. The computer-readable non-transitory storage medium of  claim 17 , wherein the three-dimensional virtual environment includes a representation of a second participant to the conference, the representation being navigable within the three-dimensional virtual environment by the second participant and having mapped thereto video captured of the second participant. 
     
     
       19. The computer-readable non-transitory storage medium of  claim 10 , further comprising presenting a rendered image of the three-dimensional virtual environment from the rendering engine to a first participant to a conference, wherein a virtual camera used by the rendering engine to generate the rendered image is navigable within the three-dimensional virtual environment by the first participant. 
     
     
       20. A system for efficient rendering in a three-dimensional virtual environment including a plurality of objects, each object representing a three-dimensional model, comprising:
 a memory; 
 a processor coupled to the memory; 
 a rendering engine executable by the processor; and 
 a model optimizer executable by the processor and configured to:
 (i) determine that the plurality of objects includes a group of repeating, identical three-dimensional models in the three-dimensional virtual environment, 
 (ii) generate a single instruction specifying the rendering engine to render the repeating, identical three-dimensional models in the three-dimensional virtual environment, and 
 (iii) input the single instruction into the rendering engine for execution.

Join the waitlist — get patent alerts

Track US11711494B1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.