Originally Posted by Nitorami
View Post
Announcement
Collapse
No announcement yet.
My complete collection
Collapse
X
-
Pixies Party
My most complex work so far. Parts of the code still need some tidying up but I hope at least the gross bugs are gone. It is best suited for party / celebrative style.
I am not entirely sure whether an endless loop can occur so please tell me if it hangs.
It runs at 30fps on my configuration but looks better at higher rates > 40fps.
MartinAttached Files
Comment
-
Wow, impressive sense of space. I just miss some elements defining the sky, besides the clouds, like stars or a planet.
Here's a new preset, based on some old ones.Attached Files
Comment
-
I was thinking the same, the sky could use some accents. Very nice work as usual though! I like how reactive it is.
I was thinking of your preset instantly after watching the first part of this demo video:
this was published a few hours ago and featured on the facebook channels of Nvidia Germany and PhysXInfo.com
Comment
-
Ignore
This is an old one, I just made the parameters editable in the preset initialisation section on special request. Apart from that, it is not different from the original.Attached Files
Comment
-
This is a very calm preset, showing a selection of views of the 3D mandelbulb fractal.
Anybody who is interested can add his own views. Well, there are certainly better tools for that than MD but it's quite fun and easy.
The short and simple way to play around:
The views are defined in the preset init section. Goto the preset init menu, set design = 1 and slightly modify the ax,ay,az parameters in the last line if (n==21, anz+=1; ....)
Details for those who want to know:
Each line in preset init code if(n==...) defines a view. Normally they cycle through, but if you set design= 1 or 2, the cycling stops and only the last view of the list is shown, without lighting and background. You can now modify it until you are happy with it.
To create a new view, simply copy & paste the last line to end of the list, and increment its number if(n==22....). As you can see, there are 10 parameters, which I will explain further down. Actually you do not need to define all parameters in each line, the missing ones are taken over from the line above. For instance, if you only want to increase zoom, it would be sufficient to write if (n==22, anz +=1; zo = 3, 0);
Do not confuse commas and semicolons or you'll get an error message.
What you see is a sort of mandelbulb fractal. It has the shape of a ball with a cliffy surface, which is the interesting part. The bulb is sitting at zero (0;0;0) of the coordinate system and its radius is approximately 0.8 to 1.1. The parameters are:
ax, ay, az are angles to rotate the bulb. Note that rotation also modifies the surface, which was originally a programming error but I decided to leave it in because it makes the structure more varied and interesting.
x,y,z is the camera position. Select a point close to the surfaces and outside the bulb. Increasing z moves forward, increasing x moves to the right, increasing y moves up. The camera always looks forward (in z-dirction).
zo is zoom. Use with care, the higher it gets, the more difficult it will be to move around, and even small changes of the position may take you inside the bulb (gray) or too far away (black). Set zo = 1 if you get lost, or restart from a working view.
Manoevering can get frustrating if you do not know what you are doing. Hint:
What you see is a cube shaped aperture of the bulb surface. You CANNOT look to infinite distance. Same as the width and hight of the viewing cube is limited, so is the depth. For instance there is a structure, slightly foggy, somewhere in middle distance. If you now increase zoom by factor 4, it will be gone, because the visible cube (width, height, depth) shrinks by factor 4 and the structure is now beyond the maximum viewing distance. To find it again, you need to carefully step closer by increasing z. To simplify that, I made the design=2 mode.
You should see a tinted draft image. Structures in the front part (20%-30% of the visible distance) will appear green. Zoom works around this distance. Adjust z until the structure becomes bright green, then increase zoom moderately, not more than factor 2-4 at a time. That should keep the desired structure in the focus.
Instead of zooming you may also just move closer to an object. Normally it is better to keep zoom low and to move close. That will show more structures in the back and make the view appear more spacious. At high zoom, the image will flatten, same principle as for a camera or microscope.
Very close structures are painted red, just as a warning that they may not render properly.
Remaining parameters:
su is a parameter to change the pattern of the surface. Normally 0.
br is brightness, normally 1
lim is the "bail out" parameter for the fractal. 4 is usually a good choice. Lower values make the structure more fragile, higher values more bulky. With higher values, the surface will also have more detail, but this is undesired when the resolution (zoom) is not sufficient to show the detail.
When finished, don't forget to set design=0.Attached Files
Comment
-
any idea if there is an issue with nvidia cards? i am just getting highly banded circular (concentric) grayscale gradients, or is it necessary to first adjust parameters to get anything interesting?
typical screenshot:
thank you martin in advance for taking the time to look at thisayahuasca chupacabra
Comment
-
Thanks for telling me, guys. This is most odd because I also have an Nvidia card.
I have however noted certain certain weird behaviour with the handling of q variables in the warp shader. Quite probably a problem of the compiler overoptimising certain expressions, killing the function.
I tried to fix that in the modified version attached but don't know whether it works on your cards. If it does not, would you please be so kind as to try the following workaround:
In the warp shader, rather at the top, where it reads
static const float iter = 6 + (myzoom >= 50), limit = q10;
please exchange q10 by a constant such as 2 and tell me whether that solves the problem
I cannot attach a sample image of how it should look like because the buggy forum software would reject jpgs as "invalid format".Attached Files
Comment
-
I think I found the problem. Inside the fractal iteration loop, very high numbers can occur and exceed the valid floating point range of the shader units. This seems to cause unexpected problems which may depend on the video driver, the code and the compiler. Normally such events should be trapped and throw an exception but the shaders don't do this, probably to save computing power. Checking two floats before multiplication would cost extra instructions and is normally not necessary.
I tried to bail out of the loop if the values get too large but that drops the frame rate significantly, so I clamped the numbers. Costs a few extra instructions as well but that cannot be avoided.
Anyway, this should now be a stable version.Attached Files
Comment
-
A taste of oldschool
Comment
-
Very cool, the lock and release. Here's also a carpet-like preset. Btw, the mandelbulb slideshow is working fine now.Attached Files
Comment
Comment