Logo by Dinkydau - Contribute your own Logo!


it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Visit the official fractalforums.com Youtube Channel
Welcome, Guest. Please login or register. March 04, 2024, 03:32:52 PM

Login with username, password and session length

The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!

Pages: [1]   Go Down
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: My first Mandelbulb  (Read 5546 times)
0 Members and 1 Guest are viewing this topic.
« on: December 29, 2009, 09:21:45 PM »

Dear all,

My first Mandelbulb... Ok, it's not that nice but... I did it myself  grin ... in C#. I implemented the shader based on a ray-casting strategy and using a Lambertian approach. In this image there is one single light and no ambient lighting.

The second image has less iterations, less noise, but less accurate of course... obviously it does not like Daniel White's images  wink

* Mandelbub1.jpg (199 KB, 710x674 - viewed 545 times.)

* Mandelbulb2.jpg (177 KB, 710x674 - viewed 564 times.)
« Last Edit: December 29, 2009, 09:38:55 PM by spooky » Logged
« Reply #1 on: January 03, 2010, 08:42:17 PM »

I added Phong shading for the specular highlights, implemented rotation matrix, added several user interface functionality and ported the computation part in C++...

* Mandelbulb3.jpg (190.94 KB, 836x674 - viewed 531 times.)
Fractal Iambus
Posts: 895

« Reply #2 on: January 03, 2010, 09:57:27 PM »

Wow! Program with user interface!  alien I have never made any GUI for Mandelbulbs  cheesy and all parameters I'm changing in source code (I hate building interfaces)

... but now I'm preparing something for Linux GTK+, but it will take lot of work, because there is around 50 parameters for interfacing and lots of modes.

Spooky, when you will have some version for tests I can be tester smiley Very interesting for me is performance of C# language because it operates on virtual environment.

« Reply #3 on: January 03, 2010, 10:27:12 PM »

Hello Budhi,

Thanks for the nice words... actually, I was like changing all these parameters in the source code when I realized that I will gain some time with the UI  grin I still need to add the Z rotation angle but I would like to concentrate on shading now, particularly ambient occlusion, which is substantially more complex than diffuse or specular shading. Also, I still need to try a better way to compute the normals using 4 samples instead of 2 like now.
As for the test, no prob, I can prepare a setup for you but this will run under Windows, so I don't know for Linux  huh? Porting into C++ the hardcore routines gave a ~30% performance increase which is much less than I expected  :smiley
« Reply #4 on: January 04, 2010, 07:33:42 PM »

... Very interesting for me is performance of C# language because it operates on virtual environment.

actually .NET application (.exe) contains Common Intermediate Language (CIL/MSIL) and is compiled to machine code by Just-In-Time compiler at runtime.
then C# (and any other Framework 'managed' language) in theory sholud be as fast as standard compiled code.
additionally .NET applications are cross-platform (i think it's good justification for performance drop down in some scenarios. any?)
i tested my raytracer (Windows Forms MDI) on Linux with Mono and works fine.
« Last Edit: January 04, 2010, 07:35:30 PM by gaston3d » Logged
« Reply #5 on: January 05, 2010, 10:22:36 PM »

Well, as for speed, the next stage would be CUDA... I got up to 30 x acceleration factors sometimes grin
Anyway, I finally implemented ambient occlusion, which is surprisingly simple using a brute force approach (Nvidia proposes an algorithm which is way faster, but not exact and quite more complex). I used an helix mapping of the sphere to "fire" rays from each point of the (visible) Mandelbulb and compute how many don't bounce on the object and go into "space" which is supposed to be "white"  cheesy

The picture below shows the first result, I added a small fraction of Lambertian diffuse shading... it seems to add a bunch of details but it is still not very good (looks like Xray imaging), maybe just tweaking the parameters maybe enough now huh?

* Mandelbulb4.jpg (189.82 KB, 836x674 - viewed 557 times.)
« Last Edit: January 05, 2010, 10:24:16 PM by spooky » Logged
« Reply #6 on: January 06, 2010, 10:10:50 PM »

And yet another one rendered using the cosine of Ambient Occlusion rays and tweaking a bit the parms, looks now better...

* Mandelbulb5.jpg (172.69 KB, 836x674 - viewed 605 times.)
Pages: [1]   Go Down
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Duplicate Subblue 3D Mandelbulb Ray Tracer Object in Mandelbulb 3d? Mandelbulb 3d Holtenwood 9 5538 Last post March 22, 2012, 09:07:26 AM
by DarkBeam
Mandelbulb Manipulations A14 Mandelbulber Gallery mclarekin 0 870 Last post December 14, 2014, 02:21:11 AM
by mclarekin
Mandelbulb with iclone Animations Showcase (Rate My short Animation) Nacer 1 3498 Last post June 07, 2015, 10:05:46 PM
by 3dickulus
mix Mandelbulb and Jwf Mandelbulb3D Gallery jackdp 0 901 Last post May 19, 2015, 07:08:21 PM
by jackdp
Mandelbulb Manipulations A75 Mandelbulber Gallery mclarekin 0 690 Last post June 04, 2015, 09:34:32 AM
by mclarekin

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.14 seconds with 26 queries. (Pretty URLs adds 0.006s, 2q)