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 »

tiutiu

                                Bueno, he estado leyendo unos articulos sobre multitexturas, lightmaps, specular maps y todas esas cositas que dotan de realismo a las texturas.

Mi pregunta es, como texturizais vuestros poligonos? Yo habia pensado en hacer todo el proceso en el photoshop, es decir, abro la textura, le fusiono los specular maps y los lightmaps, asi ya la tengo iluminada y sombreada, simplemente con una pasada del renderer ya estaria el modelo.

Pero claro, supongo que muchos de vosotros no lo hareis asi, con lo cual yo pregunto: hasta donde usais el photoshop? como haceis las pasadas de texturizado del renderer?                                
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

AgeR

                                Hmmm si te he entendido bien, quieres hacer una textura con su iluminación etc para cada poligono? Si hubieran pocos poligonos podría ser una forma de hacerlo. El problema es que tendrías que cargar todo ese montón de texturas. Resultado : mucho tiempo de carga, mucha memoria para almacenarlas, mucho espacio en disco para guardarlas.

Normalmente una textura se suele usar para bastantes poligonos y luego se le aplican los lightmaps, que al requerir menor resolución suelen empaquetarse en un único archivo a cargar. De los specular maps ya no te puedo decir nada, no he tocado el tema.

Es lo que haría yo vamos, pero supongo que hay bastantes formas distintas de realizarlo.  :)                                

tiutiu

                                No hombre no!! A ver, yo me refiero a multitexturing, es decir, tu aplicas un lightmap, alphamap o specular map a la textura, para añadir sombras, transparencia o luminosidad a la textura.

En el Photoshop, tu metes el lightmap encima de la textura y le cambias el blend mode a Multiply y ya tienes tu textura con las sombras, tal como quedaria al hacer multitexturing con OGL (p.ej.). Pero claro, si ya lo haces con el photoshop, le ahorras trabajo al ogl ya que la textura ya tiene incluido el lightmap.

No se como explicarlo mas claro, no deberia dar lugar a dudas, simplemente digo que porque no aplicar todos los efectos de textura offline (con el photoshop o el programa q sea) en vez d online (render-time, como quiera q lo llameis)?                                
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

Mars Attacks

                                Dicho de otra forma: para qué hacer otra pasada para ponerle el lightmap cuando fusionando ambas texturas con un programa puedes tenerlo ya hecho con el consiguiente ahorro de coste de la pasada.
Es una buena pregunta que nunca me había planteado. Tal vez sea que, si quieres cambiar la iluminación por la razón que sea, te vas a tener que volver a comer todos los cambios en todas las texturas, no vas a poder reutilizar texturas en las que con las dos pasadas tendrían diferentes lightmaps y cosas así.                                

CoLSoN2

                                pues muy fácil, tiutiu:

- Si tienes un edificio donde todas las paredes usan la misma textura (gotelé, por ej) pero diferente lightmap (que consume muchos menos recursos que una textura de alta resolución), es mucho más costoso aplicar N texturas diferentes (donde N es un número cercano al número de polígonos) que 1 textura y algunos lightmaps..  Además preparar tal cantidad de texturas sería un curro impresionante, para, como dicen por ahi, luego tener que cambiar la iluminación...

Me parece un poco absurda la pregunta..                                
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

fiero

                                tiutiu la explicación de Ager está bien.

un saludo                                
www.videopanoramas.com Videopanoramas 3D player

Tei

                                En la scene de quake estamos pensando en hacer una tool para combinar estaticamente las siguientes componentes de una texturas:

- color
- luma
- bumpmap
- glossmap

Hace tiempo Ikka Kerannen ya hico una herramienta para combinar "mapas de iluminado" con textura "color", se llamaba Imap y aun se puede descargar por ahi. Es de lo mejorcito que existe para ...256 colores..  

La idea que tenemos en la Scene es hacer una tool que combine estaticamente las 4 texturas esas en una sola, o dos, (el luma quizas podria ir aparte y por supuesto el lightmap va aparte porque es dinamico y lo da el mapa). Y asi usar texturas compatibles con Doom3 para otros motores.

La peculiaridad que tienen las texturas para motores Doom3 es que no integran efectos de luz o sombras (jodete lorito), asi que parecen muy... planosas.

Si quereis leer los barruntos de la gente sobre esto visitar www.quakesrc.org y si alguno tiene una buena idea que lo escupa. Yo imagino que ya existiran buenas tools para hacer esto por ahi, quizas alguna libreria opensource o algo asi.

Y eso.                                

Ithaqua

                                Y como combina uno estáticamente un bumpmap con otro mapa? :?                                
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Tei

                               
CitarY como combina uno estáticamente un bumpmap con otro mapa? :?

en photoshop yo lo combierto a grayscale (tal como esta son un monton de violetas y tal) y luego lo utilizo para multiplicar el color.

esto acaba siendo mas oscuro que el original, pero es facil de corregir y desde luego se ve mejor que sin el bumpmap aplicado.

En el bumpmap el texturador ha colocado detalles que con esta tecnica "rescatas" y que de otra manera un motor normal, como los de hoy en dia (sin bumpmaping)  no veria.

Si hubiera un interes inusitado por el tema os buscaria screenshots.                                

Mars Attacks

                                Pero yo pienso... ¿lo "bonito" del bumpmap no es la aplicación dinámica para dar el efecto de abultamiento en tiempo real? Si lo aplicas estáticamente, quedará incoherente desde según qué vistas, por la iluminación y todo eso, ¿no?                                

Ithaqua

                                No tiene ningún sentido, y si se multiplica en la textura lo único que se hace es usarlo de lightmap, pero de bumpmap no tiene nada.                                
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Tei

                                Un ejemplo:



En este ejemplo la primera imagen es la informacion de bummap.  Como he escrito, tiene informacion que nos interesa recuperar. Suponemos que es un motor sin bummaping, como son las mayoria a la hora de escribir este post.

La segunda imagen es la informacion de color.  Como seguramente apreciais, tiene un aspecto algo "plano", esto es mas o menos normal porque la informacion de relieve esta en el bummap. Usarlo en un juego da un aspecto muy... plano... tambien tengo screnshots sobre esto que os podrian iluminar sobre el tema. Es mucho mejor integrar, aunque sea estaticamente, la informacion de relieve.

Y la tercera se consigue con photoshop o con una herramienta de linea de comandos aplicando a la primera la segunda multiplicada y luego aumentando el contraste y la luz un poco para recuperar ..el contraste que   inicialmente perdemos.

Ahora las respuestas:

CitarPero yo pienso... ¿lo "bonito" del bumpmap no es la aplicación dinámica para dar el efecto de abultamiento en tiempo real? Si lo aplicas estáticamente, quedará incoherente desde según qué vistas, por la iluminación y todo eso, ¿no?

Quake2, Quake3, Half-Life, Unreal , etc... son motores que a dia de hoy no soportan bummaping, asi que en estos motores tendra sentido  editar estas texturas como muestro en mi ejemplo.  Lo de que quede incoherente...bueno, la mayor parte de los juegos no intentan un aspecto fotorealista, de echo yo ni siquiera creo que un aspecto totalmente fotorealista sea coherente con un juego. Cuanto mas "hollywood" metes en "el grano", que diria un director de cine, mejor.  Ahi estan los dibujos animados que no son nada "fotorealistas" y funcionan.

Citar
No tiene ningún sentido, y si se multiplica en la textura lo único que se hace es usarlo de lightmap, pero de bumpmap no tiene nada.

Solo se trata de arreglar el aspecto "plano" de la textura, y se consigue, y enriquecerla con mas detalles de alta frecuencia, y se consigue. No es que tenga sentido o no, sino que lal textura queda a ojos vista mejor, tanto en un visualizador como en juego, asi que finalmente SI tiene sentido. Al menos, y como he escrito en este post y en el original, para motores que no soporten el bummap directamente.                                

ethernet

Eso no es trabajo de programador, seria cosa suya si fuera bump mapping real, me refiero a iluminacion por pixel como tenebrae (:DD) por seguir con el tema quake. Esa textura la puedes meter en el pak de texturas tal cual esta, a no ser q te refieras a tener la textura con el normal map y despues calcular la textura final en funcion de la posicion y caracteristicas de la luz (estatica claro) y del objeto q tiene esa textura. saludos

pd: Tei le mi PM XD

Tei

                               
CitarEso no es trabajo de programador, seria cosa suya si fuera bump mapping real, me refiero a iluminacion por pixel como tenebrae (:DD) por seguir con el tema quake. Esa textura la puedes meter en el pak de texturas tal cual esta, a no ser q te refieras a tener la textura con el normal map y despues calcular la textura final en funcion de la posicion y caracteristicas de la luz (estatica claro) y del objeto q tiene esa textura. saludos

Yo hasta tengo estandarizado las texturas que funcionan solo y unicamente con mi motor. Pero no es cosa de pedir que cada pack de texturas tenga mil copias distintas con distintos nombres y ninguna informacion realmente nueva (que no se pueda conseguir del resto de texturas). Si puedes meter en un fichero de 50 MB una tool de 200 k que aplique estaticamente el bummap puede que estes ahorrando otras 50 MB, que como se da por echo que las vas a bajar de internet son una burrada.

Por eso el hilo este es interesante. ¿Hasta donde ir con photoshop? yo creo que la respuesta es "partiendo de hasta donde llegue tu motor target hasta el final".  Lo que pasa es que unos motores llegan mas lejos que otros.
Para ser sinceros los motores ya estan entrando quizas demasiado en lo que es generar una textura. Aun no he echo personalmente ninguna texturas con el bummaping separado y sin efectos de luz. Casi lo primero que uno aprende al dibujar es a sombrear y hacer una de estas texturas debe ser un poco como desaprender eso (debe costar un huevo no dar por echo que el sol esta "arriba a la izquierda", jejejeje....   Las mismas ventanas de windows se dibujan dando por echo que "el sol" esta a la izquierda arriba. Es algo ya casi automatico).

Osea, continuo, que meter, puedes meter cualquier cosa en un pak, pero por problemas de "peso", es mejor solo meter lo util. En los motores de hoy en dia solo es util meter la informacion de color. En unos pocos es ademas util tener una textura con la informacion de color de los pixesl fullbright (que se ven siempre iluminados al 100%)  y poco mas.  Quizas se deba comentar que .png es un formato muy bueno para almacenar estas cosas, aunque generalmente cuando interesa poner un canal alpha la gente (todos) caemos en usar .tga aunque el resultado son imagenes muy gordas (pero que se comprimen bien).                                

Mars Attacks

                                Entonces la respuesta de "hasta donde llegar con Photoshop" sería "hasta el escalón intermedio entre imágenes planas y bumpmapping dinámico", ¿me equivoco?                                






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.