![]() |
|
| These projects were made in Visual C++ 6.0 using
NeHe's base code, unless otherwise noted. I haven't tried them on other computers, but I am running a Celeron 400 with a GeForce 2 MX400. To Compile, the following library modules would need to be added in the project settings under the Link tab: dinput8.lib dxguid.lib opengl32.lib glu32.lib glaux.lib Feel free to reuse any code and don't hesitate to ask me any questions. |
|
| Height Mapping | |
| I was thinking about height mapping after looking
at a few examples and came up with this simple program. Most height mapping techniques are
based on how I did this. I basically modified a bitmap loading function, and used the average of the RGB colors to determine the height. You can convert the image to grey scale to make things easier to visualize. Note: this only works with 24-bit bitmaps, but would be simple enough to modify for 8-bit grey scale images. Download source and executable here
[54kB] |
![]() |
| Iterated Function Systems | |
| After reading some things on the chaos theory and
fractals, I made a few projects demonstrating Iterated Function Systems. These form the
basis of fractal images. They are extremely simple implementation wise. Though the mandlebrot set which has a very simple function definition is supposed to be one of the most complex mathematical objects. The examples are as follows:
For details on each of these, read the header of the source code. Download source and executables here [66kB] |
![]() ![]() |
| Nodemaster | |
| This was my first OpenGL project for my computer
graphics class at uni. The program uses GLUT for window initialization, etc. and because
of this it can be run and compiled on multiple platforms (Tested on a SPARC system). I
compiled this program using cygwin - a free UNIX
environment for windows compiler. I scored a mark of 78%. It is a basic vector type editor - you can choose different objects to draw and link tham with lines and arrows. You can also save and load in a file format created by me. The program allows you to zoom in (Z key) and out (X key). There are a bunch of other commands which can be accessed via the mouse right-button menu. The source code is fully commented, though not the most elegant programming in the world. Try the program out, select load from the menu by right-clicking and enter sample.dat in the console window and zoom in. Download source and executable here [94kB] |
![]() |
| Blobbyman | |
| Along came my second OpenGL project for my
computer graphics class. This program again uses GLUT and cygwin, but I was unable to get
it to run on the SPARC system due to different endians. This project was the top in the
class by far, but still not good enough for full marks, though I did get 98%. This project
also is at the top of the 'hall of fame' on the class' website.
It was neat having people standing behind me giving me comments while I was working on
this at uni. The assignment asked to have a man made out of stretched spheres called a 'blobbyman' to do the moves to the Macarena dance. The figure was to use nested transformations and there were extra marks for things like having 2 figures and interactions between them. I started on a typical blobbyman but thought I could do more, so I ended up with a skeletal animation system (extended form of nested transformations) loading Milkshape3D models with my own animation file format. I think I was the only one to use texture mapping aswell. Although it had to be of the Macarena, I had plenty of fun making it and learnt heaps doing it myself. I hope someone can find use of my work. The source code is fully commented with a log history and readme file that details all the features and keyboard commands. Download source and executable here [1337kB] |
![]() ![]() ![]() |
| Smoke Effect | |
| After writing a particle engine, I thought that
I could do a smoke effect. A different particle texture, some changes to the particle emmiter, some subtle wind, and a different blending effect made a realistic smoke effect. Download here [360kB] |
![]() |
| Particle System | |
| This was my first attempt at a particle engine.
Turns out they are fairly simple and the effects are easy to achieve. I made a particle emitter fly around the screen letting loose all those nice colours. There is also some wind/gravity effect happening. Download here [599kB] |
![]() |
| Love | |
This was a quick project I worked on to display some OpenGL effects. It is just a textured box bouncing around in 3D space, with alpha blending enabled. The sides resize using a simple linear interpolation formula. Also uses FMod API to play an mp3 file (need to add fmodvc.lib to libraries for compilation). Download here [713kB] |
![]() |
| Flags | |
| 2 Flag effects using sine waves. One is made up of strips of rectangles. The other uses small squares to add an extra
dimension to the wave to get it circular. |
![]() |