Domanda

Sto cercando di rendere un quad strutturata in D3D, e la sua non utilizzando i valori alfa dei vertici del quad la texture è stato eseguito il rendering. Piuttosto che sta usando l'alfa della texture.

Voglio D3D di utilizzare l'alfa dei vertici del poligono su cui è posta.

Ho un'idea che ha a che fare con SetTextureStageState , ma non posso abbastanza trovarlo ancora ..

È stato utile?

Soluzione

OK, ecco che cosa ho ottenuto:

D3DTSS enumerazione (contenente i valori di default per D3DTSS_ * impostazioni)

D3DTA enumerazione

// where does the SRC color come from?
// why, the currently bound texture of course!
d3d->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
// Default:  D3DTA_TEXTURE (anyway.  So this setting is redundant.)

il grande cambiamento che viene dopo:

// let the alpha component be read from the
// diffuse color of the vertex..
d3d->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE);
// Default: D3DTA_TEXTURE (which would be "pull alpha from the texture")

// because my vertex declaration is set up to send 1 color, and
// D3DRS_DIFFUSEMATERIALSOURCE is set to D3DMCS_COLOR1, this means
// to use the vertex alpha i specify.  i think.

Il resto non cambia nulla in realtà dai valori di default, ma la sua qui in modo tutto può essere visto:

// DEST where does the alpha value come from?  also the
// diffuse component
d3d->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_CURRENT);
// Default:  D3DTA_CURRENT.  I believe this means "the destination will
// be whatever the existing color in the framebuffer already is"

// setting up as is default, 
d3d->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_CURRENT);
// Default:  D3DTA_CURRENT.  No change.

Credo che le opere.

A seguito di comprensione: questo link contiene un vecchio ma strumento molto ordinato chiamato MFCTex:

programma MFCTex

Quindi, è molto facile da vedere l'effetto di quello che sta succedendo quando si utilizzano diversi argomenti.

Mi rendo conto che non è il modo intelligente per farlo più, e davvero il modo divertente è stata per un po 'di tempo per scrivere i propri vertex e pixel shader.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top