Logo by AGUS - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

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: Did you know ? you can use LaTex inside Postings on fractalforums.com!
 
*
Welcome, Guest. Please login or register. September 18, 2019, 11:14:36 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
  Print  
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 4310 times)
0 Members and 1 Guest are viewing this topic.
spooky
Guest
« 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
Spooky.


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

* Mandelbulb2.jpg (177 KB, 710x674 - viewed 418 times.)
« Last Edit: December 29, 2009, 09:38:55 PM by spooky » Logged
spooky
Guest
« 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 401 times.)
Logged
Buddhi
Fractal Iambus
***
Posts: 895



WWW
« 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.
Logged

spooky
Guest
« 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
Logged
gaston3d
Guest
« 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
spooky
Guest
« 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 403 times.)
« Last Edit: January 05, 2010, 10:24:16 PM by spooky » Logged
spooky
Guest
« 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 474 times.)
Logged
Pages: [1]   Go Down
  Print  
 
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 3700 Last post March 22, 2012, 09:07:26 AM
by DarkBeam
Mandelbulb Manipulations A14 Mandelbulber Gallery mclarekin 0 242 Last post December 14, 2014, 02:21:11 AM
by mclarekin
Mandelbulb with iclone Animations Showcase (Rate My short Animation) Nacer 1 445 Last post June 07, 2015, 10:05:46 PM
by 3dickulus
mix Mandelbulb and Jwf Mandelbulb3D Gallery jackdp 0 362 Last post May 19, 2015, 07:08:21 PM
by jackdp
Mandelbulb Manipulations A75 Mandelbulber Gallery mclarekin 0 222 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.148 seconds with 29 queries. (Pretty URLs adds 0.011s, 2q)