Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Multitexturing, hasta donde usar Photoshop?

Iniciado por tiutiu, 11 de Mayo de 2003, 01:26:49 PM

« anterior - próximo »

Tei

                               
Citar
Lo que digo es que el método no genera nada que se parezca a sombreado real porque el mapa de normales sigue siendo el mismo da igual donde consideres el punto de luz (photoshop acaso sabe donde está?).

Pues si quieres decir que el metodo no crea nada llamado "sombreado real" dilo. Si quieres decir que el metodo no crea nada parecido "a la corona del real madrid" pues dilo. Si quieres decir que el metodo no crea nada parecido "a una sombrilla playera" pues dilo. El metodo lo que hace es mejorar la imagen dandole mas relieve aparente, el relieve que le da un sombreado.                                

Tei

                               
CitarTei, no seas cabezota.

Tranquilo, en esta parte de la pelicula viene la chica y me rescata.                                

tamat

                                He estado siguiendo la discusión y aunque en un principio catalogué a Tei de novato con el paso de los posts veo que tan tonto no es, obviamente comete bastantes errores pero algo de razon tiene.

Para Tei:

La funcion multiplicar de photoshop lo unico que hace es crear un canal alfa de la capa en cuestion basandose en su luminancia, o lo que es lo mismo, la pasa a grises y lo que es negro se ve negro y lo que es menos negro se ve del color de la capa de debajo, finalmente lo que es blanco se ve tal cual es la capa de debajo.
Esto puede dar efectos chulos pero obviamente no tiene nada de efecto de relieve (aunque te lo parezca) ya que como bien han dicho no tiene en cuenta la procedencia de la fuente de luz, ahora bien, si tenemos un mapa de alturas (se puede obtener de uno de normales pero no pasandolo a grises, el proceso es más complejo) existe un filtro de photoshop al que le das la posicion de un foco de luz y sus propiedades, la capa con el highmap y te genera el sombreado pertinente como muestro a continuacion:



Esto si es un efecto de bumpmap realista pero obviamente es totalmente estatico.


Para el resto:

Lo que yo entiendo de su explicación es que no sería mala idea crear un programa que aplicase los bumpmap de las texturas de Doom3 sobre los lightmaps con un foco en alguna posicion generica (arriba derecha), de este modo mejoramos las propias texturas que al no estar previstas para usarse sin los bumpmaps son algo tristes.

Sin embargo, decirle a Tei que lo que él comenta de las texturas con detalles integrados como en este caso el bumpmap se lleva haciendo desde siempre, lo normal es que las texturas se hagan modelando el material en 3D con un 3d studio y tomando un screenshot de lo generado, de ese modo la imagen tiene ya todo lo necesario (bumps y demas) y gana en detalle, eso se ha hecho desde siempre, otra cosa es que la gente prefiera hacerlas directamente en photoshop y descubra ahora tecnicas para mejorar la calidad.

Finalmente decir que el bump map si que podreis aplicarlo a la textura porque solo depende de la luz y es habitual que esta sea estatica, sin embargo el specular map sería imposible ya que la manera que tiene de afectar al poligono varia en funcion de su posicion, por lo tanto perderia todas las propiedades de specular que tiene, dejaria de dar ese efecto metalizado que tan bien queda.                                
Por un stratos menos tenso

Tei

                                lo de novato me da igual, llevo programando desde el 86, pero no soy profesional sino que es un hobby. Dibujando llevo toda la vida y tengo 29 años.

Lo de la captura me interesa bastante,.. si pudieras escribir un mini howto, te lo agradeceria.

Pido perdon si he sido algo brusco y absolutista en post anteriores. Es obvio que no he logrado que me entendais y quizas sea imposible, seguramente hablamos en dos idiomas distintos.                                

tiutiu

                                Me parece que no me explique bien al principio y este post se ha ido de madre xD

A ver si he entendido bien, pq mira q llevo dias leyendo sobre specular maps, bump maps, light maps, alpha maps y to eso.

La gracia de los lightmaps no es que te ahorras el meter una luz y que ogl calcule la informacion de la luz? es decir, te haces el lightmap de la habitacion (o uno para la malla) y luego se lo aplicas mediante multitexturing cuando renderizas. Pues bien a mi entender, el lightmap es otra textura que aplicas encima de la textura del modelo, asi que yo digo, para hacer eso, abres el photoshop y se la aplicas ahi y punto. Igual que con el lightmap lo haces con el diffuse map, q mas que nada estos tipos de mapas son para darle una iluminacion estatica a una textura para que no quede tan plana, asi que se lo puedes aplicar con el PS.

El bumpmap ya es otra cosa, ya que necesita un punto en el que se supone que esta la luz, asi que es dinamico (varia segun la posicion de la luz con respecto el modelo).

Pero repito, el specular map(luminosidad) y el lightmap (sombras) a mi entender se hacen para evitar el calculo de la luz para un modelo, asi que se lo aplicas en el photoshop y ale, te evitas el multitexturing (solo lo usarias para los bumps y las transparencias)

Espero que ahora se entienda a que me refiero                                
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

Mars Attacks

                                Esa parte ya quedó contestada, ¿no? Habría que ver si merece la pena meter x texturas de tamaño m en memoria (x * m) o meter y + z texturas de tamaños n y p en memoria (y < x, p << n, y*n+z*p).
Todo dependía de si podías reutilizar mucho determinadas texturas, si realmente te ahorrabas mucho olvidándote de los lightmaps y de si eran muy grandes tus escenas.                                

tiutiu

                                Me estoy poniendo muy nervioso con esta tonteria ya. Que es eso de tener X texturas en memoria, una por poligono o no se q deciis? tienes una textura para todo el modelo coño, eso desde siempre, pues ya esta, modificas esa textura para que ya incluya la informacion de luz y sombra por defecto (para no tener una luz en GL) en el photoshop y usas esa textura, no digo que tengas tropecientasmil texturas, tienes una y punto.

O eso o no se q es un lightmap (parece q es lo segundo...)                                
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

Mars Attacks

                                Una textura única... Sí, claro, si tienes un escenario de exteriores, por ejemplo, con casitas de ladrillos, árboles y un chucho husmeando el culo de otro, puedes crear una textura de 453459872341400x 512 píxeles para que no se vean cuadrados más grandes que el chucho. Pero no sé yo si lo soportará mu bien la tarjeta. La mía fijo que no.
Otra opción es usar una textura de ladrillos, una textura de piel de perro, una textura de árbol, una textura de suelo, etc. y aplicárselo a cada objeto independientemente (pueden haber varias casas, varios árboles, varios perros y cada uno de estos elementos recibir la luz de cada forma) de manera que después calculemos sus lightmaps que ocupan muy poco y se los apliquemos rápidamente.

En fin, si te sigues liando te haré una demostración rápida con un par de renders de esferas iluminadas, pero piensa esta escena por un momento:

Tienes doce fichas de dominó todas con el seis doble formando una disposición semejante a la del cromlech ese de inglaterra, como si fueran las horas en un reloj analógico.
Piensa que tienes una esfera digamos en... por detrás de las 6, bastante más atrás, de forma que unas fichas tienen iluminado su anverso, otras su reverso y otras el lateral (y por supuesto, otras los puntos intermedios a esos extremos).
Pues bien, puedes hacer doce texturas con la figura del seis doble cada una con la iluminación que debería tener y aplicar cada textura a su correspondiente ficha, o bien
puedes ponerles a todas la textura del seis doble y generar sus lightmaps (que ocupan muy poco como ya han dicho) y componer la imagen en la escena.

Lo de las X y las Y y las pollas: supón que la textura del seis doble ocupa 10 kb, y que un lightmap ocupa 1 kb

con tu método necesitas 10*12=120kb
con los lightmaps necesitas 10+12*1=22kb

¿Ya?                                

tamat

                                Para tiutiu:

Creo que confundes el specular map con el emisive map (aunque creo que se conoce con otro nombre), el emisive determina que pixels de la textura emiten luz independientemente, ideal para texturas de pantallas de monitor, para los leds de las texturas de aparatos electronicos, etc. En la practica el emisive map se aplica el ultimo, primero el colormap, luego el light y finalmente el emisive.

El specular map determina que partes de la textura reflejan la luz, no es lo mismo un objeto de madera que de metal pulido, la diferencia es que mientras que la madera absorve la luz el metal la hace rebotar. Pero esto requiere de un foco en la escena y de la posicion del observador, de modo que segun como miras el objeto la specular lo hace cambiar, por lo tanto esto es imposible de plasmar de antemano en la textura ya que si no cambia al moverse el player entonces no sirve de nada.

Otro error que cometes es pensar que los lightmaps son unicamente para librar a la tarjeta de hacer ese calculo, en parte es cierto, pero el uso de lightmaps permite crear sombras en los objetos y eso el sombreado goreaud de opengl no lo hace por si solo, un ejemplo es que si tienes un poligono gigante a modo de suelo y pones un cubo encima con un foco aun más por encima la sombra del cubo proyectada sobre el suelo no te la calculará opengl, pero con un lightmap si que la tendras.

Y sobre lo de porqué no aplicarlos a la textura directamente solo añadiré a la explicación de Mars que dado que las sombra suelen ser difusas y que las texturas al extirarlas se hacen más difusas pues con una textura en escala de grises de 64x64 pixels podemos tener el lightmap de una pared con una textura de 1024x1024 pixeles, esta ultima textura la puedes reaprovechar y utilizar otras texturas de 64x64 como lightmap en cada sitio que la pongas, con lo que tendremos una de 1024x1024 y unas cuantas de 64x64, mucho más rentable que no el otro sistema.

Para Tei:

Perdona si mi comentario sobre que eras novato te ofendió, precisamente pretendia decir lo contrario, que por tu manera de escribir dabas esa impresion pero que a lo largo de los mensajes dejas claro que no.                                
Por un stratos menos tenso

tiutiu

                                Otia es verdad Mars, no me habia parado a pensar q pude haber varios modelos en la escena usando la misma textura xDDDDDDDDDDDD vaya fallo.

Lo de que confundo el termino d specular map y emissive y eso, lo que se de multitexturing (de donde me salio la idea mas q nada) es de aqui:
http://www.bigpanda.com/trinity/                                
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

Ithaqua

                                Creo que se te ha dicho 243614363078 veces durante el thread :)                                
thaqua^Stravaganza
http://ithaqua.stravaganza.org

CoLSoN2

                                pues si, desde el principio xD                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor






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.