oas, bueno.. la kosa es asi.. tengo una fukin aplikacion ke me tiene ke mostrar 2 planos lejanos.. uno todos los objetos sercanos.. ke son konsumidos por la niebla y pa subir fps sera bueno ke el plano lejano termine donde la niebla lo ase desaparecer(la textura) y por otro lado.. tengo montañas de fondo.. a las kuales uno puede llegar.. por lo kual nesesito tener otro plano lejano.. ahora bien, lo inplemente pero el direct3d se va a la mierda.. enpiesa a mostrar triandgulos atras de otros triangulos, komo si el zbufer se fuera a la mierda.. y deforma mal los objetos.. kuando me muevo alado de un objeto.. ademas de moverse para un kostado , baja, no se.. me estoy volviendo loko (nooo) .....pero encerio.. esta mierda kobro vida y esta asiendo o ke se le kanta el orto...si algien ya paso por esto .. agradecido estoy por su ayudas
Gracias!!!!!!!!!!!!!!1
Bueno, en primer lugar, bienvenido. En segundo lugar, no creo que ésa sea la mejor manera de presentar un problema (no sólo por la forma sino por el contenido). Añade alguna captura de lo que te pasa y trata de mantener un tono un poco menos... vituperante :P
bueno... primero gracias por la vienvenida, soy medianamente nuevo en esto de la programacion.. mas 3d.. pero bue, me estoy mediendo kon toda, segundo perdon por mi lexiko.. soy un poko bruto, pero sin animos de ofender a nadie, tercero, ya ke me lo pediste subi un par de imagenes.
dado ke tripod no me deja subir las imagenes ise una modesta paginilla pa ke puedan verlas.
http://zukutrule.tripod.com.ar/graficos3d/graficos.html ://http://zukutrule.tripod.com.ar/graf...raficos.html ai explico un poko mejor el tema..
Ante todo, bienvenido!
Sobre el vocabulario, intenta mejorarlo un poco, ya que sobre todo, te será más fácil que entendamos cualquier duda que tengas ;) .
En cuanto a tu problema... creo que puedes y debes solucionarlo de otro modo.
Basta con que compruebes la distancia de un objeto con la cámara. Si la distancia entre ellos es mayor que la que tú tenias para el plano lejano de los objetos, es que la niebla lo hace invisible, con lo que no es necesario que lo mandes a dibujar.
Supongo que habrá más posibilidades.
PD : He visto las screenshots y me gustan bastante. Es algún juego? Alguna demo? A ver si puedes comentar algo ;) .
No lo entiendo. Yo nunca he trabajado con niebla pero se supone que sería suficiente con poner el far plane a la misma distancia que la distancia máxima de la niebla. El frustum culling haría el resto, ¿no?.
Porque si lo que estás haciendo es especificar dos far planes en el mismo frame, se supone que entre cada llamada deberás limpiar el depth buffer, ¿no?. Ya que el rango a lo largo del cual se distribuye la profundidad no es el mismo. Es decir, la información ya existente en el depth buffer perteneciente a la proyección con el primer far plane, no te sirve para el segundo porque simplemente no es lo mismo un valor de profundidad de 0.5 en un rango [1, 600] que en un rango [1, 3000]. Eso podría explicar por qué te aparecen cosas donde no deberían aparecer. Claro que si limpias el depth buffer entre cada llamada a SetTransform, pierdes la información de profundidad por lo que seguirías teniendo problemas. Así que, como te ha dicho Ager, eso lo tienes que solucionar de otra forma. Se supone que con lo primero que te he puesto. Pero la verdad, no sé si he entendido bien tu problema :D
Saludos.
Cita de: "BeRSeRKeR"No lo entiendo. Yo nunca he trabajado con niebla pero se supone que sería suficiente con poner el far plane a la misma distancia que la distancia máxima de la niebla. El frustum culling haría el resto, ¿no?.
Eso sería lo lógico, efectivamente, pero no se si lo he entendido mal, o quiere tener montañas detrás... O_O
Creo que tampoco lo entiendo demasiado bien XDDDDDDD. Si quiere que la niebla tape los objetos para poder hacerlos desaparecer... si las montañas están detrás también desaparecerían, de hecho no se verían a causa de la niebla.
A ver si nos lo aclara un poco...
si, la onda es ke las montañas keden del kolor de la niebla, PERO!!!! , el cielo no, tonces se tendria ke dibujar la silueta de la montaña.porke no sabre esplikarme bien :(
¿Y por qué no pintas primero el cielo (somo se hace normalmente) con la niebla desactivada y posteriormente el resto con la niebla activada?.
Saludos.
yo lo primero ke ago es pintar el cielo, con la niebla desactivada , y kon la escritura en zbufer desactivada, para ke siempre me kede en el fondo. luego rendalizaria las montañas de fondo y luego el mundo, la idea de de modificar el plano lejano es para ganar rendimiento ya ke no nesesito rendalizar todo, solo lo visible dentro de los 700 , las montañas en el horisonte y el cielo. ahora bien, la idea es no usar unas montañas escaladas ke se rendalicen primero onda el cielo, desactivando el zbufer, porke en momentos uno va a poder estar en los pies de las montañas. igualmente muchas gracias por la ayuda.
pd: huesos en direct3d? skinmesh? uno puede cargar los huesos en un .x y varios skin en otros?
graxs!
Podrias hacer que los objetos que esten a cierta distancia utilicen un far plane distinto a los que estan cerca, por ejemplo.
de echo eso es lo ke ago.. pero tira kilombos de zbufer, es ke tan pero tan mal escribo ke no se me entiende!!, pero bue.. ya me resigne.. me voy a aser un tetris 2d y listo.. :(
No has probado la solución que te propuse? Creo que es bastante válida para lo que pretendes hacer. Basta con que dibuje las montañas sin comprobación alguna, y para los objetos que quieres que desaparezcan en un determinado momento, compruebes la distancia entre la cámara y el objeto.
Inténtalo antes de ponerte con un tetris, hombre! :P
Ager, tu plan tiene un pekeño bug... lo que habria uqe hacer noe s calcular la distancia con el objeto a la camara, porque el objeto ede ser muy grande... y ¿que punto tomas como referencia? ¿Su centro? Lo que habría que hacer es calcular la colisión entre un BBOX que englobe al objeto con el frustum piramidal. ¿No?
Claro, cuando me refería al objeto, estaba suponiendo un bounding box/esfera que lo englobara.
Peeeeeeeeeeero, lo de la comprobación con el frustum no resolvería el problema en sí (o eso me parece a las tres de la mañana XD).
Lo que pasa es que él quiere que los objetos desaparezcan aún estando dentro del frustum, ya que las montañas si han de ser dibujadas deberían caer dentro de éste también. Lo que quiere es que las montañas se queden, pero los objetos "menos importantes" desaparezcan llegado un momento.
Hmmm igual con un cono menor lo podría resolver, pero calcular 2 frustums para lo que quiere me parece excesivo.
Ahora que pienso, tu solución del frustum sí que vale, solo que faltaría añadir una comprobación esta vez sí de la distancia del objeto (bbox/bsphere) con respecto a la cámara.... no? :huh:
bueno , muchas gracias , ya estoy intentando otras formas pa hacerlo utilizando las boudingbox y ya los estar molestando kon otras preguntillas.:)