Jing Chan  

Main
Daily Logs
Iteration Reports
Project Poster
Presentation
Screen Shots
References

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.
Footer