seperate projects
[carveJwlIkooP6JGAAIwe30JlM.git] / render.h
1 /*
2 * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved
3 */
4 #pragma once
5 #include "common.h"
6 #include "model.h"
7 #include "shader_props.h"
8 #include "vg/vg_framebuffer.h"
9 #include "vg/vg_camera.h"
10
11 #include "shaders/blit.h"
12 #include "shaders/blitblur.h"
13 #include "shaders/blitcolour.h"
14 #include "shaders/blit_transition.h"
15
16 #define WORKSHOP_PREVIEW_WIDTH 504
17 #define WORKSHOP_PREVIEW_HEIGHT 336
18
19 static f32 k_render_scale = 1.0f;
20 static i32 k_blur_effect = 1;
21 static f32 k_blur_strength = 0.3f;
22 static f32 k_fov = 0.86f;
23 static f32 k_cam_height = 0.8f;
24
25 /*
26 * All standard buffers used in rendering
27 */
28 struct pipeline
29 {
30 glmesh fsquad;
31
32 vg_framebuffer *fb_main,
33 *fb_water_reflection,
34 *fb_water_beneath,
35 *fb_workshop_preview,
36 *fb_network_status;
37 int ready;
38
39 v2f blur_override;
40 vg_camera cam;
41 }
42 static g_render;
43
44 void render_init(void);
45 void render_fsquad(void);
46 void render_fsquad1(void);
47 void render_fsquad2(void);
48 void postprocess_to_screen( vg_framebuffer *fb );