-gpipeline;
-
-struct framebuffer{
- const char *display_name;
- int resolution_div, /* definition */
- fixed_w,
- fixed_h,
-
- render_w, /* runtime */
- render_h;
-
- struct framebuffer_attachment{
- const char *display_name;
-
- enum framebuffer_attachment_type{
- k_framebuffer_attachment_type_none,
- k_framebuffer_attachment_type_texture,
- k_framebuffer_attachment_type_renderbuffer,
- k_framebuffer_attachment_type_texture_depth
- }
- purpose;
-
- enum framebuffer_quality_profile{
- k_framebuffer_quality_all,
- k_framebuffer_quality_high_only
- }
- quality;
-
- GLenum internalformat,
- format,
- type,
- attachment;
-
- GLuint id;
-
- /* Runtime */
- int debug_view;
- }
- attachments[5];
- GLuint fb;
- framebuffer **link;
-}
-extern framebuffers[];
-
-
-struct shader_props_standard
-{
- u32 tex_diffuse;
-};
-
-struct shader_props_terrain
-{
- u32 tex_diffuse;
- v2f blend_offset;
- v4f sand_colour;
-};
-
-struct shader_props_vertex_blend
-{
- u32 tex_diffuse;
- v2f blend_offset;
-};
-
-struct shader_props_water
-{
- v4f shore_colour;
- v4f deep_colour;
- f32 fog_scale;
- f32 fresnel;
- f32 water_sale;
- v4f wave_speed;
-};
-
-struct shader_props_cubemapped
-{
- u32 tex_diffuse;
- u32 cubemap_entity;
- v4f tint;
-};