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

Go to the source code of this file.

Macros

#define CAMERA_POSITIONS_LENGTH   1
 
#define CAMERA_POSITIONS_ARRAY   { (float4)(0, -10, 0, 0) }
 
#define CAMERA_FACING_DIRECTIONS_LENGTH   1
 
#define CAMERA_FACING_DIRECTIONS_ARRAY   { (float4)(normalise((float3)(-10, -10, -10)), 0.0f) }
 
#define SCENE_BACKGROUND_COLOUR   (float3)(0.5f, 0.8f, 0.9f)
 
#define MAXIMUM_MARCH_STEPS   300
 
#define MAXIMUM_MARCH_DISTANCE   200.0f
 
#define SURFACE_INTERSECTION_EPSILON   0.00001f
 
#define CAMERA_FOCUS_DISTANCE   0.01f
 
#define USE_BOUNDING_VOLUME   true
 
#define FORCE_FREE_CAMERA   true
 
#define CAMERA_SPEED   5.0f
 
#define SCALE   0.025f
 
#define AMPLITUDE   10.0f
 
#define ITERATIONS   3
 
#define FREQUENCY_MULTIPLIER   2
 
#define AMPLITUDE_MULTIPLIER   0.4f
 

Functions

float getHeightAt (float x, float y)
 
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 28 of file terrain.cl.

◆ AMPLITUDE_MULTIPLIER

#define AMPLITUDE_MULTIPLIER   0.4f

Definition at line 32 of file terrain.cl.

◆ CAMERA_FACING_DIRECTIONS_ARRAY

#define CAMERA_FACING_DIRECTIONS_ARRAY   { (float4)(normalise((float3)(-10, -10, -10)), 0.0f) }

Definition at line 5 of file terrain.cl.

◆ CAMERA_FACING_DIRECTIONS_LENGTH

#define CAMERA_FACING_DIRECTIONS_LENGTH   1

Definition at line 4 of file terrain.cl.

◆ CAMERA_FOCUS_DISTANCE

#define CAMERA_FOCUS_DISTANCE   0.01f

Definition at line 13 of file terrain.cl.

◆ CAMERA_POSITIONS_ARRAY

#define CAMERA_POSITIONS_ARRAY   { (float4)(0, -10, 0, 0) }

Definition at line 2 of file terrain.cl.

◆ CAMERA_POSITIONS_LENGTH

#define CAMERA_POSITIONS_LENGTH   1

Definition at line 1 of file terrain.cl.

◆ CAMERA_SPEED

#define CAMERA_SPEED   5.0f

Definition at line 21 of file terrain.cl.

◆ FORCE_FREE_CAMERA

#define FORCE_FREE_CAMERA   true

Definition at line 20 of file terrain.cl.

◆ FREQUENCY_MULTIPLIER

#define FREQUENCY_MULTIPLIER   2

Definition at line 31 of file terrain.cl.

◆ ITERATIONS

#define ITERATIONS   3

Definition at line 29 of file terrain.cl.

◆ MAXIMUM_MARCH_DISTANCE

#define MAXIMUM_MARCH_DISTANCE   200.0f

Definition at line 10 of file terrain.cl.

◆ MAXIMUM_MARCH_STEPS

#define MAXIMUM_MARCH_STEPS   300

Definition at line 9 of file terrain.cl.

◆ SCALE

#define SCALE   0.025f

Definition at line 27 of file terrain.cl.

◆ SCENE_BACKGROUND_COLOUR

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

Definition at line 7 of file terrain.cl.

◆ SURFACE_INTERSECTION_EPSILON

#define SURFACE_INTERSECTION_EPSILON   0.00001f

Definition at line 11 of file terrain.cl.

◆ USE_BOUNDING_VOLUME

#define USE_BOUNDING_VOLUME   true

Definition at line 15 of file terrain.cl.

Function Documentation

◆ boundingVolumeDE()

float boundingVolumeDE ( float3  position,
float  time 
)

Definition at line 106 of file terrain.cl.

◆ DE()

float DE ( float3  position,
float  time 
)

Definition at line 111 of file terrain.cl.

◆ getHeightAt()

float getHeightAt ( float  x,
float  y 
)

Definition at line 34 of file terrain.cl.

◆ getLight()

Light getLight ( float  time)

Definition at line 50 of file terrain.cl.

◆ getMaterial()

Material getMaterial ( float3  position,
float  time 
)

Definition at line 100 of file terrain.cl.

◆ SDF()

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

Definition at line 61 of file terrain.cl.