-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrender.c
48 lines (43 loc) · 1.49 KB
/
render.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* render.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: ajaehaer <[email protected]> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/02/17 18:16:01 by ajaehaer #+# #+# */
/* Updated: 2019/03/30 15:33:44 by ejommy ### ########.fr */
/* */
/* ************************************************************************** */
#include "engine_render.h"
static void render_window(t_render *render)
{
static int pt;
if (render->path_tracing != pt)
{
pt = render->path_tracing;
clear_pixels_buffer(render);
}
if (render->path_tracing)
path_tracing(render);
else
{
clear_pixels_buffer(render);
ray_tracing(render);
render->render_needed = 0;
}
render->refresh_needed = 1;
}
int render_thread(void *data)
{
t_render *render;
uint32_t ticks;
ticks = 0;
render = (t_render*)data;
while (1)
if (render->render_needed && SDL_TICKS_PASSED(SDL_GetTicks(), ticks))
{
render_window(render);
ticks = SDL_GetTicks() + 50;
}
}