MULTISCALE THREE-DIMENSIONAL NAVIGATION
First Claim
1. A computer-implemented method for providing a multiscale three-dimensional (3D) navigation environment, the method comprising:
- obtaining a set of distance values indicating distances between a camera and at least one closest fragment of associated with one or more geometric objects in a 3D scene environment;
computing a scale for the 3D scene environment based on the set of distance values, wherein the scale indicates a relationship between a control unit of the 3D scene environment and a display unit of a rendered frame;
rendering the 3D scene environment as viewed from the camera to produce a rendered frame; and
storing the rendered frame in a memory or displaying the rendered frame on a display device.
1 Assignment
0 Petitions
Accused Products
Abstract
One embodiment of the present invention sets forth a technique for providing an end user with a multiscale three-dimensional (3D) navigation experience in design software application programs. An adaptive multiscale 3D navigation system allows an end user to transition between a planetary scale down to an individual building scale. The end user may navigate within the building, inspecting object details within the building. The size of the environment is sensed automatically, and the viewing and travel parameters are adjusted accordingly to provide the end user with a seamless navigation experience. A consistent navigation experience is supported at various scales, and real-time collision detection is provided. Scale computation for 3D scenes and collision detection may be based on a generated depth cubemap of the environment.
-
Citations
20 Claims
-
1. A computer-implemented method for providing a multiscale three-dimensional (3D) navigation environment, the method comprising:
-
obtaining a set of distance values indicating distances between a camera and at least one closest fragment of associated with one or more geometric objects in a 3D scene environment; computing a scale for the 3D scene environment based on the set of distance values, wherein the scale indicates a relationship between a control unit of the 3D scene environment and a display unit of a rendered frame; rendering the 3D scene environment as viewed from the camera to produce a rendered frame; and storing the rendered frame in a memory or displaying the rendered frame on a display device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium including instructions that, when executed by a processing unit, cause the processing unit to provide a multiscale three-dimensional (3D) navigation environment, by performing the steps of:
-
obtaining a set of distance values indicating distances between a camera and at least one closest fragment associated with one or more geometric objects in a 3D scene environment; computing a scale for the 3D scene environment based on the set of distance values, wherein the scale indicates a relationship between a control unit of the 3D scene environment and a display unit of a rendered frame; rendering the 3D scene environment as viewed from the camera to produce a rendered frame; and storing the rendered frame in a memory or displaying the rendered frame on a display device. - View Dependent Claims (12, 13, 14)
-
-
15. A computer-implemented method for performing collision avoidance in a multiscale three-dimensional (3D) navigation environment, the method comprising:
-
obtaining a set of distance values indicating distances between a camera and at least one closest fragments associated with one or more geometric objects in a 3D scene environment; computing a collision detection threshold for the 3D scene environment; determining that one or more of the distance values in the set of distance values are within the collision detection threshold; and computing a net penalty force for the one or more distance values are within the collision detection threshold; applying the net penalty force in the 3D scene environment; rendering the 3D scene environment as viewed from the camera to produce a rendered frame; and storing the rendered frame in a memory or displaying the rendered frame on a display device. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification