grind sound
[carveJwlIkooP6JGAAIwe30JlM.git] / render.h
index 209bed692d5bc5777fbb3db122b4410ab2a96b56..33998221b83ea206f6ee8c0d90f44d1c4abe35b3 100644 (file)
--- 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 */