Snakehand
Guest
|
|
« Reply #30 on: December 17, 2009, 02:02:38 PM » |
|
I guess they look exactly how you'd expect them to look - the bulbs have bulbs have bulbs have bulbs...... Here's a deep zoom: http://www.fractalforums.com/gallery/?sa=view;id=1043Note that rendering using small DE threshold is much better than using render based on high iteration value because you don't get the problem of no detail in some areas with too much detail in others that you get using solid based on iteration. Could you please make a (re)post of your definite DE method. Currently it is buried in an overlong (albeit very interesting thread). I tried reading the entire thread, but got somewhat detoured on Marcus Aurelius etc, and didn't quite get through it all before bedtime...
|
|
|
Logged
|
|
|
|
KRAFTWERK
|
|
« Reply #31 on: December 17, 2009, 02:48:22 PM » |
|
Note that rendering using small DE threshold is much better than using render based on high iteration value because you don't get the problem of no detail in some areas with too much detail in others that you get using solid based on iteration.
Great explanation David, thanks! Now I get the DE treshold mportance. J
|
|
|
Logged
|
|
|
|
David Makin
|
|
« Reply #32 on: December 17, 2009, 03:17:15 PM » |
|
@David, I don't know why you stick with the value of 400 iterations. In most of my videos, including the tower zoom, I never had to set more than 20 iterations. I rather play with solid threshold.
When using the DE threshold as the "solid" condition then I use a high iteration value to ensure that all the points are "solid" based on the DE value and not based on the max iter value - using a lower iteration value can mean that some points get set as "solid" even without being close enough to "inside". Note that the number of iterations actually used in this case is determined entirely by the DE threshold.
|
|
|
Logged
|
|
|
|
David Makin
|
|
« Reply #33 on: December 17, 2009, 04:44:39 PM » |
|
Could you please make a (re)post of your definite DE method. Currently it is buried in an overlong (albeit very interesting thread). I tried reading the entire thread, but got somewhat detoured on Marcus Aurelius etc, and didn't quite get through it all before bedtime...
http://www.fractalforums.com/3d-fractal-generation/true-3d-mandlebrot-type-fractal/msg7812/#msg7812With this change to the way the "dists" array is used when checking a new step distance: if j<=miter if step<dists[j] repeat dists[j] = step j = j + 1 until j>miter || step>=dists[j] if j>miter mdist = step endif else step = dists[j] endif else;if j>miter miter = miter + 1 if step>mdist step = mdist endif while miter<j dists[(miter=miter+1)] = mdist endwhile dists[j] = step endif Where j is the iteration count for the current step, mdist is the absolute minimum found on the ray so far and miter is the maximum iterations used anywhere on the ray so far.
|
|
« Last Edit: December 17, 2009, 04:48:22 PM by David Makin »
|
Logged
|
|
|
|
cbuchner1
|
|
« Reply #34 on: December 17, 2009, 10:02:25 PM » |
|
...
And as a final point for today I would like to raise the question why the power 2 Mandelbulb rendered with the Pixelbender does not look similar to any of Bugman's renders as shown in the "Summary of 3D Mandelbrot Set Formulas" thread in the Theory forum. I am undecided whether this is an implementation bug or some other parameter that I have overlooked.
Hmmm, I also find it odd that the 8-degree looks different from the one on Daniel Whites site: Hmm so I definitely feel more at home in the "Quick" version of the script, as it generates the same output as the Optix raytracer version I've been working on earlier. In the "full" version Mandelbulb.pbx I did notice that the definitions of theta and phi seem reversed float r = length(z); float th = atan(z.y, z.x); float ph = asin(z.z / r); So theta is now in the x,y plane and phi is the rotation upwards and downwards. Hmm...
|
|
|
Logged
|
|
|
|
KRAFTWERK
|
|
« Reply #35 on: December 28, 2009, 01:43:31 PM » |
|
...
And as a final point for today I would like to raise the question why the power 2 Mandelbulb rendered with the Pixelbender does not look similar to any of Bugman's renders as shown in the "Summary of 3D Mandelbrot Set Formulas" thread in the Theory forum. I am undecided whether this is an implementation bug or some other parameter that I have overlooked.
Hmmm, I also find it odd that the 8-degree looks different from the one on Daniel Whites site: Hmm so I definitely feel more at home in the "Quick" version of the script, as it generates the same output as the Optix raytracer version I've been working on earlier. In the "full" version Mandelbulb.pbx I did notice that the definitions of theta and phi seem reversed float r = length(z); float th = atan(z.y, z.x); float ph = asin(z.z / r); So theta is now in the x,y plane and phi is the rotation upwards and downwards. Hmm... They do look a lot different... This could explain why... Also, I am running out of decimals Trying to do some deep zooming to see how fractal this thing is, I think it is very fractal so far, but with only 3 decimals for camera positioning it gets impossible to zoom longer in after a while, I can force 4 decimals but then the images gets very pixelled.. I am so happy with your script Subblue, but if you ever do something more on it this is my wishlist: More 0,0000000000decimals Ability to "slice" the brot. (want to see the inside!!!! Thanks again for the script!!!!/ Johan
|
|
|
Logged
|
|
|
|
subblue
|
|
« Reply #36 on: December 28, 2009, 04:47:58 PM » |
|
Also, I am running out of decimals Trying to do some deep zooming to see how fractal this thing is, I think it is very fractal so far, but with only 3 decimals for camera positioning it gets impossible to zoom longer in after a while, I can force 4 decimals but then the images gets very pixelled.. I am so happy with your script Subblue, but if you ever do something more on it this is my wishlist: More 0,0000000000decimals Ability to "slice" the brot. (want to see the inside!!!! Thanks again for the script!!!!/ Johan Johan, the biggest limitation is due to PixelBender (and many GPUs) not supporting double floats. Very quickly you can get to the numerical limit for standard floating point numbers - you'll start seeing lots of pixel noise. The PixelBender interface either in the IDE or Photoshop also rounds up very small parameter numbers (a real pain!). I added the cameraPositionFine to get around some of this, so get as close as you can with the main cameraPosition slider and then use the cameraPositionFine slider to get that bit closer. The ability to slice the Mandelbulb is also on my list of things to implement. I've been adding a few other features, like alternative formulas and alternating seed/power values that Trifox has suggested. I'll be releasing an update soon.
|
|
|
Logged
|
|
|
|
KRAFTWERK
|
|
« Reply #37 on: December 29, 2009, 09:14:24 AM » |
|
Johan, the biggest limitation is due to PixelBender (and many GPUs) not supporting double floats. Very quickly you can get to the numerical limit for standard floating point numbers - you'll start seeing lots of pixel noise. The PixelBender interface either in the IDE or Photoshop also rounds up very small parameter numbers (a real pain!). I added the cameraPositionFine to get around some of this, so get as close as you can with the main cameraPosition slider and then use the cameraPositionFine slider to get that bit closer.
The ability to slice the Mandelbulb is also on my list of things to implement. I've been adding a few other features, like alternative formulas and alternating seed/power values that Trifox has suggested. I'll be releasing an update soon.
Well I suspected this, guess I have to use another program to get really deep, but I like your script so much, easy to change things in. (Found your Droste effect-filter yesterday, cool!) Looking forward to your updates, the best images I have done so far with your script is here: http://mandelwerk.deviantart.com/gallery/I hope you think it is a good thing that I give you cred and link to your site on all images, if not I remove the links. Regards J
|
|
« Last Edit: December 29, 2009, 12:59:51 PM by KRAFTWERK »
|
Logged
|
|
|
|
|
AndyAlias
Forums Newbie
Posts: 9
|
|
« Reply #39 on: February 22, 2010, 04:34:44 AM » |
|
I've been playing around with these shaders too.
If you look at the end of powN() function in MandelbulbQuick, and change sin(zo) to -sin(zo), the second order Mandelbulb looks a lot like the picture above, though I think there are still artifacts (I can see some disconnected prongs at the horizontal line of symmetry).
|
|
|
Logged
|
|
|
|
KRAFTWERK
|
|
« Reply #40 on: February 23, 2010, 01:56:46 PM » |
|
Hi Andy, I tried your formula change, and you are right it looks more like "The original".
|
|
|
Logged
|
|
|
|
FractalFoundation
Alien
Posts: 25
Infinite Math, Infinite Beauty, Infinite Love
|
|
« Reply #41 on: February 27, 2010, 12:50:08 AM » |
|
I've been avidly creating animations with the Mandelbulb Quartz Composer patch - and loving it! Following Tom's suggestion on subblue.com, I purchased the Quartz Crystal utility that allows you to export animations as Quicktime movies or image sequences. I've been having some trouble, and wonder if anyone else is having similar experiences, and might have some suggestions. My animations render ok when I do them at low res, say 480 pixels. But higher than that, like 1024, the exporter starts dropping frames. And when I do it at really high res, 2048x2049 - which is what I need to be able to render, then it garbles the images that survive and drops about half of them. I wonder - Am I just pushing the program too hard, and it's hopeless, or am I perhaps doing something wrong. I'd love to hear if anyone's succeeded in outputting hires animations with this setup. Thanks!
|
|
|
Logged
|
|
|
|
subblue
|
|
« Reply #42 on: February 27, 2010, 08:10:16 AM » |
|
I've been avidly creating animations with the Mandelbulb Quartz Composer patch - and loving it! Following Tom's suggestion on subblue.com, I purchased the Quartz Crystal utility that allows you to export animations as Quicktime movies or image sequences. I've been having some trouble, and wonder if anyone else is having similar experiences, and might have some suggestions. My animations render ok when I do them at low res, say 480 pixels. But higher than that, like 1024, the exporter starts dropping frames. And when I do it at really high res, 2048x2049 - which is what I need to be able to render, then it garbles the images that survive and drops about half of them. I wonder - Am I just pushing the program too hard, and it's hopeless, or am I perhaps doing something wrong. I'd love to hear if anyone's succeeded in outputting hires animations with this setup. Thanks!
I've found QuartzCrystal can actually lock up my machine if I try to push the renders too high. Ideally it would be better if a single frame could be rendered as a series of 'buckets' but I haven't figured out how to implement that in QC yet. However, I am busy working on a version of the plugin that will offer native GPU acceleration directly within AfterEffects - pretty much a complete rewrite of the original PixelBender version. I'm currently using it in production at the moment to create a music video and hope to have it released within the next month or so.
|
|
|
Logged
|
|
|
|
KRAFTWERK
|
|
« Reply #43 on: March 01, 2010, 04:17:03 PM » |
|
Would be nice to see your mandelbulb (?) music video when it is official Subblue...
J
|
|
|
Logged
|
|
|
|
|