Home Page
Archive > Updates > 2011 > January


I was in the mood a few nights ago to do something silly and fun, so I updated the Julia Fractals project to create a 3D screen saver out of it :-). Your view is inside a rotating 3D cube with a different Julia Fractal rendering to each face. The fractals all zoom in and out of their own accord at different speeds.

The version number is now at 0.61 [source]. This update only modified the Pixel Shader portion of the project and not the software rendered one. The Julia Fractal Pixel Shader can now run in “Screen Saver” or “Normal” mode depending on command line parameters or the configuration file.

The updates are as follows:
  • Screen saver mode added:
    • An optional configuration file is provided to overwrite the default screen saver mode settings.
    • The screen saver can be run in both Full Screen and Windowed modes which have some differences:
      • Full Screen Mode: Any mouse or keyboard activity will end the program.
      • Windowed Mode: The titlebar displays current configuration settings, which can be changed realtime through shortcut keys.
    • A special “shrink constant” tells the program the pixel dimensions of the texture to render the fractal into when compared against the size of the actual target window. Changing this value affects the quality and render speed of the fractals rendered to each cube face.
    • Each of the 6 different faces (5 different fractals) all zoom in and out continuously on the same point (for that fractal). I didn’t feel like developing the code to choose good random points to zoom in on for aesthetics (and shift them real time) because I basically accomplished what I wanted with this and didn’t want to spend the extra time fine tuning that functionality.
    • The mode set through the configuration file can be overwritten by passing a command line parameter. The first argument can be either “ScreenSaver” or “Normal” to overwrite the mode setting.
  • Added the ability to render any Julia fractal through the pixel shader instead of just the Mandelbrot Fractal.
  • The source code has been split up into multiple files for better organization (Fractal rendering engine interfaced with D3D, “Normal Run” mode, the “Screen Saver” mode, Settings, and the Loader).
  • Fractal information is now held in a structure instead of global variables so multiple fractals can be rendered.
  • Added a maximum zoom amount variable to make sure floating point underrun does not occur.
  • The pixel shader is now held in the executable as a resource instead of as an extra file.

I also heavily edited the project description/notes during this update because I had noticed that I had forgotten to do that for the last few updates and they were very outdated.

Download Content
Section: Projects > Websites

I added Head2Head: Holiday Death Match to the Websites list. It was just a small contract holiday job.


Mini Acuity has been updated to version 1.0.3 to fix an improperly reported Android permissions problem. See Android Permissions Improperly Reported for more information. The project page’s permissions section has been modified to reflect this update.

On a separate note, I’ve modified the information multiple times recently for the Mini Acuity applications on the Android Market to reflect updates to the required/allowed information and their formats in the market.

And on an aggravating and unfortunate note, it seems my private Android code signing key that I was using to sign my applications for the Android market is corrupted, or something, so I cannot release updates on the Android market until I can figure out what’s going on. For this reason, I can (hopefully temporarily) only release the Lite version on the site using a temporary key. :-(

Download Content