+
+ if( grender.high_qual )
+ {
+ fb_use( &grender.fb );
+ glClearColor( 0.11f, 0.35f, 0.37f, 1.0f );
+ glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT );
+ }
+ else
+ {
+ shader_gatelq_use();
+ shader_gatelq_uPv( vg_pv );
+ shader_gatelq_uMdl( gate_xform );
+ shader_gatelq_uCam( viewpos );
+ shader_gatelq_uTime( vg_time*0.25f );
+ shader_gatelq_uInvRes( (v2f){
+ 1.0f / (float)vg_window_x,
+ 1.0f / (float)vg_window_y });
+
+ glEnable( GL_STENCIL_TEST );
+ glStencilOp( GL_KEEP, GL_KEEP, GL_REPLACE );
+ glStencilFunc( GL_ALWAYS, 1, 0xFF );
+ glStencilMask( 0xFF );
+
+ mesh_bind( &grender.mdl );
+ mesh_draw( &grender.mdl );
+
+ glClear( GL_DEPTH_BUFFER_BIT );
+ glStencilFunc( GL_EQUAL, 1, 0xFF );
+ glStencilMask( 0x00 );
+ }
+