Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Proyectores

Iniciado por Haddd, 16 de Agosto de 2004, 04:44:42 PM

« anterior - próximo »

Haddd

 Me pasa una cosa muuy rara con los proyectores. Utilizo la función de D3DX MatrixLookAt, dándole la posición de la luz como origen y el vector (0,0,1) como vector At. Luego creo la matriz de perspectiva y todo genial.

El problema vino cuando quise que el vector At fuera (1,0,0). Bien, pues no lo tiene en cuenta para nada. El proyector me aparece exactamente igual de como si At fuera(0,0,1).

No lo entiendo. ¿alguien ha sufrido este problema ?

_Grey

 Ya tienes encuenta el vector UP. Es que como no lo nombras en ningun momento...

Saludos.

Haddd

 Up siempre está en (0,1,0)

BeRSeRKeR

 Ten en cuenta que el parámetro "At" no es una dirección sino una posición. Con lo que pones, lo que haces es que la luz mire a la posición (1,0,0) y no en la dirección (1,0,0).

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Haddd

 Gracias Berk, eso lo explica todo (ole) . Yo creía que le estaba pasando el vector NAt típico. Pues sí que!!



Ahí están los dos proyectores, una apuntando a Z y otro a X!!! (por fin :  :rolleyes: )

BeRSeRKeR

¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

ethernet

  (ole)

una cosa: si creas la martiz de proyeccion con lookat y los vectores q especificas no son ortogonales, la matriz que queda no es ortogonal o lo ortogonaliza la API (DX u ogl)

un besico ;***

boubou

 Hola Haddd, me gustaria saber como has hecho varias fuentes de luz por shader. Es que mi efecto de bump mapping solo admite una luz por malla.


Venga, un saludo y gracias de antemano :).
onstruo Bou... Ha vuelto Mwhahahahahahahahahahahahahah!

Es la unica esperanza de los trolls tras el envio al "infienno
" de WhiteBlaizer y X-Alien

Haddd

 Activo el blending y hago tantas pasadas como luces tengo. <_<  

Haddd

 No es ortogonal. Aunque si lo son los vectores de rotación, hay una traslación, y por lo tanto, ya no puede serlo.

boubou

onstruo Bou... Ha vuelto Mwhahahahahahahahahahahahahah!

Es la unica esperanza de los trolls tras el envio al "infienno
" de WhiteBlaizer y X-Alien

BeRSeRKeR

Cita de: "ethernet"una cosa: si creas la martiz de proyeccion con lookat y los vectores q especificas no son ortogonales, la matriz que queda no es ortogonal o lo ortogonaliza la API (DX u ogl)
Si la base que le pasas a D3DXMatrixLookAt no es ortogonal, la propia función se encarga de hacer que así sea.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

DraKKaR

 En el caso de OpenGL, se asegura de que los vectores son ortogonales: en realidad no usa directamente los vectores que le pasas a la función gluLookAt, sino que los otma de referencia para construir su propio sistema de vectores ortogonal.

Haddd

 La función de D3DX transforma los vectores a los que apunta en vectores ortogonales, pero al matriz al tener la traslación, NO puede ser ortogonal. Esto es así o estoy completamente equivocado :blink: ?






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.