RT
Data Structures | Macros | Typedefs | Functions
render.h File Reference
#include "rtstruct.h"
#include "color.h"
#include "t_data.h"
Include dependency graph for render.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  s_tex_proced
 

Macros

#define DIFFUSE   0
 
#define SPECULAR   1
 
#define REFLECT   0
 
#define REFRACT   1
 

Typedefs

typedef struct s_tex_proced t_tex_proced
 

Functions

t_shading get_shading_data (t_inter *inter)
 
void render_gui (void *arg)
 
t_color get_lighting (t_shading s, t_scene scene, t_settings *setng)
 
void cast_primary (t_list *obj_list, t_inter *inter)
 
t_color recursive_cast (t_scene scene, t_settings s, t_ray r, int depth)
 
void set_direction (t_cam *cam, t_vec3 direction)
 
void cam_ray (t_data *app, t_ray *res, float x, float y)
 
t_color cast_light_primary (t_list *obj_list, t_inter *inter, float dist_light)
 
t_vec3 compute_shading_normal (t_material mat, t_vec3 uv, t_vec3 geo_n)
 
t_color get_sky_color (t_scene scene, t_settings settings, t_ray ray)
 
float get_distance_attenuation (float distance)
 
void add_specular_light (t_color *specular, t_shading shading, bool no_specular)
 
void add_diffuse_light (t_color *diffuse, t_shading shading, bool no_diffuse)
 
void update_camera (t_cam *cam, bool *needs_render)
 
t_color texture_checkers (t_material *mat, t_texture *tex, t_vec3 uv)
 
t_color texture_strips (t_material *mat, t_texture *tex, t_vec3 uv)
 
t_color texture_wave (t_material *mat, t_texture *tex, t_vec3 uv)
 
t_color texture_perlin (t_material *mat, t_texture *tex, t_vec3 uv)
 
t_color texture_wood (t_material *mat, t_texture *tex, t_vec3 uv)
 
t_color texture_marble (t_material *mat, t_texture *tex, t_vec3 uv)
 
t_color texture_cloud (t_material *mat, t_texture *tex, t_vec3 uv)
 
t_color sample (t_material *material, t_texture *tex, t_vec3 uv)
 
float noise (float x, float y, float z)
 
float perlin (t_vec3 uv, int octaves, float persistence)
 
t_color anti_aliasing (t_color col_prim, t_data *app, int x, int y)
 
t_color sepia (t_color in)
 
t_color grayscale (t_color in)
 
t_color cartoon (t_color in)
 
t_color negative (t_color in)
 

Macro Definition Documentation

◆ DIFFUSE

#define DIFFUSE   0

◆ REFLECT

#define REFLECT   0

◆ REFRACT

#define REFRACT   1

◆ SPECULAR

#define SPECULAR   1

Typedef Documentation

◆ t_tex_proced

typedef struct s_tex_proced t_tex_proced

Function Documentation

◆ add_diffuse_light()

void add_diffuse_light ( t_color diffuse,
t_shading  shading,
bool  no_diffuse 
)

◆ add_specular_light()

void add_specular_light ( t_color specular,
t_shading  shading,
bool  no_specular 
)

◆ anti_aliasing()

t_color anti_aliasing ( t_color  col_prim,
t_data app,
int  x,
int  y 
)

◆ cam_ray()

void cam_ray ( t_data app,
t_ray res,
float  x,
float  y 
)

◆ cartoon()

t_color cartoon ( t_color  in)

◆ cast_light_primary()

t_color cast_light_primary ( t_list *  obj_list,
t_inter inter,
float  dist_light 
)

◆ cast_primary()

void cast_primary ( t_list *  obj_list,
t_inter inter 
)

◆ compute_shading_normal()

t_vec3 compute_shading_normal ( t_material  mat,
t_vec3  uv,
t_vec3  geo_n 
)

◆ get_distance_attenuation()

float get_distance_attenuation ( float  distance)

◆ get_lighting()

t_color get_lighting ( t_shading  s,
t_scene  scene,
t_settings setng 
)

◆ get_shading_data()

t_shading get_shading_data ( t_inter inter)

◆ get_sky_color()

t_color get_sky_color ( t_scene  scene,
t_settings  settings,
t_ray  ray 
)

◆ grayscale()

t_color grayscale ( t_color  in)

◆ negative()

t_color negative ( t_color  in)

◆ noise()

float noise ( float  x,
float  y,
float  z 
)

◆ perlin()

float perlin ( t_vec3  uv,
int  octaves,
float  persistence 
)

◆ recursive_cast()

t_color recursive_cast ( t_scene  scene,
t_settings  s,
t_ray  r,
int  depth 
)

◆ render_gui()

void render_gui ( void *  arg)

◆ sample()

t_color sample ( t_material material,
t_texture tex,
t_vec3  uv 
)

◆ sepia()

t_color sepia ( t_color  in)

◆ set_direction()

void set_direction ( t_cam cam,
t_vec3  direction 
)

◆ texture_checkers()

t_color texture_checkers ( t_material mat,
t_texture tex,
t_vec3  uv 
)

◆ texture_cloud()

t_color texture_cloud ( t_material mat,
t_texture tex,
t_vec3  uv 
)

◆ texture_marble()

t_color texture_marble ( t_material mat,
t_texture tex,
t_vec3  uv 
)

◆ texture_perlin()

t_color texture_perlin ( t_material mat,
t_texture tex,
t_vec3  uv 
)

◆ texture_strips()

t_color texture_strips ( t_material mat,
t_texture tex,
t_vec3  uv 
)

◆ texture_wave()

t_color texture_wave ( t_material mat,
t_texture tex,
t_vec3  uv 
)

◆ texture_wood()

t_color texture_wood ( t_material mat,
t_texture tex,
t_vec3  uv 
)

◆ update_camera()

void update_camera ( t_cam cam,
bool *  needs_render 
)