Forum Discussion
obzen
13 years agoExpert Protege
Real Time Mandelbulb
Anybody thought doing a real time mandelbulb fligh through with the Oculus in mind? That would be pretty trippy :) And low requirements, apart from the actual coding itself, but no assets to speak of. Perfect for programmers!
58 Replies
- geekmasterProtegeFor any audio nerds here, this website provides a GLSL *AUDIO* sandbox:
http://www.cappel-nord.de/glsl-audio-sandbox/
The video it creates is really just raw sound data, not images. - mariusHonored Guest
"geekmaster" wrote:
"corysama" wrote:
This is not real time, but someone has already rendered a fly through and put the render through a Rift lens warp.
http://www.youtube.com/watch?v=gHcGOZvJODI
Thanks for that link! I got started on tweaking Boxplorer for the Rift before I got my Rift DK, but after I got my Rift DK I forgot all about Boxplorer! Thanks for the reminder!
And that youtube video has a link to the "Riftified" Boxplorer2 source code:
https://code.google.com/p/boxplorer2/downloads/list
I am not sure if it has head tracker code yet, but if not, I plan to add it. :D
Sorry, late to the party here. :D
Yes, I added some modicum of head tracking already: change SensorBox to spew quat4f to udp:1337 and boxplorer2 will blend it into its current orientation. Look for the HYDRA defines in the source, although the hydra support only uses the thumbsticks so far. Too many inputs :shock:
Beware, cruft in progress.
I'd love some hydra/oculus/kinect aficionados contributing. - mariusHonored Guest
"marius" wrote:
"geekmaster" wrote:
"corysama" wrote:
This is not real time, but someone has already rendered a fly through and put the render through a Rift lens warp.
http://www.youtube.com/watch?v=gHcGOZvJODI
Thanks for that link! I got started on tweaking Boxplorer for the Rift before I got my Rift DK, but after I got my Rift DK I forgot all about Boxplorer! Thanks for the reminder!
And that youtube video has a link to the "Riftified" Boxplorer2 source code:
https://code.google.com/p/boxplorer2/downloads/list
I put up a recent build for win32 and the tweaked sensorboxtest with a couple of shaders at that download link.
Including IQ's excellent catacombs and angels. And the slow fp64 shader and keyframes of that video. - drashHeroic ExplorerI tried all of these shaders, and the only one that I couldn't get working was the mandelbox one due to "unable to find compatible overloaded function abs(float64_t)" errors. Running Win8 64-bit with GTX680.
Now, onto the glowing praise. :) The reflectoids one just blew me away. I was already a big fan of this particular fractal but to be able to fly deep into it and to be seamlessly miniaturized in the process is just breathtaking! I have to assume my brain has learned something entirely new in the process.
Many many thanks for this!
:D - mariusHonored Guest
"drash" wrote:
I tried all of these shaders, and the only one that I couldn't get working was the mandelbox one due to "unable to find compatible overloaded function abs(float64_t)" errors. Running Win8 64-bit with GTX680.
Now, onto the glowing praise. :) The reflectoids one just blew me away. I was already a big fan of this particular fractal but to be able to fly deep into it and to be seamlessly miniaturized in the process is just breathtaking! I have to assume my brain has learned something entirely new in the process.
Many many thanks for this!
:D
thanks! Most of the props for reflectoids go to knighty @ fractalforums.com. Reflections work wonders in 3d.
The mandelbox shader tries to use double precision, and I only tested it w/ AMD cards. Sounds like the GTX680 should be able to do double precision so I'm probably hitting a minor difference? That shader is slow, as expected but it's fun to dive deep.
I didn't include all Oculus compatible shaders you can get via svn.. Work in progress. I need to figure out a good navigation scheme using hydras.. - mariusHonored Guest
"drash" wrote:
I tried all of these shaders, and the only one that I couldn't get working was the mandelbox one due to "unable to find compatible overloaded function abs(float64_t)" errors. Running Win8 64-bit with GTX680.
Got some line numbers with those errors?
Or could you try tweak the shader source directly at .\mbox-fp64\fragment.glsl to make it work for nvdia?
Kinda intrigued as to what the difference between amd and nvidia compilers is here. A Google search did not reveal anything obvious :?
With their Titans nvidia at last provides non-crippled double precision performance, it seems.
But I don't have one to test with ;) - drashHeroic Explorer
"marius" wrote:
Got some line numbers with those errors?
Here you go!E:\STUFF TO TRY WITH RIFT\win32-oculus-mandelbulb>.\boxplorer.exe mbox-fp64\ --o
culus
DECLARE_DE(de_menger)
DECLARE_DE(de_PKlein)
DECLARE_DE(de_mandelbox)
DECLARE_DE(de_mandelbox_64)
DECLARE_DE(de_Z0_64)
DECLARE_DE(de_ssponge)
DECLARE_DE(de_cylinder)
DECLARE_DE(de_sphere)
DECLARE_DE(de_combi)
DECLARE_DE(d_PKlein)
setupDirectories : E:\STUFF TO TRY WITH RIFT\win32-oculus-mandelbulb\, E:\STUFF
TO TRY WITH RIFT\win32-oculus-mandelbulb\mbox-fp64\, default.cfg
Camera::loadConfig : #define c c_mandelbox
Camera::loadConfig : #define d de_mandelbox
Camera::loadConfig : de_func de_mandelbox
Camera::loadConfig : read 'default.cfg'
initGraphics : depth size 24
readFile : read 'E:\STUFF TO TRY WITH RIFT\win32-oculus-mandelbulb\mbox-fp64\ver
tex.glsl'
readFile : read 'E:\STUFF TO TRY WITH RIFT\win32-oculus-mandelbulb\mbox-fp64\fra
gment.glsl'
Location | Type | Name
------------------------------------------------
Error in GLSL fractal shader compilation:
--fragment:
0(139) : error C1115: unable to find compatible overloaded function "abs(f64vec4
)"
0(153) : warning C7011: implicit cast from "f64vec3" to "vec3"
0(163) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(163) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(164) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(164) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(165) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(165) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(188) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(299) : warning C7011: implicit cast from "f64vec3" to "vec3"
0(302) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
--link:
Fragment info
-------------
0(139) : error C1115: unable to find compatible overloaded function "abs(f64vec4
)"
0(153) : warning C7011: implicit cast from "f64vec3" to "vec3"
0(163) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(163) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(164) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(164) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(165) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(165) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(188) : error C1115: unable to find compatible overloaded function "abs(float64
_t)"
0(299) : warning C7011: implicit cast from "f64vec3" to "vec3"
0(302) : error C1115: unable to find compatible overloaded function "abs(float64
_t)" - PatHightreeHonored GuestThis is just amazing!
I can just cruise through these worlds ad infinitum.
This is the exact reason I got myself a Rift!
I love the way the sensitivity decreases when you get near the solids, you can explore tiny features and crevices without much trouble.
It still needs a little work on the camera movement though, navigation isn't performed in camera space, so sometimes a mouse move or keystroke has weird results.
Having the same problem with mandelbox on my GTX570.
Thanks very much for opening these worlds for Oculus eyes. - mariusHonored Guest
"PatHightree" wrote:
This is just amazing!
I can just cruise through these worlds ad infinitum.
This is the exact reason I got myself a Rift!
I love the way the sensitivity decreases when you get near the solids, you can explore tiny features and crevices without much trouble.
Yeah, getting distance estimates both in CPU and GPU makes navigating much more pleasant. And limiting. But adapting virtual head size works here.
It still needs a little work on the camera movement though, navigation isn't performed in camera space, so sometimes a mouse move or keystroke has weird results.
Ack. quaternions and row/column matrix flavors are the bane of my hacking. And now I have hydras to contend with.. to be continued.
Having the same problem with mandelbox on my GTX570.
Yeah that seems pervasive on nvidia. Probably my fault. It really is just a double precision version of the rrrola mandelbox shader, fwiw. Waiting for a shader guru to chime in and say abs(double) is not legit glsl or something.
Thanks very much for opening these worlds for Oculus eyes.
You're welcome. As soon as I became aware of 3d fractals, there had to be stereoscopy And Rift made it even more obvious :D - ld0dHonored GuestI also have written a realtime mandelbox (not -bulb) renderer, now running on the Rift. It's most of time time 60fps on my Radeon HD 6970, but float precision only at that speed.
Linux only, at the moment. But it features nice "flight simulator" style gamepad controls, and renders at full resolution!
Now if I only had a Windows setup to port it, to make it more available to others... any volunteers?
Edit: oh, that first (white) video in the first post was btw mine :-)

There are some more screenshots of the non-Rift version at http://www.fractalforums.com/images-showcase-%28rate-my-fractal%29/different-faces-of-the-mandelbox/.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 3 months ago
- 3 months ago
- 3 years ago