Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Cronodragón en 01 de Enero de 1970, 01:00:00 AM

Título: Desencriptando SetTextureStageState
Publicado por: Cronodragón en 01 de Enero de 1970, 01:00:00 AM
                                g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE ); g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE ); g_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_DISABLE );

Y qué significa todo esto?? Alguien sabe de un buen tutorial para entender cómo se utiliza SetTextureStageState? Toda la explicación está en el SDK, pero realmente cuesta imaginarse cómo interactúan los diferentes parámetros y cuál es el efecto visual que producen. De hecho si alguien pudiera hacer un tutorial que mostrara en una tabla diferentes convinaciones junto a imágenes de "cómo se vería" ayudaría grandemente a los que estamos aprendiendo.
                               
Título: Desencriptando SetTextureStageState
Publicado por: NeLo en 01 de Enero de 1970, 01:00:00 AM
                                Que poco hemos mirado, ¿eh?

En la SDK viene un ejemplo que se llama MFC Textures, ejecútalo y verás todas las posibiladades de los alpha tests.
                               
Título: Desencriptando SetTextureStageState
Publicado por: Drácula en 01 de Enero de 1970, 01:00:00 AM
                                Para realizar una operación, necesitas 2 fuentes. De ahí el ARG1 y el ARG2. En D3D tienes que decirle cuales son esas 2 fuentes, en tu caso, le estás diciendo que la 1ª es la textura y la 2ª el diffuse. El diffuse es un color que se aplica al objeto y que se utiliza para tintar y para aplicar transparencias.
Bien, pues una vez tienes las 2 fuentes, necesitas realizar una operación entre ellas. De ahí el COLOROP, que con MODULATE le estás indicando que el resultado final será una mezcla entre la textura y el diffuse.
Lo mismo se aplica para el ALPHA, que es el nivel de transparencia que se aplica a un objeto.                                
Título: Desencriptando SetTextureStageState
Publicado por: Cronodragón en 01 de Enero de 1970, 01:00:00 AM
                                jiji, gracias NeL, la proxima me fijo en los ejemplos.

Ya entiendo un poco mejor Drac. Por cierto, si el diffuse sirve para eso, para qué sirve el specular?

- Marco
                               
Título: Desencriptando SetTextureStageState
Publicado por: NeLo en 01 de Enero de 1970, 01:00:00 AM
                                Si no me equivoco, el especular es el color o las características del reflejo del material.