Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





DOTPRODUCT3

Iniciado por Haddd, 02 de Marzo de 2003, 07:52:33 PM

« anterior - próximo »

Haddd

                                ¿alguien tiene un ejemplo en D3D de dotproduct3 con una textura? No me vale el del SDK, en el que no hay textura.

Gracias                                

Zaelsius

¿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...

Haddd

                                Lo que quiero es una textura base + una textura de dotproduct3. En el ejemplo del SDK viene sólo el ejemplo con una textura.                                

BeRSeRKeR

                                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                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Haddd

                                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?                                

BeRSeRKeR

                                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                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Haddd

                                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.                                

BeRSeRKeR

                                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                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

ethernet

Register combiners rocks, d3d sucks XD

BeRSeRKeR

                                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                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

ethernet

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

BeRSeRKeR

                                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                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

ethernet

Tim sweney es como carmack pero con c++ XDD es el puto amo rocks.

CoLSoN2

                                en behind the games habia una entrevista al Tim Sweeney                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.