The Beginnings of a Renderer

  • 5 Replies
  • 228 Views

0 Members and 1 Guest are viewing this topic.

Offline blue_knight

  • *
  • Fractal Freshman
  • *
  • Posts: 3
« on: May 17, 2019, 01:23:02 AM »
I recently began the process of building a SDF renderer, specifically to render 3d fractal geometry for a future project. Its designed for realtime rendering and exploration - including collision detection (though the collision response/character controller need a lot of work). Since I finally have the beginnings of an AA solution, I decided to post WIP screenshots here since it is currently rendering a scene with a giant, endlessly repeating Mandelbox using a distance estimator that was discussed on the old version of these forums. I created a gallery of screenshots ("Fractal Universe").

Currently the renderer is still pretty basic but I am planning on adding features to drastically improve performance and quality and will post my journey here. The current engine has these features:
* Collision detection and basic movement.
* Hierarchical rendering (i.e. "cone marching").
* Ray differentials to compute scale for gradient sampling and to determine the distance epsilon.
* Positional correction to clean up surfaces.
* Temporal Anti-aliasing, though it only works correctly when still at the moment.
* Basic unshadowed lighting, SDF based AO and gradient mapping for color.

Future directions:
* Improved character controller and movement.
* Improved AA during movement.
* GPU based proxy mesh generation for primary ray acceleration.
* Research into other performance enhancements (such as cached partial computation to reduce iteration, reprojection to reduce ray count, etc.).
* Different materials.
* Real time lighting / global illumination using dense irradiance caching with visibility.













Linkback: https://fractalforums.org/programming/11/the-beginnings-of-a-renderer/2819/

Offline hobold

  • *
  • Fractal Friar
  • *
  • Posts: 114
« Reply #1 on: May 17, 2019, 06:28:10 AM »
Looking good! Your plans look like you have a lot of work cut out for yourself. What does "SDF" stand for?

Offline blue_knight

  • *
  • Fractal Freshman
  • *
  • Posts: 3
« Reply #2 on: May 17, 2019, 08:54:28 AM »
Looking good! Your plans look like you have a lot of work cut out for yourself. What does "SDF" stand for?
Thanks.

SDF = Signed Distance Field.

Offline eiffie

  • *
  • Fractal Friend
  • **
  • Posts: 13
« Reply #3 on: May 17, 2019, 07:42:37 PM »
You might want to experiment with a soft shadow. Basically bend the AO march in the direction of the light. It looks super clean now though.

Offline blue_knight

  • *
  • Fractal Freshman
  • *
  • Posts: 3
« Reply #4 on: May 17, 2019, 08:07:36 PM »
You might want to experiment with a soft shadow. Basically bend the AO march in the direction of the light. It looks super clean now though.
Thanks for the suggestion. However I already had soft shadows for one of the directional lights but removed it - mainly because I want lighting throughout the inside. Instead the lights and ambient get dimmer as you descend into the structure. There is a small point light attached to the camera though, so there is always some light when the camera is near a surface.

Ultimately the plan is to replace the lighting system and rely on local lighting more and real time GI using a dense irradiance cache (and emissive materials). The lighting system I have now is basically a placeholder while I work on other areas.


Offline mclarekin

  • *
  • Fractal Frankfurter
  • *
  • Posts: 594
« Reply #5 on: May 18, 2019, 03:19:37 PM »
quality results O0


xx
Problem with brute (non DE) renderer

Started by TGlad on Fragmentarium

4 Replies
171 Views
Last post November 19, 2018, 03:35:38 AM
by 3DickUlus
xx
I'm about to make a Mandelbrot set renderer

Started by galac on Programming

0 Replies
147 Views
Last post May 05, 2019, 03:16:22 PM
by galac
xx
Re: Problem with brute (non DE) renderer

Started by Robert Badaracco on Fragmentarium

2 Replies
70 Views
Last post October 23, 2019, 06:49:22 AM
by Robert Badaracco