jwildfire.org

The official JWildfire forum
It is currently Wed Oct 03, 2018 12:44 pm

All times are UTC+01:00




Post new topic  Reply to topic  [ 8 posts ] 
Author Message
 Post subject: JWildfire-Povray
PostPosted: Sat Feb 15, 2014 7:02 am 
Offline
User avatar

Joined: Mon Jun 03, 2013 7:44 am
Posts: 209
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
Image

Image

Image

_________________
Fractal artwork: http://ablipintime.deviantart.com


Last edited by chronologicaldot on Sun Feb 16, 2014 6:21 am, edited 1 time in total.

Top
   
 Post subject: JWildfire-Povray Q and A
PostPosted: Sat Feb 15, 2014 7:04 am 
Offline
User avatar

Joined: Mon Jun 03, 2013 7:44 am
Posts: 209
This post reserved for questions and answers.

_________________
Fractal artwork: http://ablipintime.deviantart.com


Top
   
 Post subject: Re: JWildfire-Povray
PostPosted: Sun Feb 16, 2014 12:22 am 
Offline
Site Admin
User avatar

Joined: Wed May 15, 2013 10:28 pm
Posts: 1325
Nice work! (The link on first image leads to something else, but np).
Please note that I'm currently working on JWildfire 2.0, I will probalby do changes which will conflict with yours. So I would suggest to coordinate things. What do you think?

Andreas


Top
   
 Post subject: Re: JWildfire-Povray
PostPosted: Sun Feb 16, 2014 6:24 am 
Offline
User avatar

Joined: Mon Jun 03, 2013 7:44 am
Posts: 209
Certainly, let's coordinate.
So I take it you're changing up the interface?

btw - I fixed the link in the first post. I'm not sure why DA was redirecting like that.

_________________
Fractal artwork: http://ablipintime.deviantart.com


Top
   
 Post subject: Re: JWildfire-Povray
PostPosted: Sun Feb 16, 2014 11:28 pm 
Offline
Site Admin
User avatar

Joined: Wed May 15, 2013 10:28 pm
Posts: 1325
I probably/maybe change everything, unfortunately I currently have no time to work continuously on this, I refactor everything which comes into my way ;-)


Top
   
 Post subject: Re: JWildfire-Povray
PostPosted: Wed Feb 19, 2014 5:08 am 
Offline
User avatar

Joined: Mon Jun 03, 2013 7:44 am
Posts: 209
I noticed you changed the JWFNumberField for "motion curve editors". What are these "motion curve editors"?
I also see you now have tinaController getFlameControls(). I'm not sure how things are being restructured, but do you think these changes will have any impact on what I've done?

_________________
Fractal artwork: http://ablipintime.deviantart.com


Top
   
 Post subject: Re: JWildfire-Povray
PostPosted: Wed Feb 19, 2014 10:28 pm 
Offline
Site Admin
User avatar

Joined: Wed May 15, 2013 10:28 pm
Posts: 1325
Quote:
I noticed you changed the JWFNumberField for "motion curve editors". What are these "motion curve editors"?
All this is work in progress and may change, and will not be documented before release.
Quote:
I also see you now have tinaController getFlameControls().
To make the main controller smaller I create delegates for each group of controls.
Quote:
I'm not sure how things are being restructured, but do you think these changes will have any impact on what I've done?
It is not clear yet, the whole rendering will change in a way that it can be distributed over available computing-devices. But there will remain a raster and iterators, maybe some events, which should be sufficient to export things.

All in all it needs time because I have a "real job" beneath all those things, there is no ETA yet.

Andreas


Top
   
 Post subject: Re: JWildfire-Povray
PostPosted: Mon Mar 03, 2014 12:12 am 
Offline
User avatar

Joined: Mon Jun 03, 2013 7:44 am
Posts: 209
BUG FIX:

Please change function removeCurrXForm() in PovrayGUI.java from:
Code:
int row tinaFrame.getTinaTransformationsTable().getSelectedRow(); // don't change this line
xformSelect.removeItemAt(row);
to:
Code:
int row tinaFrame.getTinaTransformationsTable().getSelectedRow();
if ( row >= 0 && row < xformSelect.getItemCount();
xformSelect.removeItemAt(row);
// possible addendum (though not needed, afaik):
else refreshXFormSet();
My fault for not doing out-of-bounds checking to begin with, but I thought it was handled by the Java function.

_________________
Fractal artwork: http://ablipintime.deviantart.com


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 8 posts ] 

All times are UTC+01:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Theme Created by HOLLYSMOKE
Theme updated to phpBB 3.1.6 by KamijouTouma
Theme Version is 3.1.6-ss2