GLfract II Realtime 3D fractals

Here’s one of those little windows programs that doesn’t serve much purpose other than that it’s fun to play around with. GLfract II uses your video card to render heightmapped fractals in realtime in OpenGL. You can watch my video demo of it on Youtube.

Heightmapping

Heightmapping doesn’t produce real 3D fractals but merely uses the colour information of the 2D (flat) images to produce a 3D representation of them, which basically tends to look like mountains an valleys. It is interesting though to see how easily a fractal can look like nature by combining such simple imaging techniques. Heightmapping is not a new imaging technique, it was for instance already used in old fractal software like Fractint and it’s still often used to make 3D landscapes. The latest software more advanced software for producing 3D landscape is Terragen 2.

Using GLfract II

Usage of GLfract II is fairly straightforward since there are only a few options to work with. Basically you just start the program and start clicking using the mouse and holding down the “Control” button on the keyboard. You can choose various different fractals (keyboard 1 to 5) and various render methods (L & P button). By invoking the command window (tab button) you can load and save files and do some settings.

For instance you can increase the complexity of the model with the “res number x number” command, but do not set the complexity too high or your computer will look like it’s stalled (but it won’t be because it’s merely rendering the image in the resolution you have set and won’t update the screen anymore untill it’s finished). I used 2048 x 2048 on my Geforce 8600GT, which is about as much as needed is for some highres exploration, the default setting is 400 x 400. Keep in mind that the overall performance also depends on the windows size. If you have a really fast video card you might want to increase the number of iterations (this increases the complexity of the fractal from which the 3D model is made), of course the higher the iterations setting the more CPU time it will cost. On complex models changing the number of iterations doesn’t show any more significant results.

Supposedly it is possible to load .map files, which are colour settings as it’s used in Fractint, but i didn’t have much success in loading my own maps, so i think that function doesn’t quite work right. But by loading the example files you can get some colours in there. All the commands available are listed in the readme so it’s wise to open that aswell when you run the program.

Performance

You don’t need a very fast 3D card to use it, i have tested it on a Nvidia Geforce 8600GT and an onboard Nvidia Geforce 6200  and both worked fine. However the faster the graphics card the more detailed you can make the 3D object using the “res” setting. You will of course need a fast CPU for calculating the fractals. Because this is how the program works: it uses your CPU to generate the fractal and then the heightmapped image which produces the 3D model which is then uploaded to the GPU (using OpenGL) and which point you can move the object around with further need of the CPU. It would be really cool if one day the program would be further developed to use the GPU for the fractal calculations using OpenCL (that’s a C not a G) or NVidia’s CUDA. I’m sure much  GPU accelerated fractal software will be coming out way in the near future though.

Video Demo

I have made a HD video in 720p of me just fiddling about with the software so you can see what it’s about, you’ll need to watch it on Youtube to see it in HD. The music is an old favorite of mine it’s an old amiga mod, the dance track is composed by Sqd, it’s an instrumental remix of the 1992 hit “Captain Hollywood Project” – “More And More” (Stone Cold-Cut Edit by Sqd). It seems the track has been released yet again in 2009, watch video. The music is available for free from the Amiga Music Preservation website for instance. You do need special software to playback mod tunes though, like Deliplayer or XMplay (which are the most accurate) or the DUMB plugin for Foobar 2000 (best quality) or the BASS plugin for Winamp.

Watch in 720p HD on Youtube: http://www.youtube.com/watch?v=9L81y81hdHQ

Sidenote: Deliplayer was one of the most widely used software for playing back tracker music (called modules or mods) on the Amiga in the heyday of the popularity of the Amiga computer. Later a windows version was released, it was claimed to be the most accurate player for all the various tracker formats and indeed was regarded as such, while the software is now no longer developed or supported it is still the most accurate software for playing back tracker music on windows computers because no software that surpassed it has ever been produced.

The only software that remains that still is able to playback most tracker formats fairly accurate is XMplay. Much less accurate but also usable for a wide range of tracker formats are the DUMB plugin for Foobar 2000 and the BASS plugin for Winamp.

Links:
http://jimbomania.com/software/glfract.html

http://en.wikipedia.org/wiki/Heightmap
http://en.wikipedia.org/wiki/OpenGL

http://en.wikipedia.org/wiki/Fractint
http://www.planetside.co.uk/content/view/15/27/ (terragen 2)

http://en.wikipedia.org/wiki/Compute_Unified_Device_Architecture
http://en.wikipedia.org/wiki/Opencl

http://www.youtube.com/watch?v=9L81y81hdHQ (GLfract II demo)
http://www.youtube.com/watch?v=P3oYYBMl6jw (More and More 2009)
http://www.youtube.com/watch?v=h_zW7uU34ok (More and More 1992)
http://amp.dascene.net/detail.php?view=6991 (Sqd’s mods on Amiga Music Preservation)

http://www.softpedia.com/get/Multimedia/Audio/Audio-Players/DeliPlayer.shtml
http://www.un4seen.com/ (XMplay & BASS plugin)
http://www.foobar2000.org/
http://kode54.foobar2000.org/ (DUMB plugin)
http://www.winamp.com/

http://en.wikipedia.org/wiki/Amiga
http://en.wikipedia.org/wiki/Tracker_music

Lost parameters due to windows screensaver

O no,

I was gonna do some testing with high resolution prints with one of my favorite fractals, but i found out that i lost the parameters for it. It seems i lost a few parameters from the “Splamcirs” set and the favorite is am missing especially and which i was planning to use for the test prints was:

I still have the image rendered in 2048×1536 though, which is good enough to get decent large prints, but which wasn’t enough for my testing purposes. All in all i think i am missing 4 parameters (Splamcirs zoom 1-4) Now i’ll just have to find the location again, which is gonna be hard but not impossible, because i don’t recall zooming in too deep for these images.

Update 2009-10-31: I have been able to find the location again and successfully have saved the location parameters and also (re)rendered the image in 40 Megapixel resolution for prints up to very large poster format (78″ x 52″ or 198.1 x 132.1 cm).

Ultra Fractal Crashes

The reason that the parameters are missing from my backup is probably that the parameters were never saved in the first place. It’s not the first parameters i’ve lost or even entire images. Not too long ago i was experiencing crashes in Ultra Fractal, it took me a while to find out the cause, but i did. Ultra Fractal was crashing when my standard blankscreen screensaver became active on Vista x64 SP2. I did on at least one occasion manage to recover an Ultra Fractal session from unresponsiveness after the screensaver became active which allowed me to save things, close it and reboot. But mostly i was not able to recover the sessions. The problem might also have been due to some irregularities with my Nvidia display driver for my Geforce 8600GT (silent) videocard. Not using any screensaver but only power saving functions stopped Ultra Fractal from crashing.

Fixing my Nvidia display driver issues

I fixed the irregularities with my Nvidia display drivers by uninstalling the old drivers and deleting all old Nvidia display drivers and references manually. To clean my windows from Nvidia display drivers i first tried to use special cleaning software called “Driver Cleaner Professional” (i tried Driver Cleaner.Net v3.4.1.0 to be exact) because it was recommended by many (ignorant, as i discovered) people also on the Guru3D website. The software completely crashed on every uninstall operation i tried on my Vista x64 SP2 system and noticed that the software could at best only uninstall certain drivers from a predefined list. Well the software did not work at all so i resorting to fixing it myself. Advanced users can use the same method for completely removing drivers from windows to resolve any reoccurring issues.

First uninstall the drivers from the Control Panel or from the uninstall shortcut in your Start Menu if it exists. If there are no uninstall options to be found for you specific hardware, Start the Device Manager (right-click My Computer>Manage>Device Manager) select the device you want to uninstall and click “uninstall from the top menu or right-click menu. Now open two Windows Explorer windows (one for search and one to show files) in “c:\windows\inf” (hidden folder) by typing in the location manually. Now click on Search in that folder, this is where things become a bit difficult if you have Windows Search installed, because you cannot use it to search inside documents in non-indexed locations, but it is always set as the default search method. So you must first use the windows search and find nothing and then click on “Use Search Companion” or “Search in File Contents” (depending on your windows), in this case i searched for “Nvidia”.

So what you should do is search for “Nvidia” or “Nvidia Display” (or search for the specific hardware you want to remove) in the “c:\windows\inf” folder (you can also limit the files to contain ” the word oem”). You should then find some files that contain info about the old drivers called something like “oem10.inf”. When the windows search is complete open the found inf files to verify that the found files are indeed the drivers references you wish to remove and close them. Now in the other Explorer Windows delete the found “”oem10.inf” files and their companion “oem10.pnf” files. Make sure you only delete the files containing “oem” in the filename to ensure you are not deleting windows standard drivers.

Nvidia usually also unpacks downloaded drivers to “C:\Nvidia” so be sure to remove the correct drivers from there aswell. Repeat the search and delete for all files with the word “physx” aswell, since these are separate drivers from the Nvidia display drivers. Beware if you have an Nvidia chipset on your mainboard that you only delete the display drivers and not your chipset drivers if you only want to fix display driver issues. Now you can reboot or shutdown and do a clean driver install.

To sum up the manual driver removal process:
1) Uninstall drivers from control panel, start menu or device manager
2) Search for the driver “oem” files (.inf and .pnf) in “c:\windows\inf” and delete them
3) Delete driver files from other locations (like “c:\Nvidia”)
4) Reboot or shutdown (shutdown is even better)
5) Install drivers for a clean install

You should have no more inherited driver issues after this.

That’s all for now,

– Saquedon.