X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=render.h;h=33998221b83ea206f6ee8c0d90f44d1c4abe35b3;hb=75703291fbf045008a3b1ebb20fc46a2617b6b3b;hp=209bed692d5bc5777fbb3db122b4410ab2a96b56;hpb=47941822dae18a018c985847b052e70214a3ccc6;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/render.h b/render.h index 209bed6..3399822 100644 --- a/render.h +++ b/render.h @@ -6,6 +6,7 @@ #include "model.h" #include "shaders/blit.h" +#include "shaders/blitblur.h" #include "shaders/standard.h" #include "shaders/vblend.h" @@ -49,6 +50,7 @@ VG_STATIC struct pipeline float g_water_fog; int g_light_count; int g_light_preview; + int g_shadow_samples; } ub_world_lighting; @@ -169,6 +171,11 @@ VG_STATIC void render_update_lighting_ub(void) winf->g_light_directions[0][3] = gpipeline.shadow_length; winf->g_light_colours[0][3] = gpipeline.shadow_spread; + if( vg.quality_profile == k_quality_profile_low ) + winf->g_shadow_samples = 0; + else + winf->g_shadow_samples = 8; + glBindBuffer( GL_UNIFORM_BUFFER, gpipeline.ubo_world_lighting ); glBufferSubData( GL_UNIFORM_BUFFER, 0, sizeof(struct ub_world_lighting), &gpipeline.ub_world_lighting ); @@ -275,6 +282,8 @@ VG_STATIC void render_init_temp_buffer(void) glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); glFramebufferTexture2D( GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, gpipeline.rgb_background, 0); @@ -311,7 +320,10 @@ VG_STATIC void render_init_fs_quad(void) vg_info( "[render] Allocate quad\n" ); float quad[] = { 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, - 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f }; + 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, + + 0.2f, 0.0f, 0.8f, 1.0f, 0.2f, 1.0f, + 0.2f, 0.0f, 0.8f, 0.0f, 0.8f, 1.0f}; glGenVertexArrays( 1, &gpipeline.fsquad.vao ); glGenBuffers( 1, &gpipeline.fsquad.vbo ); @@ -344,6 +356,7 @@ VG_STATIC void render_init_uniform_buffers(void) VG_STATIC void render_init(void) { shader_blit_register(); + shader_blitblur_register(); shader_standard_register(); shader_vblend_register(); @@ -370,4 +383,10 @@ VG_STATIC void render_fsquad(void) glDrawArrays( GL_TRIANGLES, 0, 6 ); } +VG_STATIC void render_fsquad1(void) +{ + glBindVertexArray( gpipeline.fsquad.vao ); + glDrawArrays( GL_TRIANGLES, 6, 6 ); +} + #endif /* RENDER_H */