Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Tecnologia Polybump ¿¿cual Es El Truco?

Iniciado por J_F_NASH, 30 de Julio de 2003, 09:44:56 PM

« anterior - próximo »

J_F_NASH

 Sin esta tecnologia:



Con Polybump:




Comparando resultados en base a nº de poligonos:




Flipante.
¿Cual es el truco?



S2.

Mars Attacks

 Como si digo alguna barbaridad me saltarán al cuello y me corregirán, me lanzo a tratar de explicar lo que yo entendí al respecto:
Tienes un modelo de 25000 polys, sacas una especie de render de su textura que utilizarás como mapa de relieve en un modelo de 1500 polys y tu tarjeta que es muy lista aplicará ese engaño visual en tiempo real al muñeco de 1500 para que su superficie cambie de iluminación como si realmente tuviera esos polígonos añadidos.
Con un buen "perfil" no demasiado cuadrado, ya has visto que casi es inapreciable a simple vista, y que sólo te das cuenta si te fijas en que los bordes son mucho más duros en el modelo low que en el high.

Creo que incluso lo he liado demasiado, en realidad seguro que es hasta más simple de lo que lo he dicho, aunque mi duda está en cómo se saca ese mapa de relieve del modelo de 25000.

Un saludo.

Astat

 Mas que un mapa del relieve (¿?), es una "mapa de normales". Se hace el modelo de alta, se saca una textura con el valor de todas las normales de ese modelo. Se pasa ese modelo a baja para el motor, y para calcular la iluminacion se usa esa informacion sacada del modelo de alta. Asi al final tenemos el modelo de baja, con la iluminacion del de alta.

Esto va a suponer bastante mas curro para los grafistas (ole), ya que tendran que hacer los modelos de alta para calcular esta nueva capa.... cuuuÑÑñññññaaoOOooOOo  

DraKKaR

 Disteis en el clavo, es justo lo que hace el DOOM3. Creo recordar que los modelos en alta de ese juego tenian mas de 700.000 polis, y al aplicar ese truco sobre los modelos en tiempo real del juego da un resultado abrumador sobre modelos con poquisimos poligonos. Si os fijais en los bordes son flipantemente rectos XD

AGONY

 Esa tecnica se usa en juegos como Doom 3 y solo se puede usar en placas que soportes pixel shaders (per pixel lighting). Esa tecnica en particular se llama normal mapping y consiste en guardar en una segunda textura la normal de cada punto.

Se trata de un bump map en tres dimensiones. Luego, se puede calcular para cada pixel la normal y asi iluminarlo segun los valores diffuse y specular que correspondan.

Espero que te sirva la info. J_F_NASH

Saludos.-

AGONY

 Añadir que hay muy poco software que aguente esto uno podria ser el XSI.

Grugnorr

 Agony, no hacen falta pixel shaders. Con la extensión Dot3 basta. La "demo" del Doom3 funcionaba bien en una GF2mx....
hat the hells!

Mars Attacks

 Quise decir mapa de normales, efectivamente. Gracias Astat, no sé dónde tengo la cabeza...  (rules)  

AGONY


Ithaqua

 Bueno, también está la técnica que pusieron de moda los comerciales de la matrox parhelia, que consistía en teselar (en la GPU) una malla en base a una textura a modo de mapa de alturas.
En todo caso el screenshot aparentemente no muestra nada que el bumpmapping no pueda hacer :)
thaqua^Stravaganza
http://ithaqua.stravaganza.org

Mars Attacks

 ¿Ya comenzamos? XD
La imagen no, pero en el juego sí se notaría, sí :P

O2

 Ithaqua : Te refieres al displacement mapping?

Pero eso consumira muchisimo más proceso que los polybumps, al tener que generar más poligonos fisicamente, no?

Ademas, al parecer, Carmack dijo que la implementación de displacement mapping de la matrox no servia para nada, pues estaba basada en Quads... ¿?

En fin, Berserker podria aclararnos todo esto seguramente, ya que su cargador de MD5 creo que implementaba per pixel lighting usando los Polybumps.

Un Saludo.

PD: Que le pasa a mi avatar? mi vieja_jodia.jpg sale distorsionada... :(

BeRSeRKeR

 En realidad, es lo que ha dicho Ithaqua. Es un simple dot3 bump-mapping lo que se esconde tras el polybump "ese". Es lo que yo tengo implementado en el visor de MD5 y es lo que gente como el propio Ithaqua también ha hecho. Por ejemplo ahora mismo recuerdo su demo (bueno de Stravaganza :)) "This Way" que implementaba bump-mapping en un knot y en unas flechas (aprovecho para decir que la demo me encantó. De hecho ganó la Euskal del año pasado  :D).

En realidad, supongo que lo más complicado del tema es la extracción de ese mapa de normales del modelo hi-res. Eso es algo que yo no he hecho porque utilizaba los mapas de normales que venían con los modelos del Doom3 por lo que, ¡vaya, ya no tiene tanto mérito! ;).

En lo referente a lo de Matrox y Carmack. No sé si fué con Matrox o con ATI, Carmack metió la gamba diciendo que la tecnología que utilizan para teselar mallas por hardware utilizaba quads en vez de tris por lo que, tras el consiguiente toque de atención (creo que de ATI), Carmack tuvo que pedir disculpas y aclarar el asunto. El inconveniente que pone Carmack a esta tecnología es que no congenia con los shadow volumes.

Para terminar, decir que el nombre de la técnica que utiliza el polybump es "Appearence Preserving Simplification" y aquí os pongo la dirección de un paper sobre el tema. Ale, ya podéis empezar a investigar :)

Saludos
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Grugnorr

 Que yo recuerde fué con ATI y no con el Displacement Mapping, sino con la tecnología TrueForm....
hat the hells!

egf

 gracias por los links y las informaciones  (ole)  y me gustaia añadir que vi un tutorial (no me acuerdo donde ) y el tio lo que hace es modelar en baja como se hace siempre, aumentarlo el mayado y con el sculper tool añadirle los detalles  ;)  






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.