|Multitexturing on the Gamecube!|
Implemented cluster visibility culling and lightmapping! Setting up the GC for multitexturing is quite similiar to the DX8/9 FVF setup. You have up to 8 texture stages that you can define the operations for color and alpha channels. The texture format is really crazy. Normally I am used to 32bit formats being in RGBA or ARGB order. The GC however expects the format to be grouped in pairs of 4x4 texels where the first 4x4 is AR and the second 4x4 is GB. I am sure there is a good reason for this, but I sure don't know it. Maybe the GPU reads the texture memory in two 16bit chunks at a time? I need to get a TV card for my PC so I can capture the output better. Pointing the video camera at the TV just has too many artifacts.
|Project FPS on the GameCube Video!|
Woohoo! I appear to have some simple map rendering working! Check out the video. Not too shabby considering how little documentation exists for coding on Gamecube.
For those interested:
binary. (newer version available above)
source code. (newer version available above)
|Max Drive Pro - Downloading Software|
Here is a picture of the Max Drive Pro hooked up to my PC.|
You can see the software on the screen (darn camera flash). Once you build your binary, you use this software to download the binary to the memory card. Then you put the memory card into the gamecube and turn on the machine with the supplied boot disk. A menu will display with a list of binaries on the memory card. Simply select one and press the start button to execute.
|Max Drive Pro|
Here is a picture of the Max Drive Pro components.|
It consists of a GameCube boot disc, a memory card that has a usb socket on it and a usb cable.
|Project FPS - The beginning (ie. old stuff)|
The purpose of this page to show off tidbits of progress throughout my effort in creating a simple multiplayer fps. I have chosen not to use a pre-built engine, framework or UI package. I have started this project with an empty WinMain and the DirectX9 SDK. I realize that this may seem foolish with all the frameworks and tools out there, but to truly understand where the technology is going, one must understand where the technology has been.
Any questions or comments may be directed to: email@example.com
Goal: Create a multiplayer FPS using DirectX9
Admittedly I am not an artist. So, in an attempt to curb the inevitable "programmer art" that crops up in homebrew projects, I decided to borrow some already existing art. I will be using Quake3 .map and .md3 (along with their corresponding textures) from the Quake3 Demo.
.map file specs
.md3 file specs
Here are some screen shots of rendering Q3DM1 through various stages of progress:
Q3DM1 Shaded with randomly colored verticies.
Q3DM1 Shaded with randomly colored verticies with Bezier Patches.
Q3DM1 Shaded with base textures only. Notice that the bezier patches are rendered with a "No texture" texture. This is because Quake3 had developed a their own primitive form of vertex shaders. These shaders were used for mapping bezier patches and animating textures (such as lava and sky boxes).
Q3DM1 Shaded with lightmaps only.
Q3DM1 Shaded with base textures and lightmaps.
Here are some screen shots of rendering the MD3's associated with the Visor model through various stages of progress:
Visor Model rendered with a Rocket Launcher and its AABB.
Visor Model in the middle of an animation sequence.
Here are some screen shots of the UI system. The background is an animated "fire" using some perlin noise. The glass buttons images where made at this really cool website. It was actually quite a bit of fun to build the UI components from scratch (ie. Button, Listbox, Editbox and Label).
With the networking code up and going, here is a shot of q3dm1 with myself and another player connected!
Oooh look! Here I am firing a laser at my opponent!