Method for rendering realistic terrain simulation
First Claim
Patent Images
1. A method of generating a perspective visual scene, comprising the steps of:
- a) determining the position of an observer in relation to a gaming area bounded by the observer'"'"'s field of view;
b) incrementing the observer'"'"'s position by one unit;
c) determining if the data quadrant at the new position is visible to the observer, wherein if the data quadrant is not visible, incrementing a quadrant step vector;
d) determining a distance from the observer to an object of interest;
e) selecting a database to be used dependent on the distance from the observer to the object of interest;
f) sampling the height data at the current position;
g) comparing the height data at the current position with the current elevation;
h) outputting data representing the location of a pixel located at the current position and storing the outputted date in a coordinate buffer;
j) storing the distance of the pixel from the observer in a Z-buffer;
k) scanning the first row of the Z-buffer to determine if there is an edge;
l) if an edge is found, creating a first screen vertex using a near screen position in the Z-buffer and creating a second screen vertex using a far screen position in the Z-buffer;
m) mapping the first and second screen vertices into a stored color map and storing the mapped vertices in a vertex buffer;
n) determining if there is a slope change exceeding a predetermined value to create a contour vertex;
o) creating a screen vertex, if the slope change exceeds the predetermined value, using the far screen position in the Z-buffer and mapping the screen vertex into the stored color map and storing the mapped vertex in the vertex buffer p) determining if the entire screen has been scanned, and if not, repeating steps k through o until the entire screen has been scanned;
q) scanning the first two rows of the vertex buffer and comparing the first two vertices in each row at the diagonal connection of the vertices to determine which triangle formed by the vertices has the smallest change in slope and storing the triangle with the smallest change in slope;
r) repeating step q until the entire row of vertices have been compared;
s) incrementing the rows of the vertex buffer that are scanned and repeating steps q through r until the entire vertex buffer has been scanned and triangles stored for each comparison of vertices; and
t) displaying the visual scene on a display device.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for the realistic simulation of visual scenes uses voxels generated from positional and elevational data combined with a stored color map to generate vertex and triangle data that is used by an accelerator card to render a visual scene on a display device. In this manner, the invention provides rendering efficiency and speed for highly detailed visual scenes while preventing overdraw.
41 Citations
3 Claims
-
1. A method of generating a perspective visual scene, comprising the steps of:
-
a) determining the position of an observer in relation to a gaming area bounded by the observer'"'"'s field of view;
b) incrementing the observer'"'"'s position by one unit;
c) determining if the data quadrant at the new position is visible to the observer, wherein if the data quadrant is not visible, incrementing a quadrant step vector;
d) determining a distance from the observer to an object of interest;
e) selecting a database to be used dependent on the distance from the observer to the object of interest;
f) sampling the height data at the current position;
g) comparing the height data at the current position with the current elevation;
h) outputting data representing the location of a pixel located at the current position and storing the outputted date in a coordinate buffer;
j) storing the distance of the pixel from the observer in a Z-buffer;
k) scanning the first row of the Z-buffer to determine if there is an edge;
l) if an edge is found, creating a first screen vertex using a near screen position in the Z-buffer and creating a second screen vertex using a far screen position in the Z-buffer;
m) mapping the first and second screen vertices into a stored color map and storing the mapped vertices in a vertex buffer;
n) determining if there is a slope change exceeding a predetermined value to create a contour vertex;
o) creating a screen vertex, if the slope change exceeds the predetermined value, using the far screen position in the Z-buffer and mapping the screen vertex into the stored color map and storing the mapped vertex in the vertex buffer p) determining if the entire screen has been scanned, and if not, repeating steps k through o until the entire screen has been scanned;
q) scanning the first two rows of the vertex buffer and comparing the first two vertices in each row at the diagonal connection of the vertices to determine which triangle formed by the vertices has the smallest change in slope and storing the triangle with the smallest change in slope;
r) repeating step q until the entire row of vertices have been compared;
s) incrementing the rows of the vertex buffer that are scanned and repeating steps q through r until the entire vertex buffer has been scanned and triangles stored for each comparison of vertices; and
t) displaying the visual scene on a display device.
-
-
2. A method for rendering a visual scene, comprising:
-
a) determining a set of data representing the location and height of a plurality of pixels representing an object of interest, the set of data determined from positional data, distance data representing the distance of the object of interest from an observer, elevational data of the object of interest, and color data;
b) storing the data in a data buffer;
c) scanning the buffer to determine if edges exist;
d) creating a set of vertex data from the data stored in the buffer, and a color map and storing the set of vertex data in a vertex buffer;
e) scanning selected pairs of vertices of the set of vertex data stored in the vertex buffer and determining a triangle having the smallest slope change associated with the selected pair of vertices and storing the determined triangle in a triangle buffer;
f) rendering a visual scene on a display device from the data stored in the vertex buffer and the triangle buffer. - View Dependent Claims (3)
-
Specification