Bonjour,
j'ai un probleme, je cherche a afficher des bloc avec transparence de facon à generer une texture pour mon terrain, mais les bloc ne sont pas transparent...
mes bloc ressemble a un rond. le centre etant avec un coef alpha de 1 et les bord avec 0 (j'ai essayer aussi 0.25)
je les affiche suivant l'axe X puis l'axe Y.
j'utilise le code suivant pour la transparence (j'ai essayer plein de truc...)
_core->GetDevice()->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
_core->GetDevice()->SetRenderState(D3DRS_ZENABLE, FALSE);
_core->GetDevice()->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
_core->GetDevice()->SetRenderState(D3DRS_ALPHAREF,0x10);
_core->GetDevice()->SetRenderState(D3DRS_ALPHAFUNC,D3DCMP_GREATEREQUAL);
_core->GetDevice()->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 );
_core->GetDevice()->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE );
_core->GetDevice()->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
_core->GetDevice()->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
_core->GetDevice()->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE);
_core->GetDevice()->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_DIFFUSE);
_core->GetDevice()->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_TEXTURE);
jpense pas que ca vienne de la, car j'ai vraiment essayer plein de truc.
je sait pas si ca peut venir de la, mais j'utilise un vertex shader, qui me "genere" la couleur DIFFUSE, la texture n'ayant pas de canal alpha. Cette alpha est le bon, j'ai verifié.
j'ai essayer de faire simplement une transparence avec un MODULATE entre la texture et la destination, mais ca marche pas non plus.
jsuis vraiment desespere... je trouve pas
quelqu'un a une idee ?
Partager