Files
2026-06-01 12:46:52 +02:00

78 lines
2.1 KiB
C++

#include "stdafx.h"
#ifdef _KUI_INVALIDATION
// { [sonador]
#include "stdafx.h"
#include "SUIViewport.h"
#include "KPrimitive.h"
#include "KRenderDeviceDX.h"
#include <dump/XException.h>
#include "KResourceManager.h"
#include <toolkit/XEnv.h>
#include <mmo/ArTime.h>
#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