X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=render.h;h=b6633943b68df2def3f51499fced0dfbf8885278;hb=02e5027d274fc66fecca0572d0998e2c562da7a7;hp=440af479f605195d0c763d27e88ef55e631ec1b3;hpb=b4a83d4fcab39bee5a8cd6e8e6eec06314864e5b;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/render.h b/render.h index 440af47..b663394 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 + } + } } }; @@ -515,11 +540,11 @@ VG_STATIC void async_render_init( void *payload, u32 size ) } float quad[] = { - 0.00f,0.00f, 1.00f,1.00f, 0.00f,1.00f, - 0.00f,0.00f, 1.00f,0.00f, 1.00f,1.00f, + 0.00f,0.00f, 1.00f,1.00f, 0.00f,1.00f, /* fsquad */ + 0.00f,0.00f, 1.00f,0.00f, 1.00f,1.00f, - 0.20f,0.00f, 0.80f,1.00f, 0.20f,1.00f, - 0.20f,0.00f, 0.80f,0.00f, 0.80f,1.00f, + 0.00f,0.00f, 1.00f,0x1p-4f,0.00f,0x1p-4f, /* fsquad1 */ + 0.00f,0.00f, 1.00f,0.00f, 1.00f,0x1p-4f, /* 9x9 debug grid */ /* row0 */ @@ -570,8 +595,7 @@ VG_STATIC void render_init(void) shader_blitblur_register(); shader_blitcolour_register(); - vg_async_item *call = vg_async_alloc(0); - vg_async_dispatch( call, async_render_init ); + vg_async_call( async_render_init, NULL, 0 ); } /* @@ -594,6 +618,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 ); @@ -644,6 +669,7 @@ VG_STATIC void render_view_framebuffer_ui(void) viewing_count ++; } } +#endif } VG_STATIC void render_framebuffer_show( struct framebuffer *fb,