Login
Terrain Streaming on the Nintendo GameCube
By: Christopher Jones
Supervisor: Gary Brubaker
Masters of Interactive Technology degree conferred September 15, 2007
Thesis / Project completed: September 13, 2007
The goal of this project is to answer the question “What are the best practices for streaming level of detail based terrain on the Nintendo GameCube?” There are three key problems when wanting to display a portion of a much larger piece of terrain. The first is the streaming of data. While I will limit the exploration of the problem to terrain data specifically, the nature of the problem will be the same on any system that wishes to stream data. The second problem is that of level of detail. When viewing a large expanse of terrain, the number of triangles used to display geometry in the distance can be significantly less than up close, with no loss of detail. The third problem is that of compression. Compression is useful in that it both reduces the amount of storage for data and it reduces the amount of data that needs to be transferred. The streaming of data benefits from compression since more data can be buffered in the same amount of space and more data can be read from disk in the same amount of time. It does however require CPU time to decompress the data. This project provides a solution to displaying large expanses of terrain using streaming, level of detail, and compression.
Efficient streaming on the GameCube requires that an application intelligently stream data at a rate of no more than 31000 bytes per second and buffer sufficiently large amounts of data to compensate for 67ms seek times. The level of detail system must limit the number of triangles on the screen to less than 72900 triangles per frame if 60 frames per second is to be maintained and a low memory footprint is required. For this project it is limited to no more than eight megabytes. Compression must be used to allow the 31000 bytes per frame to keep up with the viewable area and to increase the amount of buffered data to compensate for any read rate slow downs.

Print This Page