diff --git a/panda/src/dxgsg/dxGraphicsStateGuardian.cxx b/panda/src/dxgsg/dxGraphicsStateGuardian.cxx index 62fb71ce3e..b14b97d873 100644 --- a/panda/src/dxgsg/dxGraphicsStateGuardian.cxx +++ b/panda/src/dxgsg/dxGraphicsStateGuardian.cxx @@ -1307,6 +1307,14 @@ draw_linestrip(const GeomLinestrip* geom) { //////////////////////////////////////////////////////////////////// void DXGraphicsStateGuardian:: draw_sprite(const GeomSprite *geom) { +#ifdef _DEBUG + static BOOL bPrintedMsg=FALSE; + + if(!bPrintedMsg) { + bPrintedMsg=TRUE; + dxgsg_cat.error() << "dxgsg sprite drawing not implemented yet!\n"; + } +#endif } //////////////////////////////////////////////////////////////////// @@ -3409,8 +3417,8 @@ void DXGraphicsStateGuardian::SetTextureBlendMode(TextureApplyProperty::Mode Tex _d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); _d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE ); - _d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG2 ); - _d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE ); + _d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 ); + _d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE ); break; case TextureApplyProperty::M_replace: @@ -3876,6 +3884,7 @@ end_decal(GeomNode *base_geom) { // Enable the writing to the depth buffer. _d3dDevice->SetRenderState(D3DRENDERSTATE_ZWRITEENABLE, TRUE); + // Disable the writing to the color buffer, however we have to // do this. (I don't think this is possible in DX without blending.) if (dx_decal_type == GDT_blend) { @@ -3883,12 +3892,15 @@ end_decal(GeomNode *base_geom) { enable_blend(true); call_dxBlendFunc(D3DBLEND_ZERO, D3DBLEND_ONE); } + #if(DIRECT3D_VERSION < 0x700) else { // dx7 doesn't support planemask rstate // note: not saving current planemask val, assumes this is always all 1's. should be ok _d3dDevice->SetRenderState(D3DRENDERSTATE_PLANEMASK,0x0); // note PLANEMASK is supposedly obsolete for DX7 } #endif +// Note: For DX8, use D3DRS_COLORWRITEENABLE (check D3DPMISCCAPS_COLORWRITEENABLE first) + // No need to have texturing on for this. enable_texturing(false);