Показать сообщение отдельно
Старый 03.09.2009, 14:16   #4
Knightmare
Дэвелопер
 
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений
(для 2,920 пользователей)
Ответ: DirectX смешивание

Сообщение от -=SCiP=- Посмотреть сообщение
какие парметры тут ставиь для блитцевского
ТекстураБленд текс,4 ?
это типо Дот3 делать?


pd->SetTextureStageState(0, D3DTSS_MIPFILTER,D3DTEXF_POINT);

pd->SetTextureStageState(0, D3DTSS_MIPFILTER,D3DTEXF_LINEAR);

pd->SetTextureStageState(0, D3DTSS_MIPFILTER,D3DTEXF_NONE);
Что это за бред?! Уважаемый это смена метода фильтрации мип-уровней текстуры.
В 8 версии у текстур роде немного другой API был, но переделать будет не сложно:
switch(blendMode)
{
     case 
1:
        
pD3DDevice->SetTextureStageState(indexD3DTSS_COLOROPD3DTOP_BLENDTEXTUREALPHA);
        break;
    case 
2:
        
pD3DDevice->SetTextureStageState(indexD3DTSS_COLOROPD3DTOP_MODULATE);
        break;
    case 
3:
        
pD3DDevice->SetTextureStageState(indexD3DTSS_COLOROPD3DTOP_ADD);
        break;
    case 
4:
        
pD3DDevice->SetTextureStageState(indexD3DTSS_COLOROPD3DTOP_DOTPRODUCT3);
        break;
    case 
5:
        
pD3DDevice->SetTextureStageState(indexD3DTSS_COLOROPD3DTOP_MODULATE2X);
        break;

Для бленда мешей:
if(blendMode == 1)
{
    
pD3DDevice->SetRenderState(D3DRS_SRCBLENDD3DBLEND_SRCALPHA);
    
pD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
}
else if(
blendMode == 2)
{
    
pD3DDevice->SetRenderState(D3DRS_SRCBLENDD3DBLEND_DESTCOLOR);
    
pD3DDevice->SetRenderState(D3DRS_DESTBLENDD3DBLEND_ZERO);
}
else if(
blendMode == 3)
{
    
pD3DDevice->SetRenderState(D3DRS_SRCBLENDD3DBLEND_SRCALPHA);
    
pD3DDevice->SetRenderState(D3DRS_DESTBLENDD3DBLEND_ONE);

Думаю с остальными стейтами сам разберешься.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Horror (04.09.2009)