#include "model.h"
#include "shaders/blit.h"
+#include "shaders/blitblur.h"
#include "shaders/standard.h"
#include "shaders/vblend.h"
float g_water_fog;
int g_light_count;
int g_light_preview;
+ int g_shadow_samples;
}
ub_world_lighting;
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 );
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);
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 );
VG_STATIC void render_init(void)
{
shader_blit_register();
+ shader_blitblur_register();
shader_standard_register();
shader_vblend_register();
glDrawArrays( GL_TRIANGLES, 0, 6 );
}
+VG_STATIC void render_fsquad1(void)
+{
+ glBindVertexArray( gpipeline.fsquad.vao );
+ glDrawArrays( GL_TRIANGLES, 6, 6 );
+}
+
#endif /* RENDER_H */