ray tracing: mandelbulb2019/04/25  · mandelbulb equation z n+1 = z n 2 + c domain for this...

14
Ray Tracing: Mandelbulb CSCI 4239/5239 Advanced Computer Graphics Spring 2019

Upload: others

Post on 25-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical

Ray Tracing: Mandelbulb

CSCI 4239/5239Advanced Computer Graphics

Spring 2019

Page 2: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical

Mandelbrot Set

● Complex Quadratic Polynomial Sequence

– zn+1

= zn

2 + c

● For which values of c is the sequence bounded?

● This is a fractal set– Finite area– Boundary is infinite– Self-similar– 2D

Page 3: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical

Mandlebulb 3D Domain

● Defined mathematically

● Has appearance of Gothic architecure

● Shading needed to see details

Page 4: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical

Mandelbulb Equation

● zn+1

= zn

2 + c

● Domain for this equation converges● No direct equivalent to complex for 2D● White and Nylander spherical coordinates● How do you render this set?

– POVray used for many images– ex27 is primitive but real time

● See handout for details

Page 5: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical

Gallery of Daniel White

● The Unravelling the Real 3D Mandelbulbhttp://www.skytopia.com/project/fractal/mandelbulb.html

● Explores and zooms into the mandelbulb● Ray traced using colored lights● Most are the n=8 mandelbulb

Page 6: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical
Page 7: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical
Page 8: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical
Page 9: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical
Page 10: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical
Page 11: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical
Page 12: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical
Page 13: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical

Other Fractal Sets

● Mandelbrot set is just one of many 2D fractal sets

– Julia– Lyapunov– Sierpinski triangle

● Many extensions to 3D

Page 14: Ray Tracing: Mandelbulb2019/04/25  · Mandelbulb Equation z n+1 = z n 2 + c Domain for this equation converges No direct equivalent to complex for 2D White and Nylander spherical

ex27: Real Time Ray Tracer

● Draws monochrome mandelbulb– Single light– No secondary rays– Shadows

● Iterative solver for ray marching– OpenMP on CPU– CUDA on GPU

● Why not use GLSL?– Perhaps a compute shader?