Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Portal Render

Iniciado por Omaddon, 10 de Septiembre de 2003, 12:38:33 AM

« anterior - próximo »

Omaddon

 Estoy programando un motor basado en portales. ¿Como es mejor pintar la escena?
1. Pintar el sector actual y todos los objetos que contiene y pasar al siguiente sector.
2. Marcar los poligonos y objetos visibles para despues pintarlos ordenadamente.
3. .........

Con la primera forma, gana en paralelismo y es mas sencillo utilizar los portales para efectos como
espejos y portales.

Con la segunda, minimizas los cambios de textura y estados.

¿Como es mejor pintar la escena? Cada sector contiene poligonos, objetos(personajes), luces, particulas, coronas...

Minos

 Estaba buscando post sobre portales y me encontre este y dije: ' y por k no lo respondo? '  :P

A mi manera de ver la mejor forma seria usar el tipico procedimiento recursivo para renderizar con portales pero mandando los meshes a una cola de renderizado, esta cola ya se encargaria de tenerlos ordenados y dibujarlos despues.

Otra forma podria sr teniendo los meshes en los nodos ya ordenados, asi una vez k los dibujas se minimizan los cambios. No son todo lo minimos que se podrian pero es una buena aproximacion en algunos casos en los que no conviene gastar recursos ordenandolos.

p.d: a ver k mas encuentro por aki sobre portales  :rolleyes:  

swapd0

 Teniendo en cuenta que lo normal es que tengas una targeta aceleradora, yo creo que lo mejor es mandar cuanto antes los poligonos al hardware en ver de guardarlos en listas, asi se aprovecha mejor el paralelismo.

regency

 Ha pasado ya casi 1 año que se abrio ese post....
a href='http://regencylinestudios.com' target='_blank'>Leathersoft Studios

Pogacha

 Ya que estamos en el baile, es preferible cortar los poligonos y objetos para renderizarlos o no?

AgeR

 A mi modo de ver hoy en día no sale a cuenta cortar los polígonos, para eso hay gráficas bien potentes. Para 4 polys mal contados que hay que recortar se envian directamente y a paseo, no vale la pena complicarse.

PD : Peazo post añejo!

Pogacha

 Preguntaba mas, por lo que se usa, el tema de los Per Pixel Lighting puede terminar duro si se repiten los temas.
Pero creo que no vale la pena cortarlos.
Saludos.

Zaelsius

 No te preocupes por ello Pogacha, en el proceso de rendering el clipping va antes de la iluminación:

Link: http://www.extremetech.com/article2/0,1558...,1154772,00.asp

Pogacha

 Bueno, probe mi version ultra optimizada de portal render en mi motor usando los portales del BSP y el FR me cae de 60 a 7 fps,  (grrr)  (grrr)  (grrr)  (grrr)  (grrr)
Supongo el modelo BSP no es para esto.

¿Para un motor por portales es preferible usar habitaciones como sectores convexos y todo lo de adentro como objetos?

Pues me descilucione bastante con la caida del FR.  (nooo)

Edit : Solo uso el portal rendering para crear un set de visibilidad potencial en tiempo real, y la verdad es que funca muy bien en contra de su lentitud. El render lo hago despues.

Edit 2: ¿Alguien sabe como carajo hace el Doom 3?

vincent

 Muy buenas,

yo también creia que lo mejor era irlos pintando a medida que vas recorriendo el algoritmo, pero hice lo de irlos marcando y me va un pelín más rápido. Lo que si que no te recomiendo es ir cortando triangulos. Todos los test de si los objetos caen dentro o fuera del frustum y el enviado a pintar, lo tienes que intentar hacer con objetos lo más grandes posibles. Si vas triangulo a triangulo te puedes morir.

Otro factor interesante es pintar la escena front-to-back, para aprovechar el ztest que ya realizan las targetas gráficas.

Y para finalizar, recuerda ordenar tus polígonos de los objetos por textura.

Taluego!

VinCenT.
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

vincent

 Por cierto, creo que el doom 3 utiliza un bsp sencillo sólo para saber en que sector está el player y a partir de allí utiliza portal rendering.
Desarrollo en .Net y metodologías http://devnettips.blogspot.com






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.