Efecto molesto de tremerique en 2 imagenes con que colisionan al coincidir su Z

Started by FreeYourMind, December 01, 2010, 01:08:32 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

Buenas, pienso que esto podrá ser una limitación más bien de la SDL.
(lo digo de ejemplo, ya que no tengo un ejemplo para poneros, pero ocurre lo que os digo).

Resulta que, tengo 2 imagenes en pantalla, con Zoom variable en loop, por ejemplo, en el lado izquierdo tenemos una que diminuye y aumenta de tamaño, del lado derecho tenemos otra que hace lo mismo pero en sentido inverso, ambas estan variando de Z constantemente, pero a un determinado instante su valor de Z, coincide, y ambas tambien colisionan, en mitad de su gráfico, con la otra imagen.

Resulta que al hacerlo (al colisionar en el mismo valor de Z), ambas imagenes tremen (cintilan), creando un efecto molesto y cutre.
Lo que queria saber es si ya habeis esperimentado esto en alguna implementación, y si es posible quitar el maldito efecto de tremerique, lo ideal es que parte de una de las imagenes se oculte por la otra sin que treman, cuando parte de su imagen toca parte de la otra.

SplinterGU

vamos por parte...

1) no se que es tremen ni cintilan....
2) la Z no participa en la colision
3) se escribe "experimentado"

no se si algo de esto te servira, pero pregunta nuevamente si necesitas.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Creo que te refieres a algo que se llama ¿Flickering? que es cuando dos imágenes superpuestas no se ponen de acuerdo sobre cual debe pintarse sobre la otra.

Eso no tiene solución: si dos procesos tienen la misma Z, el que se ejecute más tarde se dibujará sobre el otro, o al revés, no lo sé seguro, pero influye el orden de ejecución que, desgraciadamente, es algo que no se puede controlar ¿o sí?
Prueba a poner diferentes valores de PRIORITY, pero intenta conseguir que los procesos tengan distinto valor de Z.

Es un problema bastante común, sobre todo en 3D, cuando ves algunas texturas superpuestas sobre un polígono demasiado próximo, por ejemplo, los turbos del FZeroX de N64 cuando están lejos.
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

ya entiendo, y no, no hay solucion, tienes que poner diferentes Z.

no drumpi, priority o ejecucion del proceso no tiene nada que ver con el dibujado de este, un proceso se puede ejecutar primero y dibujar despues, lo que define el orden de dibujado es la Z.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

¿Y en caso de misma Z? ¿Quién define quién se dibuja primero? porque a la vez no se hace ;)
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

esta explicado perfectamente desde el manual de DIV y aqui en la wiki (si no me equivoco), en su defecto, tambien esta explicado aqui en el foro.

respuesta corta: nadie lo define, es indefinido.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2


SplinterGU

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


SplinterGU

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


SplinterGU

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