Realtime Fractal Renderer Documentation
klein_bottle.cl File Reference
#include "utils.cl"
#include "types.cl"
#include "sdf.cl"
#include "main.cl"
Include dependency graph for klein_bottle.cl:

Go to the source code of this file.

Macros

#define CAMERA_POSITIONS_LENGTH   1
 
#define CAMERA_POSITIONS_ARRAY   { (float4)(5, 0, 0, 0) }
 
#define CAMERA_FACING_DIRECTIONS_LENGTH   1
 
#define CAMERA_FACING_DIRECTIONS_ARRAY   { (float4)(normalise((float3)(-1, 0, 0)), 0) }
 
#define CAMERA_SPEED   2.5f
 
#define SCENE_BACKGROUND_COLOUR   (float3)(0.3f, 0.3f, 0.3f)
 
#define DO_SOFT_SHADOWS   true
 
#define MAXIMUM_MARCH_STEPS   256
 
#define MAXIMUM_MARCH_DISTANCE   15.0f
 
#define SURFACE_INTERSECTION_EPSILON   0.0001f
 
#define DO_RENDER_SURFACE_NORMALS   false
 
#define DO_RENDER_MARCHING_ITERATIONS   false
 
#define DISPLAY_BOUNDING_VOLUME   false
 

Functions

Light getLight (float time)
 
float len (const float2 vec)
 
Material SDF (const float3 position, const float time, float *distance)
 
Material getMaterial (float3 position, float time)
 
float DE (float3 position, float time)
 

Macro Definition Documentation

◆ CAMERA_FACING_DIRECTIONS_ARRAY

#define CAMERA_FACING_DIRECTIONS_ARRAY   { (float4)(normalise((float3)(-1, 0, 0)), 0) }

Definition at line 9 of file klein_bottle.cl.

◆ CAMERA_FACING_DIRECTIONS_LENGTH

#define CAMERA_FACING_DIRECTIONS_LENGTH   1

Definition at line 8 of file klein_bottle.cl.

◆ CAMERA_POSITIONS_ARRAY

#define CAMERA_POSITIONS_ARRAY   { (float4)(5, 0, 0, 0) }

Definition at line 6 of file klein_bottle.cl.

◆ CAMERA_POSITIONS_LENGTH

#define CAMERA_POSITIONS_LENGTH   1

Definition at line 5 of file klein_bottle.cl.

◆ CAMERA_SPEED

#define CAMERA_SPEED   2.5f

Definition at line 11 of file klein_bottle.cl.

◆ DISPLAY_BOUNDING_VOLUME

#define DISPLAY_BOUNDING_VOLUME   false

Definition at line 22 of file klein_bottle.cl.

◆ DO_RENDER_MARCHING_ITERATIONS

#define DO_RENDER_MARCHING_ITERATIONS   false

Definition at line 21 of file klein_bottle.cl.

◆ DO_RENDER_SURFACE_NORMALS

#define DO_RENDER_SURFACE_NORMALS   false

Definition at line 20 of file klein_bottle.cl.

◆ DO_SOFT_SHADOWS

#define DO_SOFT_SHADOWS   true

Definition at line 14 of file klein_bottle.cl.

◆ MAXIMUM_MARCH_DISTANCE

#define MAXIMUM_MARCH_DISTANCE   15.0f

Definition at line 17 of file klein_bottle.cl.

◆ MAXIMUM_MARCH_STEPS

#define MAXIMUM_MARCH_STEPS   256

Definition at line 16 of file klein_bottle.cl.

◆ SCENE_BACKGROUND_COLOUR

#define SCENE_BACKGROUND_COLOUR   (float3)(0.3f, 0.3f, 0.3f)

Definition at line 13 of file klein_bottle.cl.

◆ SURFACE_INTERSECTION_EPSILON

#define SURFACE_INTERSECTION_EPSILON   0.0001f

Definition at line 18 of file klein_bottle.cl.

Function Documentation

◆ DE()

float DE ( float3  position,
float  time 
)

Definition at line 94 of file klein_bottle.cl.

◆ getLight()

Light getLight ( float  time)

Definition at line 24 of file klein_bottle.cl.

◆ getMaterial()

Material getMaterial ( float3  position,
float  time 
)

Definition at line 88 of file klein_bottle.cl.

◆ len()

float len ( const float2  vec)

Definition at line 35 of file klein_bottle.cl.

◆ SDF()

Material SDF ( const float3  position,
const float  time,
float *  distance 
)

Definition at line 40 of file klein_bottle.cl.