|
Progress Report (November, 2002)
Plan:
The goal for this month's iteration is to set up an OpenGl window with
native X11Lib functions combined with glX and Windows API combined with
wGL. In addition to setting up a window is the goal for creation of a
terrain generation program.
Design:
The creation of an OpenGl window with the native functions of the two
operating systems (Windows and Linux) is much more difficult than it
seems. This step requires knowledge of both Windows API and X11Lib to
create a window for Windows and Linux, respectively, as well as knowledge
in wGL and glX to link those windows to the openGl drawing routines for
Windows and Linux, respectively.
The terrain generation program is a completely different subsection of
this project. The current goal for implimentation of terrain generation is
to maximize flexability and utility for the landscape, while keeping the
memory usage and processing to a minimum.
To go more deeply into the terrain generation algorithm, it works by creating
squares of terrain on the x-y plane and finding a value for the z direction (up).
It initializes the system by creating a center block, given an an X-ID and Y-ID of
(0, 0). This is analagous with the coordinate system in the cartesian plane. Then,
the program adds more blocks to the database whenever an uncovered and ungenerated portion
of the map is looked upon. The functions written are for adding blocks, deleting blocks,
finding a block given it's coordinates, and finding a height for any (x, y) from finding and
parsing the corresponding block that includes that height.
Coding:
The code for the OpenGL portion of this code does not deal much with the
project, itself.
Code relavent for the terrain generation can be found here (Terrain Code).
(Note: Code not dealing with this topic has been deleted for clarity)
Testing:
This program is not in a testable phase, currently.
Users:
The creation of an OpenGL window portion of this iteration works more in
the background of the program to enable it to work. It does not have to
deal much with the actual purpose of the project as a whole, but it is an
essential part of the program.
The terrain system implimented is sectioned into a connected array
of "blocks" that interpolate data between eachother to smooth out the
surface. This generation system has been implimented, but without a
graphical display- it's not certain if it works as desired, currently.
|
|
|