// pd3dDevice->SetTexture( 0, m_pSkyBoxTexture);
// pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 56);
/// pd3dDevice->DrawPrimitive( D3DPT_TRIANGLEFAN, 58, 28);
// pWorld->SetFogEnable(pd3dDevice,FALSE);
// pd3dDevice->SetRenderState( D3DRS_FOGSTART, FtoDW(50.0f) );
// pd3dDevice->SetRenderState( D3DRS_FOGEND, FtoDW(100.0f) );
// ³ôÀº ±¸¸§ UV ½ºÅ©·Ñ
D3DXMatrixIdentity( &mat );
static float m_fCloud_u1 = 0;
static float m_fCloud_v1 = 0;
mat._31 = m_fCloud_u1;
mat._32 = m_fCloud_v1;
m_fCloud_u1 += 0.0002f;
m_fCloud_v1 += 0.0002f;
pd3dDevice->SetTransform( D3DTS_TEXTURE0, &mat );
pd3dDevice->SetTextureStageState( 0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2 );
pd3dDevice->SetStreamSource( 0, m_pTopSkyBoxVB, 0, sizeof( D3DSKYBOXVERTEX ) );
pd3dDevice->SetRenderState( D3DRS_TEXTUREFACTOR, D3DCOLOR_ARGB( 255, 0, 0, 0 )/*adeilson*/ );
#if __VER >= 15 // __BS_CHANGING_ENVIR
if( !m_pWorld->HookRenderSky( SKY_CLOUD, 28, fAlphaEX ) )
#endif
{
IDirect3DTexture9* pCloud1 = m_pCloudTexture;
IDirect3DTexture9* pCloud2 = m_pCloudTexture2;
IDirect3DTexture9* pCloud3 = m_pCloudTexture3;
#if __VER >= 15 // __BS_CHANGING_ENVIR
WORLD_ENVIR_INFO& kWorldInfo = m_pWorld->m_kWorldEnvir;
if( kWorldInfo._kCloud[ 0 ]._bUse )
{
// use cloud texture of the world( not default )
pCloud1 = kWorldInfo._kCloud[ 0 ]._pTexture;
pCloud2 = kWorldInfo._kCloud[ 1 ]._pTexture;
pCloud3 = kWorldInfo._kCloud[ 2 ]._pTexture;
}
if( !pCloud1 || !pCloud2 || !pCloud3 )
{
assert( 0 );
return;
}
#endif
Als Bild:
