diff options
Diffstat (limited to 'src/extras/custompipes_d3d9.cpp')
-rw-r--r-- | src/extras/custompipes_d3d9.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/extras/custompipes_d3d9.cpp b/src/extras/custompipes_d3d9.cpp index 8b984448..3ad824e3 100644 --- a/src/extras/custompipes_d3d9.cpp +++ b/src/extras/custompipes_d3d9.cpp @@ -132,6 +132,7 @@ vehicleRenderCB(rw::Atomic *atomic, rw::d3d9::InstanceDataHeader *header) drawInst(header, inst); inst++; } + d3d::setTexture(1, nil); SetRenderState(SRCBLEND, BLENDSRCALPHA); @@ -186,7 +187,7 @@ DestroyVehiclePipe(void) */ static void *neoWorld_VS; -static void *neoWorldIII_PS; +static void *neoWorldVC_PS; static void worldRenderCB(rw::Atomic *atomic, rw::d3d9::InstanceDataHeader *header) @@ -244,7 +245,7 @@ worldRenderCB(rw::Atomic *atomic, rw::d3d9::InstanceDataHeader *header) d3d::setTexture(0, m->texture); else d3d::setTexture(0, gpWhiteTexture); - setPixelShader(neoWorldIII_PS); + setPixelShader(neoWorldVC_PS); drawInst(header, inst); inst++; @@ -264,9 +265,9 @@ CreateWorldPipe(void) neoWorld_VS = rw::d3d::createVertexShader(default_UV2_VS_cso); assert(neoWorld_VS); -#include "shaders/obj/neoWorldIII_PS.inc" - neoWorldIII_PS = rw::d3d::createPixelShader(neoWorldIII_PS_cso); - assert(neoWorldIII_PS); +#include "shaders/obj/neoWorldVC_PS.inc" + neoWorldVC_PS = rw::d3d::createPixelShader(neoWorldVC_PS_cso); + assert(neoWorldVC_PS); rw::d3d9::ObjPipeline *pipe = rw::d3d9::ObjPipeline::create(); @@ -281,8 +282,8 @@ DestroyWorldPipe(void) { rw::d3d::destroyVertexShader(neoWorld_VS); neoWorld_VS = nil; - rw::d3d::destroyPixelShader(neoWorldIII_PS); - neoWorldIII_PS = nil; + rw::d3d::destroyPixelShader(neoWorldVC_PS); + neoWorldVC_PS = nil; ((rw::d3d9::ObjPipeline*)worldPipe)->destroy(); @@ -568,7 +569,6 @@ struct BuildingInst { rw::RawMatrix combinedMat; rw::d3d9::InstanceDataHeader *instHeader; - uint32 cullMode; uint8 fadeAlpha; bool lighting; }; @@ -613,7 +613,6 @@ AtomicFirstPass(RpAtomic *atomic, int pass) assert(building->instHeader->platform == PLATFORM_D3D9); building->fadeAlpha = 255; building->lighting = !!(atomic->geometry->flags & rw::Geometry::LIGHT); - building->cullMode = rw::GetRenderState(rw::CULLMODE); rw::uint32 flags = atomic->geometry->flags; bool setupDone = false; @@ -632,7 +631,6 @@ AtomicFirstPass(RpAtomic *atomic, int pass) // alright we're rendering this atomic if(!setupDone){ - rw::SetRenderState(rw::CULLMODE, building->cullMode); setStreamSource(0, building->instHeader->vertexStream[0].vertexBuffer, 0, building->instHeader->vertexStream[0].stride); setIndices(building->instHeader->indexBuffer); setVertexDeclaration(building->instHeader->vertexDeclaration); @@ -674,7 +672,6 @@ AtomicFullyTransparent(RpAtomic *atomic, int pass, int fadeAlpha) assert(building->instHeader->platform == PLATFORM_D3D9); building->fadeAlpha = fadeAlpha; building->lighting = !!(atomic->geometry->flags & rw::Geometry::LIGHT); - building->cullMode = rw::GetRenderState(rw::CULLMODE); SetMatrix(building, atomic->getFrame()->getLTM()); numBlendInsts[pass]++; } @@ -692,7 +689,6 @@ RenderBlendPass(int pass) for(i = 0; i < numBlendInsts[pass]; i++){ BuildingInst *building = &blendInsts[pass][i]; - rw::SetRenderState(rw::CULLMODE, building->cullMode); setStreamSource(0, building->instHeader->vertexStream[0].vertexBuffer, 0, building->instHeader->vertexStream[0].stride); setIndices(building->instHeader->indexBuffer); setVertexDeclaration(building->instHeader->vertexDeclaration); |