X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=render.h;h=541f047e7396562fd1b74a5c3daf8b4d75205a05;hb=e5d79dc0355e04baecce8908e29b8e7569d1e857;hp=a80f78acff6048e8655d6bff56b9f9237972f2c2;hpb=c34dde859968ced3dc7e8dd7be29f676689813d3;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/render.h b/render.h index a80f78a..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 ); @@ -593,6 +620,7 @@ VG_STATIC void render_fsquad1(void) */ VG_STATIC void render_view_framebuffer_ui(void) { +#if 0 int viewing_count = 0; glBindVertexArray( gpipeline.fsquad.vao ); @@ -643,6 +671,7 @@ VG_STATIC void render_view_framebuffer_ui(void) viewing_count ++; } } +#endif } VG_STATIC void render_framebuffer_show( struct framebuffer *fb,