Dylan Hoen's Homepage
Electrical Engineer and Computer Programmer for hire in Victoria, BC, Canada
Main Page
Employers:
Click Here
Programming
Things I Have Built
About Dylan

Programming
Title Page Java C with OpenGL QBASIC PHP


OpenGl, C++ and Winamp plugins:

My first Opengl/C++ program:

I went to http://nehe.gamedev.net/ and started reading their OpenGl tutorials. By the time I got to lesson 4, I got too ambitious and stopped reading the tutorial and downloaded the source code and started playing with it. When I ran out of things I was capable of doing at that point, I continued reading the tutorials to number 6, then I jumped to some of the higher tutorials with the features I specifically wanted to use. I started playing with the code for lesson 4 again, adding bits of code from the higher tutorials. I had gotten fed up with my Geiss-like Java applet not working properly in Internet Explorer, so I thought that maybe I could use OpenGl to draw the 2D Geiss-like images to the screen. After talking to my friend, Marty, I decided to render the frames into an ARGB array using slightly modified java code (had to replace Math.random() with some c++ code, and rename some conflicting global variables) and then create a texture out of this array and draw a polygon to the screen using this texture, and then delete the texture and render the next frame. As I expected, I got a huge frame rate boost from changing from Java to C++ with OpenGl. The only bad part is that I can't imbed it into my web page, but since Internet Explorer didn't support half of my Java programs anyways, it doesn't make much difference.


My programs:

My Geiss-like rendered cube Winamp plugin:
There appears to be a rare bug in this plugin that leaves the video card in a state where you can only see the mouse and not the desktop when you quit and you have to reboot the computer. I have only seen this happen on one computer out of all of the ones that I have tested it on. Make sure you save all open documents before you run this plugin.
Click here to Download
Click here to view the readme file
Click here for Winamp.com's review of it.

Download Winamp from: winamp.com. I personally use Winamp Lite, hidden near the bottom of that download page.


Updated: 03 / 28 / 2003
I had done a lot of work on the plugin, but then my Maxtor 80 gigabyte hard drive died and I lost the source code. I had to revert to the source code I had posted on this web page. That lost work kind of demotivated me a bit and I stopped working on the plugin for a while, but I started back up this week and rewrote some of the features that I had lost. This time, I'll burn a backup CD every time I accomplish something worth saving.
New in this release:
   -Bug fixes
   -k freezes the dynamic texture
   -M increases dynamic texture resolution
   -N splits the dynamic texture calculations between 3 frames for increased frame rate with high resolution textures
   -P uses the rendered scene as a texture in the scene.
   -Y Stretches the dynamic texture across the screen
   -Still Doesn't have a proper configuration GUI, but it now tells you your current configuration before asking you if you want to re-configure.
   - Compile-able to an exe, but the exe doesn't work yet (I had the exe working on the version that I lost when my hard drive died)


Updated: 06 / 22 / 2002
New in this release:
   -Bug fixes
   -Enable/Disable spinning
   -New presets
   -Enable/Disable Frame Rate Limiter
   -Uses less CPU power when frame rate limiter is enabled
   -Uses Nullsoft PIMP Installer
   -Complete Source-Code Rewrite (Split into multiple .cpp files now)
   -Improved readme file

Special thanks to:
    Fizzy (Marty), for his C++ and OpenGl expertise.
    Borg No. One (Locutus) for his Nullsoft PIMP Installer expertise.

Click for full image
My Geiss-like rendered cube:
Click here to Download
Issues:
The 256X256 textures version gets about 4x the frame rate of 512X512 version and the frame rate is mostly CPU limited as apposed to video card limited.

Click for full image