Astonishing 3D mandelbrot renderings
category: general [glöplog]
iq : it's awesome !
Seems that we won't have to wait 20 years for it.
Someone managed to get realtime mandelblub here:
www.gamedev.net/community/forums/topic.asp?topic_id=553643
www.youtube.com/watch?v=h5yLl9Z4C2A
Someone managed to get realtime mandelblub here:
www.gamedev.net/community/forums/topic.asp?topic_id=553643
www.youtube.com/watch?v=h5yLl9Z4C2A
Maybe it's a coder's colors thing but it doesn't look that good.
colours and quality i think.. looks very low quality overall, and it looks like it's clipping the draw distance heavily while moving to keep the frame rate acceptable. IQ's version looks way better (colours too!).
only coders and mathematicians see beauty in repetition ;P
only coders and mathematicians see beauty in repetition ;P
oniy coclers arid rnathematlcians see beauty in repetltlon ;P
0niy c0cler5 arid rnathematlcian5 5ee beauty in repetltl0n ;P
Quote:
Quote:
are you taking the "Exterior distance estimation" for the distance field described on Wikipedia or something else? i would be very interested in a distance field because you don't have to do the iteration thing at all if you have a good distance field -> faster and less branches -> realtime on gpu :D
Yes, it's a distance field, and I'm using the regular distance estimation G/|G'| (derived from expanding G(c+epsilon) with a order 1 Taylor series), where G=the Hubbard-Douady potential, G=(1/2^n)·log|z|. That means G'=(1/2^n)·|dz|/|z|, so distance = |z|·log|z|/|dz| My deduction is somehow wrong I think, but not sure why, because we are all using the 1/2 factor in front of that expression, I think Wikipedia has it too.
So to make it short, yes, I use the distance estimation so I have my distance field for raymarching \o/ What reminds me I should add some reflections!!!!
how do you calculate dz? is it just the direction of the ray or something? sorry for asking all those questions...
in the 2D case it's more or less simple:
Z=Z²+C ---> dZ = 2·Z·dZ + 1
and then you apply the chain rule, which means you have to iterate them both together:
For the 3d case (not quaternionic) you probably want to do it with the Jacobian, which is the matrix that tells you the derivative of each component of Z with respect to each component of C.
If you don't want to go that trouble, you can use G/|G'| which is really simple to compute.
Z=Z²+C ---> dZ = 2·Z·dZ + 1
and then you apply the chain rule, which means you have to iterate them both together:
Code:
for( int i=0; i<maxIterations; i++ )
{
dZ = 2*Z*dZ + 1;
Z = Z*Z + C;
....
}
For the 3d case (not quaternionic) you probably want to do it with the Jacobian, which is the matrix that tells you the derivative of each component of Z with respect to each component of C.
If you don't want to go that trouble, you can use G/|G'| which is really simple to compute.
iq: any trippy endless zoom effect ? :)
funkin insane, iq ruining the the scene.
Turn it into a 3D shooter, infinite terrain!
great stuff iq !
very nice! worth a thumb, at least
IQ .. does it .. like .. rulez the math !! .. great thingy !! .. Go on !! ..
iq- Oh, you made those mandelbulbs realtime? Great. While you're fixing stuff, can you get Outlook to sync with our new phones?
ROFL @ yesso!
Don't use doubles as my GPU doesn't support it ;)
Don't use floats as your fractals will look like poop.
i guess the Mandelbulb will yield best results on a 64bit-system anyway !
but nowadays you have to approximate and stuff to make it run in realtime, so quality suffers no matter how you achieve it !
so the real deal in RT will have to wait for some years/decades !
as said: it will never zoom endless, and especially not in RT !
but nowadays you have to approximate and stuff to make it run in realtime, so quality suffers no matter how you achieve it !
so the real deal in RT will have to wait for some years/decades !
as said: it will never zoom endless, and especially not in RT !
for some reason I think of Bill Lumberg from the movie Office Space saying yesso's comment, try it ;)
Well, I also tried to get this thing realtime. Here is the result so far, framerate is a bit low still and we're not at max resolution, but we're getting there i think...
Another view
These shots also have some kind of AO approximation in realtime from a single ray, here is how the AO looks like all alone (yes, noisy, i know..).
Another view
These shots also have some kind of AO approximation in realtime from a single ray, here is how the AO looks like all alone (yes, noisy, i know..).
just 4YI: Still-neutraspective has it already in realtime !
maybe not that mindblowing...yet! and it could be more hefty, but thats the style of still !
maybe not that mindblowing...yet! and it could be more hefty, but thats the style of still !
it's not the mandelbulb in their prod... sorry. jsyk. (or they have a serious bug/feature somewhere).