Avances, Diario de...

Started by SplinterGU, April 17, 2008, 03:00:51 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

ok, entonces no hay problema.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

La momia que fuma

La rotación funciona de lujo, pero no consigo que me funcione la correccion de aspecto, igual es que entiendo algo mal...

Como yo lo entiendo, con scale_resolution_aspectratio=1; al poner pantalla completa en un monitor panorámico usando una resolución "clásica" no panorámica, la imagen se debería de corregir automaticamente para que no aparezca "estirada" pero no lo consigo...

En el eek esto lo resolví "a mano" y se puede jugar a pantalla completa en un monitor panorámico sin que se estire la imagen, pero lo hice con scale_resolution "a ojo" xD, y aunque da el pego la imagen se deforma un poquillo.

Aprovecho para compartir con vosotros un truquillo que use para autodetectar el tipo de monitor y ahorrar al usuario que tenga que marcar una opción de corrección de aspecto si/no:

get_desktop_size(&dsx, &dsy);
aspect=dsx/dsy;

aspect debe ser tipo float

Si aspect vale 1.3 es que se esta usando un monitor normal, de lo contrario es que es panorámico (Luego ya en panorámicos creo que hay de dos tipos, 16:9 y 16:10, pero de ese tema ya no se mucho...en todo caso aspect equivaldría a la división de esos nºs: 4/3=1.3, 16/9=1.7 y 16/10=1.6)

SplinterGU

podrias poner las lineas que estas usando y decis no funciona?

el aspectratio es con respecto al modo original (al set_mode)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

La momia que fuma

begin


//scale_resolution_orientation = 1;
full_screen=1;
scale_resolution_aspectratio=1;
scale_resolution=08000600;

set_mode(800,600,32,MODE_WAITVSYNC);


Me sale la pantalla igualmente "estirada", no me corrige el aspecto ni parece hacer nada apreciable.

SplinterGU

pero eso no es bennu... eso es tu monitor, si pones un 800x600 sin scale_resolution, te saldra estirado igual, porque tu monitor es wide.

lo que tenes que poner es un set_mode 800x600 y un scale_resolution de definicion 16:9, por ejemplo un 1366x768.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

La momia que fuma

Quote from: SplinterGU on August 12, 2010, 09:12:58 PM
pero eso no es bennu... eso es tu monitor, si pones un 800x600 sin scale_resolution, te saldra estirado igual, porque tu monitor es wide.

lo que tenes que poner es un set_mode 800x600 y un scale_resolution de definicion 16:9, por ejemplo un 1366x768.

Uhhh....vale, pero....eso ya es lo que estaba haciendo y de hecho exactamente lo que hice en el Eeek (Versión PC) sin necesidad de esa global nueva...(Solo con scale resolution puedes contrarestar el estiramiento y corregir el aspecto) no entiendo para que sirve entonces, pense que reescalaría la resolución automaticamente a su equivalente panorámico, para no tener que hacer calculos.......

Que no entiendo para que sirve scale_resolution_aspectratio o en que influye exactamente, vaya  ???

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

#967
capturas...

normal



scale_resolution=ancho_original/2 + alto_original



scale_resolution=ancho_original/2 + alto_original
scale_resolution_aspectratio=1

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

con rotacion...

scale_resolution=ancho_original/2 + alto_original
scale_resolution_orientation=1



scale_resolution=ancho_original/2 + alto_original
scale_resolution_orientation=1
scale_resolution_aspectratio=1

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Oye, Splinter, sé que la respuesta a la pregunta será obvia, pero ¿por qué la rotación sólo se puede hacer a +90º? ¿Por qué no a 180º, o a 270º que sería lo ideal en WIZ?

Ahora es cuando te me tiras al cuello ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

no esta bien la rotacion? ahora lo pruebo...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

fallo mio, lo correcto seria poner 4 modos de orientacion...

0, 90, 180 y 270

voy a tener que hacerlo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

listo, agregados 3 modos mas de rotacion

scale_resolution_orientation = <0,1,2,3>

0 normal
1 rota 90 grados
2 rota 180 grados
3 rota 270 grados

ahora creo que es mas flexible.

bueno, luego hago los binarios, ya me quiero ir a dormir.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Buenas. Acabas de hacer justo lo que venia a pedirte, o sea, que se pudiera rotar tambien hacia la derecha :)

Funciona de lujo, no noto diferencia en rendimiento ni en la Wiz (tambien es cierto que esto lo he mirado a ojo y no mirando el fps).

Lo que te pediria era aparte de la rotación, un modo espejado (cabinet, imagen invertida), o sea, que usando un espejo despues la imagen se vea de forma normal (como lo hacen algunas recreativas).

Lo que si he notado es que para corregir la inclinacion en la Wiz, en el scale resolution tuve que cambar los valores del width por los del height y viceversa.

Lo que intento hacer es que pueda poner margenes fuera de pantalla como lo hace mame, o sea, por ejemplo con la pantalla inclinada en la wiz, la resolucion original es de 254, pero como sólo tengo 240, la imagen se encoje en la horizontal (wiz inclinada) y lo que me gustaria es que esos 16 pixels que sobran sobrepasaran 8 pixels en cada lado para fuera de pantalla, de forma a tener los gráficos en su tamaño original aunque las margenes se oculten.

Hay alguna forma de hacerlo ?
Luego por la tarde intentaré pasarme por aqui, y ya os pongo la forma como estoy poniendo la imagen en la wiz.

SplinterGU

lo del espejado olvidate por ahora, y lo mismo lo que salga de los margenes, si lo tenes bien configurado, uno de los lados deberia ir al 100% (alto o ancho).

eso es todo lo que puedo hacer por ahora.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2