Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: JPeP en 01 de Enero de 1970, 01:00:00 AM

Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: JPeP en 01 de Enero de 1970, 01:00:00 AM
                                Buenaaaaas:

Poz eso, que me pasa una cosa extraña con directX: le doy una posicion para que me pinte un sprite en pantalla y me lo pinta en el sitio contrario, como si los ejes estiviesen al reves. Es decir, si lo pinto en la parte inferior derecha, me aparece en la parte superior izquierda.

Si, eso que dices tu, la imagen parece "volteada", pero el problema es que no se como cambiar eso....ni porque pasa tal catastrofe.

¿hay alguna instrucción para cambiar los ejes? ¿puede ser que los pinto mal? ¿acaso estamos ante otra intervencion del "maligno"?

SALUDOS A TODOS :ojo:

                               
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: Cronodragón en 01 de Enero de 1970, 01:00:00 AM
                                Ahh, muy fácil: solo voltea tu monitor... xDDDD qué mala broma.

Saludos!

- Marco                                
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: fiero en 01 de Enero de 1970, 01:00:00 AM
                                Hola, si multiplicas la matriz de la cámara por la siguiente matriz será como si le dieses la vuelta al monitor:


D3DXMATRIX matinv(-1,0,0,0, 0,-1,0,0, 0,0,1,0, 0,0,0,1);
D3DXMatrixMultiply(&m_matCamara,&matinv,&m_matCamara);

.

Aunque esto es una chapucilla, comprueba de todas formas tus matrices de proyección, viewport, etc, para ver si te has confuncido en el signo de algún valor o algo así...

un saludo

[ Este Mensaje fue editado por: fiero el 2002-07-04 20:49 ]                                
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: BeRSeRKeR en 01 de Enero de 1970, 01:00:00 AM
                                asegúrate de que el FOV en la matriz de proyección lo has especificado en radianes...aunque si estás pintando sprites se supone que estarás usando una proyección ortográfica...

Saludos
                               
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: Drácula en 01 de Enero de 1970, 01:00:00 AM
                                A ver si lo estás mirando por detrás! Me da la impresión de que tienes la cámara detrás del objeto, y mirás de atrás a adelante!                                
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: JPeP en 01 de Enero de 1970, 01:00:00 AM
                                ¿Matriz de proyeccion?¿Viewport? Jarrrr!!!
Mi no ser timador coreano, mi no entender chino....:ojo:

No, en serio, yo pinto los sprites sobre una superficie 2D; les doy una posicion X e Y y ...ya esta. Por eso no entiendo (dado mi nivel) de que me hablais.

El tema es que yo le doy una serie de posiciones consecutivas que suponen una trayectoria circular en el sentido del reloj, y como es decia antes, me sale que hace el circulo...pero en sentido inverso a las agujas del reloj, amen de aparecer en el extremo opuesto.

No se si mi fallo es al pintar el sprite(cosa que dudo mucho, puesto que el fondo lo pinto igual y se pinta bien) o algun tema de ejes, no se.

Os agradezco a todos vuestra ayuda.                                
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: Cronodragón en 01 de Enero de 1970, 01:00:00 AM
                                Eso sí que está raro... has las siguientes pruebas:

1. Dibuja unas letras en la pantalla.
2. Crea una imágen en forma programada y escribe unas letras sobre la imágen, y luego dibújala.
3. Dibuja letras sobre uno de tus sprites y muestralo en la pantalla.

Dibujando las letras en forma programada podría dar alguna pista. Si en la prueba 1 las letras aparecen invertidas es porque de fijo el sistema de coordenadas está invertido. Si no compara las pruebas 2 y 3, talvez la imágen se está cargando al revés de alguna forma.

- Marco                                
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: JPeP en 01 de Enero de 1970, 01:00:00 AM
                                Nada,nada, no era culpa de directX, sino de una kaka de funcion que he hecho. La X salia bien pero la Y no porque tiene el eje al reves no se porque.
Para arreglarlo he hecho una marranada que no se si estara muy bien: le resto el valor maximo del eje y lo pongo en valor absoluto, puesto que asi creo que invierto el eje.

Cachis la mar, las mates....

SALUDOS A TODOS                                
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: JPeP en 01 de Enero de 1970, 01:00:00 AM
                                PD: ¿Que le pasa al foro? Se mueve menos que Don Pinpon en una cama de velcro.

Juas juas :sonriendo:                                
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: fiero en 01 de Enero de 1970, 01:00:00 AM
                                Todos están buscando a Emotion.....                                
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: BeRSeRKeR en 01 de Enero de 1970, 01:00:00 AM
                                Recuerda JPep...DirectX es como las matemáticas, nunca fallan, el que falla es el operador :ojo:

Saludos
                               
Título: ¿Que puñetas le pasa a mis ejes en DirectX?
Publicado por: NeLo en 01 de Enero de 1970, 01:00:00 AM
                                No se muy bien de que va tu función, pero D3DX es una muy buena libreria con funciones muy utiles!!!