Welcome to Fractal Forums

Fractal Software => Programming => Topic started by: Efoia on August 24, 2016, 09:04:26 PM




Title: Graphics and fractal programmer here
Post by: Efoia on August 24, 2016, 09:04:26 PM
Hi everyone, I'm a C++ software engineer with a focus in computer graphics.  I've been developing my own 3D fractal software for about 2 years now called Oak Fractal Sandbox.  I've gotten really useful information from these forums over the years so thank you all :).  I currently don't have plans for a public release but I hope you all still find it interesting.  Hopefully I can at least be of some help to people attempting to write the same kind of software.

Here are a few renders:

(http://www.davidbyrd.io/wp-content/uploads/2016/10/pseudo-kleinian-small.png)

(http://www.davidbyrd.io/wp-content/uploads/2016/07/cylinders2-dof-gi.png)

(http://www.davidbyrd.io/wp-content/uploads/2016/07/ibl-shadow-julia-underpass.png)

Current features:

Appearance
    - lighting with multiple light sources and colors
    - shadows, soft and hard
    - ambient occlusion
    - fog
    - configurable colors
    - Hosek-Wilkie sky model
    - global illumination
    - image-based lighting
    - depth of field
    - geometric orbit traps
User interaction
    - realtime geometry manipulation
    - orbit camera and flight-sim camera controls, automatic distance-based camera speed adjustment
    - GUI which lets users modify geometry and appearance in realtime
    - highly data-driven and configurable (fractals, lights, colors, etc. all loaded from human-readable config files)
    - boolean operations on multiple solids
Rendering
    - super/sub-sampling (render resolution can vary independently from screen resolution)
    - high-resolution image and video rendering
    
Thanks for reading, I have more info on my website at http://www.davidbyrd.io/oak/.


Title: Re: Graphics and fractal programmer here
Post by: tit_toinou on November 04, 2016, 08:16:16 PM
Great renders !  :)


Title: Re: Graphics and fractal programmer here
Post by: quaz0r on November 04, 2016, 10:19:52 PM
looks very nice, and it is also always nice to see C++ people endeavor to make new programs in modern C++.  i guess you intend for your program to be payware though?  unfortunately that lands it squarely in the "irrelevant" category.   :police:


Title: Re: Graphics and fractal programmer here
Post by: Efoia on November 04, 2016, 10:32:52 PM
looks very nice, and it is also always nice to see C++ people endeavor to make new programs in modern C++.  i guess you intend for your program to be payware though?  unfortunately that lands it squarely in the "irrelevant" category.   :police:

No I'm not intending to sell it, I just don't consider it mature enough to release yet.  Though I suppose that still leaves it in the irrelevant category for most people!  ;D

Also sorry to pull a switcheroo but I replaced the renders on my main post because I just saw how old they were, eep


Title: Re: Graphics and fractal programmer here
Post by: quaz0r on November 04, 2016, 10:45:13 PM
Quote from: Efoia
No I'm not intending to sell it, I just don't consider it mature enough to release yet.

excellent!

Quote from: Efoia
Though I suppose that still leaves it in the irrelevant category for most people!

you and me both then  :D

Quote from: Efoia
Also sorry to pull a switcheroo but I replaced the renders on my main post because I just saw how old they were

very nice indeed  ;D


Title: Re: Graphics and fractal programmer here
Post by: DarkBeam on November 04, 2016, 11:23:46 PM
Oh fantastic the renders look really similar to those of Mb3d but you already added further interesting render features! Fantastic job please continue it!


Title: Re: Graphics and fractal programmer here
Post by: thargor6 on November 05, 2016, 01:48:48 AM
Super-awesome! I especially like the DOF-effect in the presented images.
And, the mixing of shadows with real backgrounds, I'm now thinking about to implement that feature in my software, thanks for the inspiration!

Cheers! :beer:


Title: Re: Graphics and fractal programmer here
Post by: lycium on November 05, 2016, 04:47:14 AM
Nice renders, and always interesting to see more "rendering people" getting into fractals :)



i guess you intend for your program to be payware though?  unfortunately that lands it squarely in the "irrelevant" category.   :police:
Friendly as always... ;)


Title: Re: Graphics and fractal programmer here
Post by: mclarekin on November 05, 2016, 07:03:02 AM
I like the shadow on to the background image.  I have been wanting one of them :) O0 O0 O0


Title: Re: Graphics and fractal programmer here
Post by: ciric50 on November 23, 2016, 01:24:56 PM
Love that first image in particular. Can you tell me what kind of fractal that is and how you did it?


Title: Re: Graphics and fractal programmer here
Post by: Efoia on November 23, 2016, 02:28:12 PM
Love that first image in particular. Can you tell me what kind of fractal that is and how you did it?

That's the Pseudo-Kleinian as described by knighty in this post (http://www.fractalforums.com/fragmentarium/fragmentarium-an-ide-for-exploring-3d-fractals-and-other-systems-on-the-gpu/msg32270/#msg32270) (his fragment shader with the distance equation is attached to the post).  If I remember correctly, all I did was increase the TThickness parameter which turns the default perfect spheres into the shape you see in the image.  The fractal normally repeats in all three axes, but I added subtractive half-space volumes to cut it down to a single repetition.  As for the lighting, it's globally illuminated via monte-carlo path tracing.  Quite a cool fractal :).


Title: Re: Graphics and fractal programmer here
Post by: ciric50 on November 24, 2016, 12:38:27 AM
Thanks! The lighting in your image is really nice.


Title: Re: Graphics and fractal programmer here
Post by: SCORPION on November 24, 2016, 06:08:08 AM
I want to try it!


Title: Re: Graphics and fractal programmer here
Post by: M Benesi on November 24, 2016, 04:37:54 PM
Nice shadows.  Are you using 3d images, or just adjusting where the shadow falls with a floor function?

  Looks 3d in the Julia in this thread, but on your page the Mandelbulb shadow looks smooth (like the shadow is applied to a texture on the "floor" of the scene).  

  I've only had half a coffee so far this morning, so I don't even know if my eyes are working correctly yet.


   I'm thinking about smoothly varying the toroidal and prismatic orbit traps (make (1-a%) toroidal + a% prismatic)....

  Are you using the traps for DE (distance estimation) for those images on your page, or are you doing brute force raymarching (boolean- a pixel is either in or out)? 


  Ohh... Hi!   Cool software!  :D
  


Title: Re: Graphics and fractal programmer here
Post by: Efoia on November 24, 2016, 05:26:43 PM
Nice shadows.  Are you using 3d images, or just adjusting where the shadow falls with a floor function?

  Looks 3d in the Julia in this thread, but on your page the Mandelbulb shadow looks smooth (like the shadow is applied to a texture on the "floor" of the scene).

The images are 2D equirectangular projections, so they show up as a full panorama when I map rd (ray direction) to uv coordinate.  But the shadows are cast onto a perfectly flat floor plane so they aren't accurate to the actual image (but accurate enough if the ground in the image is flat!).

  Are you using the traps for DE (distance estimation) for those images on your page, or are you doing brute force raymarching (boolean- a pixel is either in or out)?

The geometric orbit traps are calculated as part of the DE, at each iteration I keep track like so:

Code:
distance = min(distance, trap(pos) + <more math>)

  Ohh... Hi!   Cool software!  :D

Thanks!  :beer:


Title: Re: Graphics and fractal programmer here
Post by: DarkBeam on November 24, 2016, 06:14:27 PM
Cool, have you tried to keep also track of colors of each shape, also relating it to the iteration count? :dink:


Title: Re: Graphics and fractal programmer here
Post by: floppyHat on December 09, 2016, 05:55:38 AM
Lovely stuff!   It's very addictive isn't it, developing one's own fractal program!?   Potential new features flood into one's mind and demand to be implemented!  But the joy when, after messing with a couple of lines of code,  a new and beautiful image appears on the screen, is hard to beat!

If you're not planning to sell it perhaps you'd think about open-sourcing it and putting it on Github?   That way others could learn from your code and develop it in different directions...