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:
Ahh, muy fácil: solo voltea tu monitor... xDDDD qué mala broma.
Saludos!
- Marco
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 ]
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
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!
¿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.
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
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
PD: ¿Que le pasa al foro? Se mueve menos que Don Pinpon en una cama de velcro.
Juas juas :sonriendo:
Todos están buscando a Emotion.....
Recuerda JPep...DirectX es como las matemáticas, nunca fallan, el que falla es el operador :ojo:
Saludos
No se muy bien de que va tu función, pero D3DX es una muy buena libreria con funciones muy utiles!!!