X-Git-Url: http://git.mutantstargoat.com?p=demo;a=blobdiff_plain;f=src%2Frenderer.cc;h=e11b9737adc6018af1913a1e9d3cd743532f4e02;hp=10dd7667308c500fab73e3e099c0f5c16f128571;hb=d1a2cf93cf54898bb4ad442da94fc61f2617cf9f;hpb=713e854b6daf2ec0de8538be1e1eb385a213f36c diff --git a/src/renderer.cc b/src/renderer.cc index 10dd766..e11b973 100644 --- a/src/renderer.cc +++ b/src/renderer.cc @@ -77,6 +77,10 @@ void Renderer::draw() const if(!camera || !scene) return; + if(skytex) { + draw_skybox(); + } + if(!sprog->link()) return; @@ -123,7 +127,7 @@ void Renderer::set_sky_tex(Texture *stex) if(!skyprog) { if(!(skyprog = sdr_man->create_shader_program("sky.v.glsl", "sky.f.glsl"))) return; - if((viewproj_loc = skyprog->get_uniform_location("viewproj") == -1)) + if((viewproj_loc = skyprog->get_uniform_location("mviewproj") == -1)) return; } skytex = stex; @@ -134,11 +138,14 @@ void Renderer::set_diffuse_sky_tex(Texture *dstex) dskytex = dstex; } -void Renderer::draw_skybox() +void Renderer::draw_skybox() const { if(!skymesh || !skytex) return; + gfx_zbuffer(false); + gfx_cull_face(GFX_CULL_NONE); + skytex->bind(); skyprog->use(); @@ -147,4 +154,7 @@ void Renderer::draw_skybox() skyprog->set_uniform_matrix(viewproj_loc, mviewproj); skymesh->draw(); + + gfx_cull_face(GFX_CULL_BACK); + gfx_zbuffer(true); } \ No newline at end of file