Finally! It's ready for beta testing. First, a table of contents for my post:
1) Source Code
2) Info for developers
3) Users manual
4) Pictures
Source Code
http://www.mediafire.com/download/p66a9 ... src0.1.zip
Please note, I will probably not host this file forever, esp. since it has a version number on it.
Info for Developers
All of the contents of the folder are arranged according to where the files are in my master source folder.
Please notice, there are several files that are original to the program. These files have been modified. I have included a text file in the root folder ("src") that gives the lines that where changed in each file. These are lines where the changes occur, not where I began typing in the original file. I did this so that it's easier for you to find where I put everything.
That said, I made some modifications to the engine that you may or may not like - I'm not sure (e.g. I changed XYZPoint from final to not final) - but none of the changes had any negative effects as far as I could tell.
There is one oddity that I have not fixed: the update status bar. It updates only when points are being added to the list for exporting; it doesn't update when the points are being written to file. This makes it seem like it's done when it really isn't. However, I wasn't going to modify the text-file-writer class just to have this feature, especially since it would really slow things down.
Finally, the update status bar is updated based on both the output number of points or the number of iterations (i.e. attempts to write points) - whichever is greater.
The exporter/renderer is designed to be mostly identical to the other renderers, so the iteration part of it should be fairly easy to understand if you are already acquainted with the others.
Users Manual
For this feature, I created a new tab in the bottom tabs list labeled "Povray". In the tab, you will find 4 columns.
Column 1 contains the "Export" button. You will click this when you are ready to export your fractal as a povray file.
PLEASE NOTE: While my filter for selecting the output file says ".pov", YOU MUST ADD THE EXTENSION! It will not add the extension for you unless Oracle changed that.
Column 2 contains the layer selection. There is a drop-down list where you select the layer whose export parameters you want to edit. When you make a selection, the following two columns will be updated.
Column 3 contains the layer parameters:
1) the x-form whose parameters you are modifying in Column 4
2) the maximum number of points that will be exported
3) the maximum number of iterations to process
When exporting, in order to prevent infinite exporting, the exporter will quit when either:
a) the user-set maximum number of points is reached or
b) the exporter has tried to output a number of points equal to the user-set max iterations.
The difference between these two is clarified by this fact: In order to limit the number of points Povray must render, the exporter excludes points that are within a certain radius of eachother. This radius is the "dot size".
NOTE: DO NOT SET THESE NUMBERS TOO HIGH!! If you do, the program will take forever to finish. Optimum value settings depend on the fractal, but I'd say maximum points should be 30,000 and maximum iterations 1,000,000 for file with a decent speed of rendering in Povray.
Column 4 contains the x-form parameters:
1) Povray shape
2) Dot size
3) Alpha setting (transparency)
These parameters all apply to a specific x-form, given in Column 3. NOTE: THE PARAMETERS FOR INDIVIDUAL X-FORMS ARE OVERRIDDEN BY THE PARAMETERS FOR THE LAST FINAL-X-FORM IF IT EXISTS!!!
The Povray shape is the shape that the point is represented by in Povray. There are three options:
1) Spheres
2) Cubes
3) Blob
Spheres are drawn directly around where the point lies in space. Rendering == fastest.
Cubes are drawn from the origin to where the point lies in space, although I think this maybe a bug. Rendering == middle.
Blob encompasses all of the points from the same x-form. Rendering == slowest.
The Dot Size is the radius of the point, inside of which other points are excluded. It becomes the radius of the sphere if the x-form shape is set to spheres.
In a future version of this software, I may instead make it to where points within that radius are excluded but they increase the opacity of the point in their local vicinity.
Alpha setting is the amount of transparency you wish to have. 0 is transparent, 1.0 is "fully" opaque (partially transparent, although I wonder if it gets any more so). A value of less than 0 (e.g. -1) turns off the transparency and makes the points fully opaque. However, in the Povray file, there is usually a filter parameter (transparency parameter) added which will not be there if the alpha is turned off.
Again, please note:
THE PARAMETERS FOR INDIVIDUAL X-FORMS ARE OVERRIDDEN BY THE PARAMETERS FOR THE LAST FINAL-X-FORM IF IT EXISTS!!!
In the Povray file itself, you will find at the top a set of definitions, including: UnivTex (universal texture); UnivSpec (universal specular lighting), a value between 0 and 1.0; DotSize0 (dot size of the first x-form of layer 1); and possibly Alpha0 (transparency setting of the first x-form of layer 1), a value between 0 and 1.0.
Pictures
