X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=render.h;h=541f047e7396562fd1b74a5c3daf8b4d75205a05;hb=e5d79dc0355e04baecce8908e29b8e7569d1e857;hp=b6172283121632b9d18ac0ac6395e300b8c5341f;hpb=bc40c302f1b8313bdd3c773fcfa2f850511c4634;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/render.h b/render.h index b617228..541f047 100644 --- a/render.h +++ b/render.h @@ -16,6 +16,9 @@ #include "shaders/vblend.h" #endif +#define WORKSHOP_PREVIEW_WIDTH 504 +#define WORKSHOP_PREVIEW_HEIGHT 336 + VG_STATIC void render_water_texture( world_instance *world, camera *cam, int layer_depth ); VG_STATIC void render_water_surface( world_instance *world, camera *cam ); @@ -36,7 +39,8 @@ VG_STATIC struct pipeline{ framebuffer *fb_main, *fb_water_reflection, - *fb_water_beneath; + *fb_water_beneath, + *fb_workshop_preview; int ready; float view_render_scale, @@ -175,6 +179,27 @@ framebuffers[] = .attachment = GL_DEPTH_STENCIL_ATTACHMENT } } + }, + { + "workshop_preview", + .link = &gpipeline.fb_workshop_preview, + .resolution_div = 0, + .fixed_w = WORKSHOP_PREVIEW_WIDTH, .fixed_h = WORKSHOP_PREVIEW_HEIGHT, + .attachments = + { + { + "colour", k_framebuffer_attachment_type_texture, + .internalformat = GL_RGB, + .format = GL_RGB, + .type = GL_UNSIGNED_BYTE, + .attachment = GL_COLOR_ATTACHMENT0 + }, + { + "depth_stencil", k_framebuffer_attachment_type_renderbuffer, + .internalformat = GL_DEPTH24_STENCIL8, + .attachment = GL_DEPTH_STENCIL_ATTACHMENT + } + } } }; @@ -547,6 +572,8 @@ VG_STATIC void async_render_init( void *payload, u32 size ) vg_console_reg_cmd( "fb", render_framebuffer_control, render_framebuffer_poll ); + vg_console_reg_var( "render_scale", &gpipeline.view_render_scale, + k_var_dtype_f32, VG_VAR_PERSISTENT ); glGenVertexArrays( 1, &gpipeline.fsquad.vao ); glGenBuffers( 1, &gpipeline.fsquad.vbo );