Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: KILE en 29 de Enero de 2003, 09:00:45 PM

Título: Lightmaps dinamicos
Publicado por: KILE en 29 de Enero de 2003, 09:00:45 PM
                                Bueno otra de lightmaps jejeje. Ahora lo que estoy trabajando es con lightmaps dinamicos (Sin generación de sombras). Estoy usando opengl y mi dudilla es que a la hora de renderizar la escena con el lightmap dinamico, si tengo ya lightmap estatico y la textura de cada objeto pues tengo ya ocupadas las 2 extensiones de multitextura que suelen soportar la mayoría de las tarjetas. No es plan de intentar buscar una tercera multitextura :P asi que lo unico que me quedaba era usar blending :( y hacer 2 pasadas. De hecho 1 con multitextura + textura y otra con multitextura + textura lghtmap dinamico. Hay alguna manera de hacerlo mas rapidillo? :P
Y segunda pregunta que opinais entre hacer los lightmaps al estilo clasico de tener la lista de UV de cada poligono e ir actualizando las coord de textura en cada movimiento de la luz o por el contrario usar texture projection trabajando con la matriz de textura? :P

Un saludo                                
Título: Re: Lightmaps dinamicos
Publicado por: Lord Trancos en 29 de Enero de 2003, 11:34:55 PM
                               
CitarBueno otra de lightmaps jejeje. Ahora lo que estoy trabajando es con lightmaps dinamicos (Sin generación de sombras). Estoy usando opengl y mi dudilla es que a la hora de renderizar la escena con el lightmap dinamico, si tengo ya lightmap estatico y la textura de cada objeto pues tengo ya ocupadas las 2 extensiones de multitextura que suelen soportar la mayoría de las tarjetas. No es plan de intentar buscar una tercera multitextura :P asi que lo unico que me quedaba era usar blending :( y hacer 2 pasadas. De hecho 1 con multitextura + textura y otra con multitextura + textura lghtmap dinamico. Hay alguna manera de hacerlo mas rapidillo? :P

Yo hago esto...

 1pass
 2pass <"faked" lightmaps dinamicos>
 3pass <"normal">

^_^;; no se siquiera como hacerlo en 2 pasadas... si se te ocurre como montarlo ya me diras como lo haces.

Citar
Y segunda pregunta que opinais entre hacer los lightmaps al estilo clasico de tener la lista de UV de cada poligono e ir actualizando las coord de textura en cada movimiento de la luz o por el contrario usar texture projection trabajando con la matriz de textura? :P

Yo uso texture projection, lo de "lockear" el vertex buffer pa modificar las UVs no me parecio buena idea.                                
Título: Lightmaps dinamicos
Publicado por: Haddd en 30 de Enero de 2003, 09:05:07 AM
                                Yo uso una técnica diferente. Lo que hago es modificar la textura del lightmap. Como ya están asociadas sus U,V y sé la posición que ocupan, mi único trabajo es actualizar una textura de 512x512 en los triángulos que se están utilizando y listos.                                
Título: Lightmaps dinamicos
Publicado por: ethernet en 30 de Enero de 2003, 07:54:44 PM
Podrias explicar mejor tu tecnica haddd ?

lord: se da alguien q aun espera el cotw de lightmaps xDD

saludos
Título: Lightmaps dinamicos
Publicado por: Haddd en 31 de Enero de 2003, 09:21:11 AM
                                Mira primero calculas los pasos normales para tener tu lightmap. Entonces al final tienes:

Que cada triángulo de tu escena tiene las coordenadas de su trocito de lightmap

Una o varias texturas que son los lightmap

Pues una vez que tienes esto, sólo tienes que calcular de nuevo la luz, porque ya qué posición del lightmap tiene asignada. Esto hace que calcular las luces dinámicamente reduzca mucho su tiempo.                                
Título: Lightmaps dinamicos
Publicado por: Lord Trancos en 31 de Enero de 2003, 12:58:31 PM
                                creo q hadd esta hablando de dinamic lightmaps reales y yo de "faked" dinamic lightmaps.

ethe: sorry pero ult toi muy ocupado (apenas se me ve pol foro), con la ult. version de las lmtools (quiero acabarla ya!). cuando tenga eso te juro por snoopy q te envio el code ese.                                
Título: Lightmaps dinamicos
Publicado por: ethernet en 31 de Enero de 2003, 07:09:13 PM
ok lord ya paro de meter presion xD
thx hadd
Título: Lightmaps dinamicos
Publicado por: ethernet en 31 de Enero de 2003, 08:07:03 PM
cuando os referias a faked os referias a tener una textura precalculada ?
usais planar mapping ?
cuando tienes una malla grande como sabes q q poligonos debes aplicar un lightmap ? me refiero ligthmaps dinamicos

saludos
Título: Lightmaps dinamicos
Publicado por: Lord Trancos en 01 de Febrero de 2003, 10:49:15 AM
                               
Citarcuando os referias a faked os referias a tener una textura precalculada ?
usais planar mapping ?
cuando tienes una malla grande como sabes q q poligonos debes aplicar un lightmap ? me refiero ligthmaps dinamicos

saludos

1.- Sipe. El tipico "circulo de luz".
2.- Yo sip.
3.- Necesitas tener el espacio particionado. Yo por ejemplo uso un octree. Cuando quiero saber a q poligonos puede afectar un lightmap dinamico, hago un comprobacion para ver con que nodos del octree colisiona una esfera q representa a la zona iluminada por la luz.                                
Título: Lightmaps dinamicos
Publicado por: ethernet en 01 de Febrero de 2003, 12:10:35 PM
aja, thx lord, suponia q se haria usando alguna tecnica de ese tipo

saludos
Título: Lightmaps dinamicos
Publicado por: ethernet en 01 de Febrero de 2003, 12:41:06 PM
Ahora una cosa q se me ocurre con el planner mapping. Imaginate q estas en un pasillo dos paredes, techo y suelo. Si nos ponemos a calcular sobre q plano debemos proyectar suponiendo q las normales de los poligonos son iguales sobre donde se proyecta ? q criterio se aplica ?
saludos
Título: Lightmaps dinamicos
Publicado por: Lord Trancos en 02 de Febrero de 2003, 10:48:52 AM
                               
CitarAhora una cosa q se me ocurre con el planner mapping. Imaginate q estas en un pasillo dos paredes, techo y suelo. Si nos ponemos a calcular sobre q plano debemos proyectar suponiendo q las normales de los poligonos son iguales sobre donde se proyecta ? q criterio se aplica ?
saludos

:o Las normales de los poligonos son iguales ????? Eso es imposible; los poligonos no podrian formar un pasillo.

Para determinar sobre que plano se aplica el mapeado yo me baso en el componente mas grande de la normal.



function  vectLargestComponent(const _v: P_Vec): TXYZ;



var _abs : single;



begin

 _abs := Abs(_v^[X]);

 Result := vectX;

 if _abs < Abs(_v^[Y]) then begin _abs := Abs(_v^[Y]); Result := vectY; end;

 if _abs < Abs(_v^[Z]) then Result := vectZ;

end;

                               
Título: Lightmaps dinamicos
Publicado por: ethernet en 02 de Febrero de 2003, 12:15:05 PM
Me referia q las normales fueran iguales en modulo ;DDD. Viendo tu codigo veo q si son iguales primero pilla el de la componente X despues el de la Y y por ultimo el de la Z, supongo q te habra salido asi y no lo has hecho por algo especial no?

saludos
Título: Lightmaps dinamicos
Publicado por: Lord Trancos en 03 de Febrero de 2003, 04:37:30 PM
                               
CitarMe referia q las normales fueran iguales en modulo ;DDD. Viendo tu codigo veo q si son iguales primero pilla el de la componente X despues el de la Y y por ultimo el de la Z, supongo q te habra salido asi y no lo has hecho por algo especial no?

saludos

todas las normales son iguales en modulo :P

vale, vale,... ya se q te refieres a las componentes ...  pues el codigo venia asin; como creo q ya comente el codigo del plannar maping lo saque de un ejemplo q encontre. pero weno, si las 3 compos son iguales da igual el plano q eligas...

pd- sigo pensando q es jodido formar un pasillo con poligonos cuyas normales tengan sus 3 componentes del mismo modulo :P                                
Título: Lightmaps dinamicos
Publicado por: Mars Attacks en 03 de Febrero de 2003, 04:58:13 PM
                                Lord Tronco, ¿puedes pasarte un poco por el thread de Mi Amigo Mac y decirme qué te sugiere el problema que allí me acaece? El de las luces "bajo" la pared. Asias miles.                                
Título: Lightmaps dinamicos
Publicado por: Lord Trancos en 04 de Febrero de 2003, 05:33:14 PM
                                pa q ? si ya lo has arreglao :P                                
Título: Lightmaps dinamicos
Publicado por: Mars Attacks en 04 de Febrero de 2003, 05:42:27 PM
                                nah, es que eres tan rápido que lo has solucionado incluso antes de decírmelo  :D