Methods and apparatus for radiometrically accurate texture-based graphic primitive rendering technique
Abstract
A method and apparatus for rendering lightpoints is provided. For the method of the present invention, a programmer creates a series of texture maps. Each texture map approximates the lobe of a lightpoint at a respective distance from the lightpoint. Each texture map includes transparency texture information. This allows the lightpoint to correctly model fog and other atmospheric conditions. The series of texture maps are encoded in a mipmap associated with the lightpoint. During use, a simulation environment renders the lightpoint using a billboarding technique. The billboarding technique keeps the lobe of the lightpoint oriented towards the eye point. The simulation environment dynamically tracks the distance from the lightpoint to the eye point. Each time the distance changes, the simulation environment selects an appropriate texture map from the mipmap. The appropriate texture map is the texture map that correctly depicts the lightpoint at the distance between the eye point and the lightpoint. In cases where no appropriate texture map exists, the simulation environment generates an interpolated texture map. The simulation environment then applies the selected or generated texture map during rendering of the lightpoint. The result is that the lightpoint is realistically depicted over a wide range of distances.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for rendering a lightpoint, the lightpoint having an associated series of texture maps, each texture map created to modify the lightpoint for viewing from a respective distance, the method comprising the steps, performed by a processor, of:
calculating an onscreen size of the lightpoint; selecting or generating a texture map from the series of texture maps based on the calculated size; and applying the selected or generated texture map during rendering of the lightpoint.
2 . A method as recited in claim 1 wherein the step of selecting or generating a texture map further comprises the steps of:
selecting the appropriate texture map, if the appropriate texture map is included in the series of texture maps; and
generating an interpolated texture map if the appropriate texture map is not included in the series of texture maps.
3 . A method as recited in claim 1 further comprising the steps of:
detecting a change in the onscreen size of the lightpoint;
recalculating the onscreen size of the lightpoint;
re-selecting or regenerating the texture map from the series of texture maps based on the recalculated onscreen size; and
applying the re-selected or regenerated texture map to the lightpoint.
4 . A method as recited in claim 3 wherein the step of re-selecting or regenerating a texture map further comprises the steps of:
re-selecting the appropriate texture map, if the appropriate texture map is included in the series of texture maps; and
regenerating an interpolated texture map if the appropriate texture map is not included in the series of texture maps.
5 . A method as recited in claim 1 further comprising the step of dynamically reorienting the lightpoint so that the lobe of the lightpoint is directed at the eye point.
6 . A method as recited in claim 1 further comprising the step of storing the series of texture maps as a mipmap in a memory of the processor.
7 . A method as recited in claim 1 further comprising the step of applying a color modulation to the lightpoint.
8 . A method as recited in claim 1 wherein each texture map in the series of texture maps approximates the lobe of the light point at a respective distance from the lightpoint.
9 . A method as recited in claim 1 wherein each texture map in the series of texture maps includes a transparency texture.
10 . A computer program product comprising:
a computer usable medium having computer readable code embodied therein for rendering a lightpoint, the computer program product comprising:
computer readable data storing a series of texture maps, each texture map created to modify the lightpoint for viewing from a respective distance;
first computer readable program code devices configured to cause a computer system to calculate an onscreen size of the lightpoint;
second computer readable program code devices configured to cause a computer system to select or generate a texture map from the series of texture maps based on the calculated onscreen size; and
third computer readable program code devices configured to cause a computer system to apply the selected texture map during rendering of the lightpoint.
11 . A computer program product as recited in claim 10 wherein the second computer readable program code devices are further configured to cause a computer system to:
select the appropriate texture map, if the appropriate texture map is included in the series of texture maps; and
generate an interpolated texture map if the appropriate texture map is not included in the series of texture maps.
12 . A computer program product as recited in claim 10 which further comprises:
fourth computer readable program code devices configured to cause a computer system to detect a change in the onscreen size of the lightpoint;
fifth computer readable program code devices configured to cause a computer system to recalculate the onscreen size of the lightpoint;
sixth computer readable program code devices configured to cause a computer system to re-select or regenerate the texture map from the series of texture maps based on the recalculated onscreen size; and
seventh computer readable program code devices configured to cause a computer system to apply the re-selected or regenerate texture map to the lightpoint.
13 . A computer program product as recited in claim 12 wherein the sixth computer readable program code devices are further configured to cause a computer system to:
re-select the appropriate texture map, if the appropriate texture map is included in the series of texture maps; and
regenerate an interpolated texture map if the appropriate texture map is not included in the series of texture maps.
14 . A computer program product as recited in claim 10 which further comprises eighth computer readable program code devices configured to cause a computer system to dynamically reorient the lightpoint so that the lobe of the lightpoint is directed at the eye point.
15 . A computer program product as recited in claim 10 which further comprises ninth computer readable program code devices configured to cause a computer system to store the series of texture maps as a mipmap in a memory of the processor.
16 . A computer program product as recited in claim 10 which further comprises tenth computer readable program code devices configured to cause a computer system to apply a color modulation to the lightpoint.
17 . A computer program product as recited in claim 10 wherein each texture map in the series of texture maps approximates the lobe of the light point at a respective distance from the lightpoint.
18 . A method as recited in claim 10 wherein each texture map in the series of texture maps includes a transparency texture.
19 . A system for rendering a lightpoint, the lightpoint having an associated series of texture maps, each texture map created to modify the lightpoint for viewing from a respective distance, the method comprising the steps, performed by a processor, of:
means for calculating an onscreen size of the lightpoint; means for selecting or generating a texture map from the series of texture maps based on the calculated onscreen size; and means for applying the selected texture map during rendering of the lightpoint.
20 . A system as recited in claim 19 wherein the means for selecting or generating a texture map further comprises:
means for selecting the appropriate texture map, if the appropriate texture map is included in the series of texture maps; and
means for generating an interpolated texture map if the appropriate texture map is not included in the series of texture maps.
21 . A system as recited in claim 19 which further comprises:
means for detecting a change in the onscreen size of the lightpoint;
means for recalculating the onscreen size of the lightpoint;
means for re-selecting or regenerating the texture map from the series of texture maps based on the recalculated onscreen size; and
means for applying the re-selected or regenerate texture map to the lightpoint.
22 . A system as recited in claim 21 wherein the means for re-selecting or regenerating the texture map further comprises:
means for re-selecting the appropriate texture map, if the appropriate texture map is included in the series of texture maps; and
means for regenerating an interpolated texture map if the appropriate texture map is not included in the series of texture maps.
23 . A system as recited in claim 19 which further comprises means for dynamically reorienting the lightpoint so that the lobe of the lightpoint is directed at the eye point.
24 . A system as recited in claim 19 which further comprises storing the series of texture maps as a mipmap in a memory of the processor.
25 . A system as recited in claim 19 which further comprises means for applying a color modulation to the lightpoint.
26 . A system as recited in claim 19 wherein each texture map in the series of texture maps approximates the lobe of the light point at a respective distance from the lightpoint.
27 . A system as recited in claim 19 wherein each texture map in the series of texture maps includes a transparency texture.Join the waitlist — get patent alerts
Track US2002190997A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.