Accelerated single source 3D lighting mechanism
First Claim
1. A system for determining the lighting conditions of objects illuminated by light sources, for use in a three-dimensional graphics system having means for providing a three-dimensional graphics scene having one or more objects, each object comprising one or more surfaces delimited by a plurality of vertices, and one or more light sources;
- the system for determining lighting conditions including;
first means for pre-computing a lighting condition for a vertex and providing a first value representative thereof;
second means for determining a direction of a light source relative to a surface at the vertex and for providing a first indication with respect thereto if the light source is directed toward the surface and for providing a second indication otherwise;
third means for outputting the first value as a lighting condition of the vertex if the second indication is provided;
fourth means for evaluating reflections from the light source with respect to the vertex if the first indication is provided and providing a second value representative thereof; and
fifth means for outputting the first and second values as a lighting condition of the vertex if the first indication is provided.
3 Assignments
0 Petitions
Accused Products
Abstract
A system for determining the lighting conditions of objects illuminated by light sources. The system is adapted for use in a three-dimensional graphics system in which a scene is provided having one or more objects. Each object is made up of one or more polygons comprising one or more surfaces. Each surface is delimited by a plurality of vertices. One or more light sources are disposed within the scene. The inventive system determines lighting conditions such as color and intensity for each surface of each object taking into account ambient lighting conditions and each of the light sources in an accelerated manner relative to conventional approaches. In the illustrative embodiment, the inventive system first pre-computes a lighting condition for a vertex and provides a first value representative thereof. This value is stored to avoid the computational expense of re-computing same for each subsequent lighting condition evaluated for the vertex. The system next determines a direction of a light source relative to a direction of the vertex and provides a first indication with respect thereto if the light source is directed toward the vertex and a second indication otherwise. The first value is output as a lighting condition of the vertex if the second indication is provided. If not, reflections from the light source with respect to the vertex are evaluated if the first indication is provided and a second value representative thereof is generated. Thereafter, the first and second values are combined and output as a lighting condition of the vertex.
57 Citations
31 Claims
-
1. A system for determining the lighting conditions of objects illuminated by light sources, for use in a three-dimensional graphics system having means for providing a three-dimensional graphics scene having one or more objects, each object comprising one or more surfaces delimited by a plurality of vertices, and one or more light sources;
- the system for determining lighting conditions including;
first means for pre-computing a lighting condition for a vertex and providing a first value representative thereof; second means for determining a direction of a light source relative to a surface at the vertex and for providing a first indication with respect thereto if the light source is directed toward the surface and for providing a second indication otherwise; third means for outputting the first value as a lighting condition of the vertex if the second indication is provided; fourth means for evaluating reflections from the light source with respect to the vertex if the first indication is provided and providing a second value representative thereof; and fifth means for outputting the first and second values as a lighting condition of the vertex if the first indication is provided. - View Dependent Claims (2, 3, 4, 5, 6)
- the system for determining lighting conditions including;
-
7. A system for determining the colors of objects illuminated by light sources for use in a three-dimensional graphics system having means for providing a three-dimensional graphics scene having one or more objects, each object comprising one or more surfaces delimited by a plurality of vertices, and one or more light sources;
- the system for determining the colors including;
first means for evaluating emissive light with respect to a vertex and for evaluating ambient light with respect to the vertex and providing first and second numerical values with respect thereto, respectively, in a first arithmetic format, second means for adding the first and second numerical values to provide a sum, third means for storing the sum, fourth means for determining a direction of each light source relative to a surface at the vertex and for providing a first indication with respect thereto if the light source is directed toward the vertex and is not blocked thereby relative to a first point of view and for providing a second indication otherwise, fifth means for outputting the stored sum as the lit color of the vertex if the second indication is provided, sixth means for evaluating diffuse and specular reflections from the light source with respect to the vertex if the first indication is provided and providing third and fourth numerical representations with respect thereto, respectively, in the first arithmetic format, and seventh means for combining the first, second, third and fourth numerical values as the lighting color of the vertex if the first indication is provided. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
- the system for determining the colors including;
-
20. A system for determining the colors of objects illuminated by light sources in a three-dimensional graphics system comprising:
-
first means for providing a three-dimensional graphics scene having; one or more objects, each object comprising one or more surfaces, each surface being delimited by a plurality of vertices and one or more light sources; second means for providing a plurality of attributes with respect to the vertices, surfaces, objects and light sources, for each vertex, the attributes including; emissive, ambient, diffuse and specular material colors for the object to which the vertex belongs, a normal vector specifying a direction at which a surface is facing at that vertex, and a three-dimensional coordinate for the vertex, and for each scene, the attributes including; ambient color and a direction, ambient color, diffuse color and specular color for each light source therein; third means for combining the attributes to produce a lit color for at least one vertex of one object, the third means including; fourth means for evaluating emissive light with respect to the vertex and for evaluating ambient light with respect to the vertex and providing first and second numerical values with respect thereto, respectively, in a first arithmetic format, fifth means for adding the first and second numerical values to provide a sum, sixth means for converting the sum to a form suitable for display, and seventh means for storing the converted sum, eighth means for determining a direction of each light source relative to the direction of the vertex and for providing a first indication with respect thereto if the light source is directed toward the vertex and is not blocked thereby relative to a first point of view and for providing a second indication otherwise, ninth means for outputting the stored converted sum as the lighting color of the vertex if the second indication is provided, tenth means for evaluating diffuse and specular reflections from the light source with respect to the vertex if the indication is true and providing third and fourth numerical representations with respect thereto, respectively, in the first arithmetic format if the first indication is provided, and eleventh means for outputting the first, second, third and fourth numerical values as the lit color of the vertex if the first indication is provided. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method for determining the lighting conditions of objects illuminated by light sources for use in a three-dimensional graphics system having means for providing a three-dimensional graphics scene having one or more objects, each object comprising one or more surfaces delimited by a plurality of vertices, and one or more light sources;
- the method for determining lighting conditions including the steps of;
pre-computing a lighting condition for a vertex and providing a first value representative thereof; determining a direction of a light source relative to a direction of the vertex and for providing a first indication with respect thereto if the light source is directed toward the vertex and for providing a second indication otherwise; outputting the first value as a lighting condition of the vertex if the second indication is provided; evaluating reflections from the light source with respect to the vertex if the first indication is provided and providing a second value representative thereof; and outputting the first and second values as a lighting condition of the vertex if the first indication is provided.
- the method for determining lighting conditions including the steps of;
Specification