#include "stdafx.h" #ifdef _KUI_INVALIDATION // { [sonador] #include "stdafx.h" #include "SUIViewport.h" #include "KPrimitive.h" #include "KRenderDeviceDX.h" #include #include "KResourceManager.h" #include #include #include "GameDefine.h" SUIViewPort::SUIViewPort( bool bClearColorBuffer, bool bClearDepthBuffer ) : SViewPort( VIEWPORT_GUI, bClearColorBuffer, bClearDepthBuffer ) { } SUIViewPort::~SUIViewPort() { } void SUIViewPort::RenderSprite() { if ( m_prSpriteList.size() > 0 || m_prAdditiveSpriteList.size() > 0 || m_prFrontSpriteList.size() > 0 || m_prFrontAdditiveSpriteList.size() > 0 ) { if( m_nRenderFlag.IsOn(RENDER_SPRITE) ) { START_DPCOUNT("Sprite"); m_dev->SetDepthBufferCompareMode( K3DRenderDevice::DCM_ALWAYS ); m_dev->SetDepthBufferWriteEnable( false ); K3DMatrix backupWorldMat = *m_dev->GetTransform( K3DRenderDevice::TS_WORLD ); m_dev->SetTransformIdentity( K3DRenderDevice::TS_WORLD ); if ( m_prSpriteList.size() > 0 ) { m_dev->SetRenderState( K3DRenderDevice::RS_SPRITE_RENDERTARGET ); //m_dev->SetRenderState( K3DRenderDevice::RS_NO_MIPMAP ); drawSprite( &m_prSpriteList.front(), m_prSpriteList.size() ); } if ( m_prAdditiveSpriteList.size() > 0 ) { m_dev->SetRenderState( K3DRenderDevice::RS_ADDITIVE_PARTICLE ); //m_dev->SetRenderState( K3DRenderDevice::RS_NO_MIPMAP ); drawSprite( &m_prAdditiveSpriteList.front(), m_prAdditiveSpriteList.size() ); } if ( m_prFrontSpriteList.size() > 0 ) { m_dev->SetRenderState( K3DRenderDevice::RS_SPRITE_RENDERTARGET ); //m_dev->SetRenderState( K3DRenderDevice::RS_NO_MIPMAP ); drawSprite( &m_prFrontSpriteList.front(), m_prFrontSpriteList.size() ); } if ( m_prFrontAdditiveSpriteList.size() > 0 ) { m_dev->SetRenderState( K3DRenderDevice::RS_ADDITIVE_PARTICLE ); //m_dev->SetRenderState( K3DRenderDevice::RS_NO_MIPMAP ); drawSprite( &m_prFrontAdditiveSpriteList.front(), m_prFrontAdditiveSpriteList.size() ); } END_DPCOUNT(); m_dev->SetTransform( K3DRenderDevice::TS_WORLD, &backupWorldMat ); } } } // } #endif