Efficient lighting effects in design software
First Claim
1. In a computerized architectural design environment in which a design program is loaded into memory and processed at a central processing unit, a computer-implemented method for rendering the lighting effects of a scene during a consistent time interval irrespective of the number of light sources within the scene, the method comprising:
- receiving from a user one or more user inputs regarding a location of an object in a design space;
receiving from the user one or more user inputs regarding a location of one or more lights within the design space, wherein the one or more light sources project onto the object;
calculating a lighting effect of the one or more lights on the object in the design space, wherein calculating the lighting effect comprises;
generating a voxel that encloses at least a discrete portion of the object in the design space,generating a first surface vector that extends from a first surface of the voxel and points in a first direction;
generating a second surface vector that extends from a second surface of the voxel and points in a second direction that is different than the first direction,calculating first lighting information generated by the one or more light sources on the first surface by combining light source vectors extending from each of the one or more light sources and the first surface vector, wherein the first surface vector is normal to the surface of the voxel;
calculating second lighting information generated by the one or more light sources on the second surface by combining light source vectors extending from each of the one or more light sources and the second surface vector, wherein the second surface vector is normal to the second surface of the voxel; and
rendering at least the discrete portion of the object in the design space;
calculating a normal vector from a surface of the rendered discrete portion of the object;
rendering the lighting effect on the discrete portion of the object by interpolating a lighting effect from the first lighting information and the second lighting information based upon a relationship between the normal vector from the surface of the rendered discrete portion of the object and the first surface vector and the second surface vector, wherein the normal vector from the surface of the rendered discrete portion of the object is normal to the surface of the rendered discrete portion of the object, the first surface vector is normal to the first surface of the voxel, and the second surface vector is normal to the second surface of the voxel.
9 Assignments
0 Petitions
Accused Products
Abstract
A computerized method of for rendering a lighting effect can include receiving from a user inputs regarding the location of an object within a design space. Furthermore, the method can include receiving from the user one or more inputs regarding the location of one or more light sources within the design space. Additionally, the method can include calculating a lighting effect of the one or more lights on the object within the design space. Furthermore, the method can include rendering the lighting effect during a time interval that is independent of the number of the one or more light sources within the design space, such that rendering the lighting effect for one of the one or more light sources takes the same amount of time as rendering the lighting effect for a plurality of the light sources.
74 Citations
20 Claims
-
1. In a computerized architectural design environment in which a design program is loaded into memory and processed at a central processing unit, a computer-implemented method for rendering the lighting effects of a scene during a consistent time interval irrespective of the number of light sources within the scene, the method comprising:
-
receiving from a user one or more user inputs regarding a location of an object in a design space; receiving from the user one or more user inputs regarding a location of one or more lights within the design space, wherein the one or more light sources project onto the object; calculating a lighting effect of the one or more lights on the object in the design space, wherein calculating the lighting effect comprises; generating a voxel that encloses at least a discrete portion of the object in the design space, generating a first surface vector that extends from a first surface of the voxel and points in a first direction; generating a second surface vector that extends from a second surface of the voxel and points in a second direction that is different than the first direction, calculating first lighting information generated by the one or more light sources on the first surface by combining light source vectors extending from each of the one or more light sources and the first surface vector, wherein the first surface vector is normal to the surface of the voxel; calculating second lighting information generated by the one or more light sources on the second surface by combining light source vectors extending from each of the one or more light sources and the second surface vector, wherein the second surface vector is normal to the second surface of the voxel; and rendering at least the discrete portion of the object in the design space; calculating a normal vector from a surface of the rendered discrete portion of the object; rendering the lighting effect on the discrete portion of the object by interpolating a lighting effect from the first lighting information and the second lighting information based upon a relationship between the normal vector from the surface of the rendered discrete portion of the object and the first surface vector and the second surface vector, wherein the normal vector from the surface of the rendered discrete portion of the object is normal to the surface of the rendered discrete portion of the object, the first surface vector is normal to the first surface of the voxel, and the second surface vector is normal to the second surface of the voxel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a computerized architectural design environment in which a design program is loaded into memory and processed at a central processing unit, a computer-implemented method for rendering a lighting effect from one or mores light sources on an object within a design space, the method comprising:
-
receiving from a user one or more inputs regarding a location of the object in the design space; calculating a voxel, wherein the voxel encloses at least a discrete portion of the object in the design space; assigning a first surface vector to a first surface of the voxel, wherein the first surface vector is normal to the first surface; assigning a second surface vector to a second surface of the voxel, wherein the second surface vector is normal to the second surface and points in a different direction than the first surface vector; calculating first lighting information generated by the one or more light sources on the first surface of the voxel by combining light source vectors extending from the one or more light sources and the first surface vector; calculating second lighting information generated by the one or more light sources on the second surface of the voxel by combining light source vectors extending from the one or more light sources and the second surface vector; and rendering, using the first lighting information, the second lighting information, and a normal vector extending from a rendered surface of the portion of the object, the lighting effect on the discrete portion of the object in the design space. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer system for maintaining a real-time rendering time for rendering the lighting effects of a scene during a time interval that does not increase with respect to the number of light sources within the scene, comprising:
-
one or more processors; and one or more computer-readable media having stored thereon executable instructions that when executed by the one or more processors configure the computer system to perform at least the following; receive from a user one or more user inputs regarding a location of an object in a design space; receive from the user one or more user inputs regarding a location of one or more light sources within the design space, wherein the one or more light sources project onto the object; calculate a lighting effect of the one or more light sources on the object in the design space, wherein calculating the lighting effect comprises; generating a voxel that encloses at least a discrete portion of the object in the design space, generating a first surface vector that extends from a first surface of the voxel and points in a first direction; generating a second surface vector that extends from a second surface of the voxel and points in a second direction that is different than the first direction, calculating first lighting information generated by the one or more light sources on the voxel by combining light source vectors extending from each of the one or more light sources and the first surface vector, wherein the first surface vector is normal to the first surface; calculating second lighting information generated by the one or more light sources on the voxel by combining light source vectors extending from each of the one or more light sources and the second surface vector, wherein the second surface vector is normal to the second surface; rendering at least a portion of the object in the design space; and calculating a normal vector from a surface of the rendered discrete portion of the object; and render the lighting effect on the discrete portion of the object by interpolating a lighting effect from the first lighting information and the second lighting information based upon a relationship between the normal vector and the first surface vector and the second surface vector.
-
Specification