Realtime Fractal Renderer Documentation
planet.cl File Reference
#include "simplexnoise1234.cl"
#include "types.cl"
#include "sdf.cl"
#include "main.cl"
Include dependency graph for planet.cl:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CAMERA_POSITIONS_LENGTH   1
 
#define CAMERA_POSITIONS_ARRAY   { (float4)(40, 0, 0, 0) }
 
#define CAMERA_FACING_DIRECTIONS_LENGTH   1
 
#define CAMERA_FACING_DIRECTIONS_ARRAY   { (float4)(normalise((float3)(1, 1, 1)), 0) }
 
#define FORCE_FREE_CAMERA   true
 
#define CAMERA_SPEED   5.0f
 
#define USE_BOUNDING_VOLUME   true
 
#define SCENE_BACKGROUND_COLOUR   (float3)(0.5f, 0.8f, 0.9f)
 
#define MAXIMUM_MARCH_STEPS   200
 
#define MAXIMUM_MARCH_DISTANCE   100.0f
 
#define SURFACE_INTERSECTION_EPSILON   0.00001f
 
#define CAMERA_FOCUS_DISTANCE   0.01f
 
#define DO_GEOMETRY_GLOW   true
 
#define SCENE_GLOW_COLOUR   (float3)(0.6f, 0.6f, 0.8f)
 
#define SCENE_MAX_GLOW_DISTANCE   1.0f
 
#define SCALE   0.25f
 
#define AMPLITUDE   10.0f
 
#define ITERATIONS   2
 
#define FREQUENCY_MULTIPLIER   2.5f
 
#define AMPLITUDE_MULTIPLIER   0.4f
 

Functions

float getHeightAt (const float x, const float y, const float z)
 
Light getLight (float time)
 
Material SDF (const float3 position, const float time, float *distance)
 
Material getMaterial (float3 position, float time)
 
float boundingVolumeDE (float3 position, float time)
 
float DE (float3 position, float time)
 

Macro Definition Documentation

◆ AMPLITUDE

#define AMPLITUDE   10.0f

Definition at line 30 of file planet.cl.

◆ AMPLITUDE_MULTIPLIER

#define AMPLITUDE_MULTIPLIER   0.4f

Definition at line 34 of file planet.cl.

◆ CAMERA_FACING_DIRECTIONS_ARRAY

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

Definition at line 6 of file planet.cl.

◆ CAMERA_FACING_DIRECTIONS_LENGTH

#define CAMERA_FACING_DIRECTIONS_LENGTH   1

Definition at line 5 of file planet.cl.

◆ CAMERA_FOCUS_DISTANCE

#define CAMERA_FOCUS_DISTANCE   0.01f

Definition at line 19 of file planet.cl.

◆ CAMERA_POSITIONS_ARRAY

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

Definition at line 4 of file planet.cl.

◆ CAMERA_POSITIONS_LENGTH

#define CAMERA_POSITIONS_LENGTH   1

Definition at line 3 of file planet.cl.

◆ CAMERA_SPEED

#define CAMERA_SPEED   5.0f

Definition at line 8 of file planet.cl.

◆ DO_GEOMETRY_GLOW

#define DO_GEOMETRY_GLOW   true

Definition at line 21 of file planet.cl.

◆ FORCE_FREE_CAMERA

#define FORCE_FREE_CAMERA   true

Definition at line 7 of file planet.cl.

◆ FREQUENCY_MULTIPLIER

#define FREQUENCY_MULTIPLIER   2.5f

Definition at line 33 of file planet.cl.

◆ ITERATIONS

#define ITERATIONS   2

Definition at line 31 of file planet.cl.

◆ MAXIMUM_MARCH_DISTANCE

#define MAXIMUM_MARCH_DISTANCE   100.0f

Definition at line 17 of file planet.cl.

◆ MAXIMUM_MARCH_STEPS

#define MAXIMUM_MARCH_STEPS   200

Definition at line 16 of file planet.cl.

◆ SCALE

#define SCALE   0.25f

Definition at line 29 of file planet.cl.

◆ SCENE_BACKGROUND_COLOUR

#define SCENE_BACKGROUND_COLOUR   (float3)(0.5f, 0.8f, 0.9f)

Definition at line 15 of file planet.cl.

◆ SCENE_GLOW_COLOUR

#define SCENE_GLOW_COLOUR   (float3)(0.6f, 0.6f, 0.8f)

Definition at line 22 of file planet.cl.

◆ SCENE_MAX_GLOW_DISTANCE

#define SCENE_MAX_GLOW_DISTANCE   1.0f

Definition at line 23 of file planet.cl.

◆ SURFACE_INTERSECTION_EPSILON

#define SURFACE_INTERSECTION_EPSILON   0.00001f

Definition at line 18 of file planet.cl.

◆ USE_BOUNDING_VOLUME

#define USE_BOUNDING_VOLUME   true

Definition at line 10 of file planet.cl.

Function Documentation

◆ boundingVolumeDE()

float boundingVolumeDE ( float3  position,
float  time 
)

Definition at line 110 of file planet.cl.

◆ DE()

float DE ( float3  position,
float  time 
)

Definition at line 115 of file planet.cl.

◆ getHeightAt()

float getHeightAt ( const float  x,
const float  y,
const float  z 
)

Definition at line 36 of file planet.cl.

◆ getLight()

Light getLight ( float  time)

Definition at line 52 of file planet.cl.

◆ getMaterial()

Material getMaterial ( float3  position,
float  time 
)

Definition at line 104 of file planet.cl.

◆ SDF()

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

Definition at line 65 of file planet.cl.