diff options
author | aap <aap@papnet.eu> | 2021-02-28 19:07:32 +0100 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2021-06-24 20:32:43 +0200 |
commit | c58d98a39ea3fa5e1f515fbac96eb58350a6de3e (patch) | |
tree | 2f62df6b06c64af88786e6f2329a1f6d0adb613c /src/extras/custompipes_gl.cpp | |
parent | fix postfx fix (diff) | |
download | re3-c58d98a39ea3fa5e1f515fbac96eb58350a6de3e.tar re3-c58d98a39ea3fa5e1f515fbac96eb58350a6de3e.tar.gz re3-c58d98a39ea3fa5e1f515fbac96eb58350a6de3e.tar.bz2 re3-c58d98a39ea3fa5e1f515fbac96eb58350a6de3e.tar.lz re3-c58d98a39ea3fa5e1f515fbac96eb58350a6de3e.tar.xz re3-c58d98a39ea3fa5e1f515fbac96eb58350a6de3e.tar.zst re3-c58d98a39ea3fa5e1f515fbac96eb58350a6de3e.zip |
Diffstat (limited to 'src/extras/custompipes_gl.cpp')
-rw-r--r-- | src/extras/custompipes_gl.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/extras/custompipes_gl.cpp b/src/extras/custompipes_gl.cpp index 040bf686..23a2a931 100644 --- a/src/extras/custompipes_gl.cpp +++ b/src/extras/custompipes_gl.cpp @@ -595,6 +595,7 @@ struct BuildingInst { rw::Matrix matrix; rw::gl3::InstanceDataHeader *instHeader; + uint32 cullMode; uint8 fadeAlpha; bool lighting; }; @@ -627,6 +628,7 @@ AtomicFirstPass(RpAtomic *atomic, int pass) assert(building->instHeader->platform == PLATFORM_GL3); building->fadeAlpha = 255; building->lighting = !!(atomic->geometry->flags & rw::Geometry::LIGHT); + building->cullMode = rw::GetRenderState(rw::CULLMODE); rw::uint32 flags = atomic->geometry->flags; WorldLights lights; @@ -654,6 +656,7 @@ AtomicFirstPass(RpAtomic *atomic, int pass) // alright we're rendering this atomic if(!setupDone){ + rw::SetRenderState(rw::CULLMODE, building->cullMode); defaultShader->use(); setWorldMatrix(&building->matrix); setupVertexInput(building->instHeader); @@ -686,6 +689,7 @@ AtomicFullyTransparent(RpAtomic *atomic, int pass, int fadeAlpha) assert(building->instHeader->platform == PLATFORM_GL3); building->fadeAlpha = fadeAlpha; building->lighting = !!(atomic->geometry->flags & rw::Geometry::LIGHT); + building->cullMode = rw::GetRenderState(rw::CULLMODE); building->matrix = *atomic->getFrame()->getLTM(); numBlendInsts[pass]++; } @@ -706,6 +710,7 @@ RenderBlendPass(int pass) for(i = 0; i < numBlendInsts[pass]; i++){ BuildingInst *building = &blendInsts[pass][i]; + rw::SetRenderState(rw::CULLMODE, building->cullMode); setupVertexInput(building->instHeader); setWorldMatrix(&building->matrix); if(building->lighting) |