Rrrola
|
|
« on: December 04, 2010, 02:54:52 PM » |
|
Hi there! I′ve got in gear and started a Sourceforge project for the Amazing Boxplorer. Get it on http://sourceforge.net/projects/boxplorer. I′m looking for contributors. What′s needed right now: - major refactorization (the code is horrible)
- Visual C++ compatibility
- OSX port
- 64-bit compatibility
- better (non-modal) controls, a HUD
- movie recording, parameter interpolation
- progressive rendering
- your own shaders (IFS, Mandelbulb)
The project will continue to use the C language and the SDL+OpenGL combo for cross-platform compatibility, but ports (e.g. to WebGL or handhelds) are welcome. If you just want to contribute shaders or ideas, drop them here and I might take them into consideration. Enjoy!
|
|
|
Logged
|
|
|
|
marius
Fractal Lover
Posts: 206
|
|
« Reply #1 on: December 04, 2010, 09:52:44 PM » |
|
Hi there! I′ve got in gear and started a Sourceforge project for the Amazing Boxplorer. Get it on http://sourceforge.net/projects/boxplorer. I′m looking for contributors. What′s needed right now: - major refactorization (the code is horrible)
- Visual C++ compatibility
- OSX port
- 64-bit compatibility
- better (non-modal) controls, a HUD
- movie recording, parameter interpolation
- progressive rendering
- your own shaders (IFS, Mandelbulb)
The project will continue to use the C language and the SDL+OpenGL combo for cross-platform compatibility, but ports (e.g. to WebGL or handhelds) are welcome. If you just want to contribute shaders or ideas, drop them here and I might take them into consideration. Enjoy! Cool! Have you considered code.google.com for hosting? Really like their code review tools, visual diff etc. Which version did put out there? The latest you released? My copy has been diverging pretty drastically over time. Got the VC++, the 3d modes I posted about before and been hacking on splining between keyframes..
|
|
|
Logged
|
|
|
|
Rrrola
|
|
« Reply #2 on: December 04, 2010, 11:54:00 PM » |
|
Have you considered code.google.com for hosting? I haven′t, but why not. http://code.google.com/p/boxplorerWhich version did put out there? The latest you released? It′s the latest released version from July (1.02) to have a baseline to build on. I′ve been experimenting with hybrids and progressive rendering, but the basic code is in bad shape.
|
|
|
Logged
|
|
|
|
marius
Fractal Lover
Posts: 206
|
|
« Reply #3 on: December 05, 2010, 12:02:27 AM » |
|
Have you considered code.google.com for hosting? I haven′t, but why not. http://code.google.com/p/boxplorerWhich version did put out there? The latest you released? It′s the latest released version from July (1.02) to have a baseline to build on. I′ve been experimenting with hybrids and progressive rendering, but the basic code is in bad shape. Well, but there's so little code it remains workable ;-) How strongly do you feel about no C++? Some things (stl::vector etc) are _really_ handy.. Just starting playing with some cheap 'progressive' rendering: disable double buffering, enable alpha, add a uniformi 'frameno' that monotonically increases. in start of fragment.glsl:main() // 'random' sampling based some bits of dot. if ((int(dot(dp, dp) * 10000) & 3) != (frameno & 3)) { gl_FragColor = vec4(0,0,0,0); return; } So when you move, you see old pixels but when you stop moving the frame fills in.
|
|
|
Logged
|
|
|
|
marius
Fractal Lover
Posts: 206
|
|
« Reply #4 on: December 05, 2010, 07:46:54 AM » |
|
Hi there! I′ve got in gear and started a Sourceforge project for the Amazing Boxplorer. Get it on http://sourceforge.net/projects/boxplorer. I′m looking for contributors. What′s needed right now: - major refactorization (the code is horrible)
- Visual C++ compatibility
- OSX port
- 64-bit compatibility
- better (non-modal) controls, a HUD
- movie recording, parameter interpolation
- progressive rendering
- your own shaders (IFS, Mandelbulb)
The project will continue to use the C language and the SDL+OpenGL combo for cross-platform compatibility, but ports (e.g. to WebGL or handhelds) are welcome. If you just want to contribute shaders or ideas, drop them here and I might take them into consideration. Enjoy! After lots of glmatrix, glfrustum and glsl cursing, I have a rough version that projects a splined flight path between keyframes live in the z-buffered frame! See attached screenshot. Goal is to get some visual feedback on where the hell the CatmullRom spline veers off the intended path. But writing the z-buffer from the shader works. glFrustum and such are very much in sync with the vertex shader, etc. Lots of possibilities open up. And, automagic driver-based stereoscopy becomes easier with a properly written z-buffer.
|
|
|
Logged
|
|
|
|
visual.bermarte
|
|
« Reply #5 on: December 05, 2010, 08:50:09 AM » |
|
|
|
« Last Edit: December 05, 2010, 03:31:04 PM by visual »
|
Logged
|
|
|
|
visual.bermarte
|
|
« Reply #6 on: December 05, 2010, 04:04:40 PM » |
|
A simple Menger-box float de_box(vec3 z0) { //menger box //from Master-Knighty //brutal test int i; float scale=3.0; float r; for (i=0;i<iters;i++){ vec3 zz0; z0.x=abs(z0.x);z0.y=abs(z0.y);z0.z=abs(z0.z); if( z0.x- z0.y<0.0){zz0.x=z0.y;z0.y=z0.x;z0.x=zz0.x;} if( z0.x- z0.z<0.0){zz0.x=z0.z;z0.z=z0.x;z0.x=zz0.x;} if( z0.y- z0.z<0.0){zz0.y=z0.z;z0.z=z0.y;z0.y=zz0.y;} zz0.x=z0.x-1.0;zz0.y=z0.y-1.0;zz0.z=z0.z-1.0; r=max(zz0.x,max(zz0.y,zz0.z)); z0.x=z0.x*scale-1.0*(scale-1.0); z0.y=z0.y*scale-1.0*(scale-1.0); z0.z=z0.z*scale; if(z0.z>0.5*(scale-1.0)) z0.z-=(scale-1.0); } float menger= r*pow(scale,1.0-float(i)); return max(menger,-menger); } an example (.cfg file) would be something like width 640//as you like height 480//same fullscreen 0 multisamples 1//16 32? fov_x 91.3085 fov_y 75 speed 0.005 keyb_rot_speed 5 mouse_rot_speed 1 min_dist 0.0001 max_steps 128 iters 13 color_iters 9 ao_eps 0.0005 ao_strength 0.1 glow_strength 5.5//maybe it's better to change it? dist_to_color 8 position -0.8817 0.616461 -0.860055 direction -0.751845 0.252751 -0.608975 upDirection -0.365989 0.608274 0.704314 par0 0.25 -1.77 par1 0 0 par2 0 0 par3 0 0 par4 0 0 par5 0 0 par6 0 0 par7 0 0 par8 0 0 par9 0 0
|
|
« Last Edit: December 05, 2010, 04:33:24 PM by visual »
|
Logged
|
|
|
|
knighty
Fractal Iambus
Posts: 819
|
|
« Reply #7 on: December 08, 2010, 10:14:58 PM » |
|
Another Menger I've mistakenly posted this shader (in fact, I've corrected some things meanwhile) in another thread yesterday . Suggestion for the HUD: Anttweakbar.
|
|
« Last Edit: December 08, 2010, 10:19:02 PM by knighty, Reason: Still tired apparently :o) »
|
Logged
|
|
|
|
Rrrola
|
|
« Reply #8 on: December 09, 2010, 03:56:18 PM » |
|
Just starting playing with some cheap 'progressive' rendering. I'd rather make progressive rendering from lowres samples instead (with nice upsampling). The functionality would speed up full-res too (cone-like tunnels could be cut out in lowres pass and provide better starting points for hires rays). Z-buffer will be necessary for this. Regrding C++: For Boxplorer it's IMHO better to have the main functionality data-driven (shaders and parameter files), so I'll keep it in C as the lowest common denominator. If it would be a bigger project, I'd skip C++ and go all the way to D 2.0. I like Anttweakbar and will incorporate it. I think the best way to do video recording is to save all frame configs (deltas) and smooth them with a filter to mask out the jumpy controls. On-screen path grabbing and deforming would be really cool too. Nice sponge. :-)
|
|
|
Logged
|
|
|
|
visual.bermarte
|
|
« Reply #9 on: December 11, 2010, 02:44:01 PM » |
|
here is my mbulb's test. to run it please use Marius's version (do a backup of the original fragment/s before) mod.controls: 2+left/right > change power 4+left/right > bailout 6+up/down,7+left/right,7+up/down > JuliaC 6+left/right > JuliaFactor 8+left/right > RadiolariaFactor 9+up/down > RadiolariaPower
|
|
« Last Edit: December 11, 2010, 03:09:48 PM by visual, Reason: adding img as reference »
|
Logged
|
|
|
|
Rrrola
|
|
« Reply #10 on: December 11, 2010, 05:05:59 PM » |
|
visual: Please use atan(y,x) instead of atan2 and mix instead of lerp for compatibility.
|
|
|
Logged
|
|
|
|
|
marius
Fractal Lover
Posts: 206
|
|
« Reply #12 on: December 19, 2010, 09:18:47 AM » |
|
Find attached a dump of Rrrola's boxplorer as I have been hacking up. Got infected with some C++ but trying to stay with the original spirit Rrrola, have a look to see whether it could contribute to your opensource trunk. Also included the .cfg and keyframes I just rendered this short sequence with:
http://www.youtube.com/v/DXEQrKbaYhQ&rel=1&fs=1&hd=1In the marius-1.cfg.data/fragment.glsl you can see some LoD attempts, fog and some rotation that makes for interesting color patterns ;-) Also added the bulb and menger shaders that were posted here earlier. Try out the keyframe editing for kicks. It's pretty rough but does provide some control over what the splined path looks like. There's an addendum README-20101218.txt that tries to describe the control changes. Still a lot of loose ends but I'm not sure I have time over the holidays to tweak much (roadtrip..). I figured some of you might be interested in playing with it in the meantime -marius
|
|
|
Logged
|
|
|
|
marius
Fractal Lover
Posts: 206
|
|
« Reply #13 on: December 21, 2010, 12:18:54 AM » |
|
Tested / tweaked / updated some more, since I noticed building on MacOS or Linux was painful. Find attached a version with basic commandline makefiles for Windows, MacOS and Linux. See README-20101219.txt. You need the SDL runtime (and SDL-dev for osx and linux). Get it at http://www.libsdl.org/download-1.2.phpCopy Makefile.<your-os> to Makefile and run make (nmake on windows). I compile on Windows with the free Visual C++ 2010 Express ( http://www.microsoft.com/express/Downloads/) For Windows, you can use the attached sdl-windev.zip. Unzip it in the boxplorer directory. Besides that, all you need is SDL.dll in your path somewhere. Once you have successfully built ./boxplorer, run it with one of the .cfg files as argument. For instance './boxplorer animation-1.cfg'. I have Windows always open .cfg files with boxplorer.exe, makes for easy clicking around SPACE makes a keyframe at current view. Hit the HOME key to start animation (speed depends on your computer..). TAB or END to stop animating. Move around with WASD+mouse. Quit with 2x ESC. To render flight sequence to disk, 'boxplorer bulb.cfg --render'. Writes bunch of .tga files to ./bulb.cfg.data/. Best with up-to-date graphics card _and_ drivers . I run it on a ATI 5850 these days. -marius
|
|
|
Logged
|
|
|
|
marius
Fractal Lover
Posts: 206
|
|
« Reply #14 on: December 23, 2010, 06:33:31 AM » |
|
Another Menger I've mistakenly posted this shader (in fact, I've corrected some things meanwhile) in another thread yesterday . Suggestion for the HUD: Anttweakbar. Added interlaced stereoscopic output for a Zalman display. Playing with that and this blended menger shader is endless fun, nice & speedy! Getting 30 fps at 1920x1080, perfect for getting spiked out of the screen in realtime
|
|
|
Logged
|
|
|
|
|