Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: boubou en 16 de Octubre de 2003, 06:44:42 PM

Título: Luces Para Interiores
Publicado por: boubou en 16 de Octubre de 2003, 06:44:42 PM
 hola, kisiera saber cual es el tipo de luces (en openGL) k hay k utilizar para escenarios interiores como casas, cuevas... por favor ayudadme.
Título: Luces Para Interiores
Publicado por: NeLo en 16 de Octubre de 2003, 07:22:42 PM
 Eso lo tienes que decidir tú.

Si son estáticas puedes usar light maps. Si son dinámicas y es una cueva como dices (bastantes vértices), puedes hacer iluminación por vértice. Y si quieres algo más real, pues por pixel.

Saludos.
Título: Luces Para Interiores
Publicado por: DraKKaR en 16 de Octubre de 2003, 07:26:18 PM
 Los lightmaps son difíciles de generar pero rápidos de usar. Lo mas sencillo es que practiques primero con la iluminación por vértice. Cuando ya la domines estudia alguna de las técnicas de iluminación por pixel. Por cierto.. ¿que gráfica tienes?
Título: Luces Para Interiores
Publicado por: BeRSeRKeR en 16 de Octubre de 2003, 08:06:18 PM
 Pues todo depende...

Si literalmente querías decir "tipo de luz", entonces tienes que si se trata de una antorcha, una bombilla o cualquier tipo de fuente de luz que lance rayos de luz hacia todas partes, entonces utiliza un tipo de luz omnidireccional (o puntual). Si se trata de un foco, utiliza una de tipo spotlight y si se trata de la luz solar, utiliza una direccional.

Ahora bien, si lo que preguntabas era el "tipo de iluminación", entonces depende del equipo al que vaya orientado tu motor 3D. Para equipos poco potentes, los lightmaps o la luz per-vertex precalculada sería lo mejor (evidentemente más sencillo es precalcular la iluminación per-vertex que un lightmap pero la calidad de estos últimos es mucho mayor). Si el equipo es decente, entonces utiliza iluminación dinámica per-vertex. El problema principal es que la geometría tiene que estar bastante teselada para obtener buenos resultados, sobre todo en el tema de la componente "specular". Y finalmente, si lo que quieres es lo último, utiliza iluminación dinámica per-fragment. Sin duda es la que más calidad tiene de todas las técnicas mencionadas. El problema es que si no posees una aceleradora que lo soporte pues olvídate. Y aún así, tienes que tener cuidado con el número de luces simultaneas.

Saludos.
Título: Luces Para Interiores
Publicado por: MChiz en 16 de Octubre de 2003, 09:35:06 PM
 Desde que estan los plugins para MAX, los lightmaps son cosa facil ;b
Título: Luces Para Interiores
Publicado por: DraKKaR en 16 de Octubre de 2003, 11:22:19 PM
 De que forma se peuden exportar esos lightmaps calculados desde el MAX?
Título: Luces Para Interiores
Publicado por: MChiz en 17 de Octubre de 2003, 07:49:01 AM
 Yo lo he hecho con el MAX 5. No se exactamente como se generan ( es con el render to texture, creo. El shortcut es la 'o', si no recuerdo mal ). Pero para exportarlo es 'tan sencillo' como exportar otro set de coordenadas de textura.
Título: Luces Para Interiores
Publicado por: Miki en 27 de Octubre de 2003, 12:04:51 PM
 boubou, como dice MChiz, desde el MAX5 se pueden generar lightmaps cojonudos, muy por encima de lo k pueden mostrar mapas con tecnologia quake o similar, además de poder crearlos con el tamaño k tú kieras (no estás obligado a usar 128x128 o 256x256 como sucede en muchos tipo quake).  Luego puedes exportar el archivo a X y usarlo de forma sencilla en DirectX, aunk tal y como veo, en tu caso usas oGL. Estoy deacuerdo con lo mencionado, y aparte podrías estudiar la posibilidad de implementar realtime tessellation. Consiste en tener los vertices básicos para crear planos (x ejemplo, una pared) en la k desde ahí controlas básicamente las colisiones, coordenadas de textura y poco más. Luego para teselar cada plano...pues si tienes un plano compuesto por 4 vertices (uno en cada eskina), lo más facil es dividir de forma ecuánime el plano (añadiendo nuevos vertices) e iluminandolos con respecto a la proximidad del punto de luz. Hay formas más óptimas de hacer esto, pero tmb mucho más complicadas :-P
Weno, ahí keda la cosa...