@tit_toinou: Good and relevant suggestions.
Features that could be useful :
- Betters sliders for float : there's no "fine tune" for example.
You can finetune float sliders by selecting them in the GUI (their widget will change to dark grey). Now, if you give the 3D canvas keyboard focus (which is also needed for keyboard navigation), you can use the arrow keys to fine tune: left/right changes value, up/down changes scale.
- Click a pixel in the image => we get a vec2 coordinates (for Julia seeds). The same thing for the Show-map.
Would be nice, but difficult to implement. The CPU doesn't know how the GPU vertex shader transforms the input coordinates. And returning data from the GPU is not easy - you'd have to create a FBO just to do it.
A user control to provide an image from hard drive. Then we coders would be able to use them (getPixel(x,y) etc..).
there is a special syntax for that in Fragmentarium:
[/list]
uniform sampler2D texture; file[texture2.jpg]
...
vec3 col = texture2D(texture,uv).xyz;
Relative file paths are searching according to the path of the executing script, and the include paths defined in preferences.
- double precision instead of float
This is covered in the FAQ:
http://blog.hvidtfeldts.net/index.php/2011/12/fragmentarium-faq/- For 2DJulia.frag : Separate crunching of fractal and coloring pixels.
To do so : First compute fractal, then store useful values. getColor2D() then gets the information it needs from the stored values. The result is that the user can tweak colors parameters more easily (since the output will be nearly immediate - no fractal is to be crunched when changing colors settings).
This requires multiple shaders and passes. It also requires that the user GUI system is made more intelligent, so that changing a slider for a shader doesn't trigger an update for earlier shaders.
I working on multiple buffers in Fragmentarium with progressive rendering right now, and it would be nice to able to change the HDR renderinging (e.g. tonemapping and gamma correction) without a complete recalculation. It would also be nice to adjust the coloring, but at least for the 3D fractals, you need to store a lot of information: normals, base color, AO contributions and so on. And it does not play nicely together with progressive rendering, since you cannot accumulate these attributes - only the final color values can be properly accumulated I think.
I don't understand how we can render animations. I see the "Render mode : Animation" but i don't know where do we choose uniforms values for t=0% and uniforms values for t=100%.
Animations are terrible primitive at the moment. The only thing you can do is to use the:
'uniform float time;'
which is updated for the frames in the animation. So all animation must be programmed based on this.
Of course, the original plan was to make it possible to change the uniforms and automatically interpolate between keyframes. Hopefully, when I get some time :-)