Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Haddd en 02 de Marzo de 2003, 07:52:33 PM

Título: DOTPRODUCT3
Publicado por: Haddd en 02 de Marzo de 2003, 07:52:33 PM
                                ¿alguien tiene un ejemplo en D3D de dotproduct3 con una textura? No me vale el del SDK, en el que no hay textura.

Gracias                                
Título: DOTPRODUCT3
Publicado por: Zaelsius en 03 de Marzo de 2003, 12:59:02 PM
¿Cómo que no hay textura en el ejemplo del DXSDK?

Míralo bien, incluso se puede cambiar la textura de las 8 bolas blancas por otra del mapa-mundi...
Título: DOTPRODUCT3
Publicado por: Haddd en 03 de Marzo de 2003, 09:18:21 PM
                                Lo que quiero es una textura base + una textura de dotproduct3. En el ejemplo del SDK viene sólo el ejemplo con una textura.                                
Título: DOTPRODUCT3
Publicado por: BeRSeRKeR en 03 de Marzo de 2003, 10:12:02 PM
                                Si lo dices por los texture stage states necesarios, estos deberían ser:

       m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
       m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_DOTPRODUCT3 );
       m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_TFACTOR );

            m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLOROP,   D3DTOP_MODULATE);
            m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
            m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);

            m_pd3dDevice->SetTextureStageState(1, D3DTSS_ALPHAOP,   D3DTOP_DISABLE);

El texture factor vendría dado por el vector luz (tal y como viene en el ejemplo del SDK)

En el stage 0 ponemos el mapa de normales y hacemos el DOTPRODUCT3 y finalmente, en el stage 1 ponemos la textura base y modulamos con el resultado del DOTPRODUCT3 del stage anterior...

Saludos                                
Título: DOTPRODUCT3
Publicado por: Haddd en 04 de Marzo de 2003, 12:39:41 PM
                                Bien, lo he probado y funciona. En realidad lo único que hace es simular la iluminación con un vector asociado.

¿Qué diferencia hay entre el DP3 y el Bump Mapping?                                
Título: DOTPRODUCT3
Publicado por: BeRSeRKeR en 04 de Marzo de 2003, 02:08:50 PM
                                En realidad el dp3 no es una técnica de bump mapping , es simplemente una operación que hay que utilizar para realizar bump mapping...

Saludos                                
Título: DOTPRODUCT3
Publicado por: Haddd en 04 de Marzo de 2003, 04:37:26 PM
                                Ya pero el DP3 lo soportan muchísimas tarjetas, pero el Bump Mapping no. La mía, una GForce 4 MX no la soporta, por tanto no puedo utilizar esta opción.

Por ello me estoy empapando un poco de DP3, pero no quiero caer en algo en desuso y quizás lo mejor es olvidarme de este modo y pasar al Bump directamente.                                
Título: DOTPRODUCT3
Publicado por: BeRSeRKeR en 04 de Marzo de 2003, 04:50:07 PM
                                Ah claro, es que con la GF4MX no tienes pixel shaders por lo que tendrás que utilizar la fixed pipeline para hacer bump mapping y en ese caso creo que sí es la única forma de hacerlo. En un pixel shader (básicamente) sería:

ps.1.1

tex t0  ; Diffuse map
tex t1  ; Normal map

dp3_sat r0, t1_bx2, c0
mul r0, t0, r0

Como puedes ver, se siguen los mismos pasos que en la fixed pipeline...primero dp3 del normal map con el vector de la luz (en c0) y finalmente modulate con el diffuse map...

Saludos                                
Título: DOTPRODUCT3
Publicado por: ethernet en 04 de Marzo de 2003, 06:34:11 PM
Register combiners rocks, d3d sucks XD
Título: DOTPRODUCT3
Publicado por: BeRSeRKeR en 04 de Marzo de 2003, 06:56:46 PM
                                you are stuck in the past, ethernet...say hi to pixel shaders! (aunque tu preferirás llamarles fragment programs) xDDDD

bueno, en serio, los register combiners, aunque yo no los he probado, son muy potentes (más que la fixed pipeline de d3d)...y están presentes incluso desde la GF1, lo que pasa es que hacer efectos del calibre de per-pixel lighting en una GF1 de forma fluida es un poco difícil....sólo con aceleradoras GF3+ se puede conseguir una buena fluidez con calidad de imagen...y esas aceleradoras ya tienen soporte para vertex & pixel shaders (excepto la GF4MX)

Saludos                                
Título: DOTPRODUCT3
Publicado por: ethernet en 04 de Marzo de 2003, 07:19:23 PM
Por cierto, hace poco salieron las espec del lenguaje de shaders de ogl y en los greetings hay un español (rocks)

En www.opengl.org se puede encontrar

saludos
Título: DOTPRODUCT3
Publicado por: BeRSeRKeR en 04 de Marzo de 2003, 07:24:43 PM
                                Hmm ese Antonio Tejada no será por casualidad evanGLizr? :D

PD: también están Tim Sweeney y John Carmack (ese no podía faltar) :D                                
Título: DOTPRODUCT3
Publicado por: ethernet en 04 de Marzo de 2003, 07:38:27 PM
Tim sweney es como carmack pero con c++ XDD es el puto amo rocks.
Título: DOTPRODUCT3
Publicado por: CoLSoN2 en 04 de Marzo de 2003, 07:48:01 PM
                                en behind the games habia una entrevista al Tim Sweeney