-=NokYA=- escribió:Osea, a ver si lo entiendo, ¿me estais diciendo que no tiene normalmap ni cosas asi?, entonces en esta imagen y en esta ¿que veis?, porque me juego las dos piernas por encima de las rodillas a que esas arrugas en la ropa no son poligonos, ¿sabeis el PC que se necesitaria para mover tal cantidad de poligonos?.
Yo ya llevo un tiempo pensando que en realidad lo que quereis es realidad virtual, juegos con videos reales en vez de personajes con poligonos (rollo Mortal Kombat) o algo asi, porque leo vuestros comentarios y LO FLIPO.
Por otra parte, ¿sale hasta en PSP y no sale para PC?, anda y que les den bien fuerte por el ojete sin vaselina ni nada.
hsaoud escribió:
Hijo mío, te explico, el mapeado normal está a años luz de lo que sale en éstas imágenes; ésto que tu comentas es Bump Maping de toda la vida, una triste textura en escala de grises que simula altura sobre la malla en 3D a la que se le aplique.
El normal mapping, offset mapping o cualquier tecnología de shaders basada en vectorización de la luz (en realidad existen muchas, está el normal mapping + specular mapping que recibe el nombre de offset mapping,
y así con cada nueva combinación que se inventan), utiliza un mapa de relieve en escala de grises, aka bump mapping, más un mapa de normales de la malla en alta resolución, que más tarde se utilizará vía shader para convertir las direcciones de la luz que recibe la malla, simulando que tiene millones de polígonos, cuando en realidad tiene unos cientos o incluso miles.
¿Que porqué te explico ésto?, pues porque parece que la peña piensa que hacerlo es costosísimo para las desarrolladoras, y que nos tenemos que conformar con cualquier patraña gráfica (siempre recordando que son juegos de una media de 60€, y queremos algo de calidad a ése precio; otra cosa sería si el juego costara 10€ o fuera de distribución gratuita).
Sin más, aplicar un mapeado normal para una Next-Gen, es como renderizar un sprite en una PS2.
dar417 escribió:hsaoud, me parece bastante interesante la explicación sobre el mapping; yo no tenía ni idea. ¿Hay algún juego que lo use? ¿O alguna imagen donde se vea bien?
Por otro lado, a mi el resultado que estoy viendo del COD3 me gusta bastante. No dudo que sería mejorable, pero a mi me parece bastante espectacular.
Saludos
zheo
Eso que ves ahí es normal-mapping, un bump-mapping no tiene esa calidad ni de coña
"specular mapping" supongo que te referirás al mapa de luz especular que se añade como capa a la textura para regular la cantidad de luz reflejada. Y como digo eso no es offset mapping.
Ésto último consiste en desplazar las coordenadas de la textura plana dependiendo del vector de luz y de la altura que indica el normal mapping para darle una mayor sensación de profundidad.
En realidad el mapa de escala de grises suele ser para la luz especular, el normal-mapping es una técnica que sustituye al bump con más calidad.
Pues es bastante más costoso de lo que tú te crees, tanto en computación (a más resolución de los mapas más píxeles a procesar) como de realización, ya que la información de normales viene de un model con alta poligonación del que se sacan las normales del modelo por píxel para meterlo en una textura, algo que antes (y me refiero a consolas) no era necesario hacer con tanto detalle.
hsaoud escribió:
Gracias ;D ..... juegos que lo usen, por ejemplo Gears Of Wars es el ejemplo más claro, porque lo usa en casi todas las texturas (en todas las que yo he visto por lo menos), y en general cualquier juego que utilice el Unreal Engine 3, por ejemplo el mismo Unreal Tournament 2007 (ver aquí)
Ejemplo de Steep Parallax Mapping (se aprecia la diferencia entre cada uno de los tipos de texturado):
Parallax Offset Mapping:
[IMG=Parallax Offset Mapping]http://www.ixbt.com/video2/images/terms2k5/pm_ati_1.jpg[/IMG]
, como comento cada empresa va innovando en sus shaders, por ejemplo, el steep parallax aún no lo he visto en ningún juego y es bastante mejor que el normal mapping tradicional ...., en fin, cuestión de tiempo para que todos los juegos utilicen éste método básicamente para agregar detalle, ya que en términos de computación no es excesivamente costoso, sobre todo si tenemos en cuenta que estamos simulando millones de polígono con unos pocos nada más, y encima da una calidad visual brutal.
Mira las imágenes de éste post y compara los mapeados normales que salen con lo que tu comentas, la diferencia salta a la vista.
specular mapping significa "mapa de brillo", por lo que me estás hablando de lo mismo. Después, un specular map no es un offset map, está claro, por eso pongo que el "offset map=specular map+ normal map", es así por definición de shader, si tuviera el código fuente a mano también te lo posteaba.
...más de lo mismo.... ¿te has leído realmente lo que he puesto?
cierto.
Verás, no he dicho que no sea costoso, he dicho que es poco costoso, sobre todo si en vez de utilizar una técnica como ésta utilizaras polígonos.
Y de verdad tío, si os lo comento es porque estoy metido tanto en infografía como en programación, estoy desarrollando un juego, y he trasteado ya con varios shaders, y te digo que la caída de FPS entre una escena con normal mapping y otra sin ella es nimia, es más no depende tanto del normal map como tu crees, al fin y al cabo eso es una textura más que se mete en la memoria de la tarj. gráfica y encima no ocupa demasiado (de ahí que diga que no cuesta mucho cargarlo, es una textura más), lo peor del normal map son las luces que hay que tener en escena, para que ése normal map sea creíble, me explico, ya puedes cargar un modelo con un mapa de normales de 100Mb y de 8000x8000 pixels, que si no tienes al menos una luz en movimiento o varias fijas y el modelo en movimiento (el objetivo no es otro que recalcular las normales a cada fotograma para que se vea la luz rebotar en otro ángulo, y dar así la sensación de detalle en la malla), no ibas a notar la diferencia entre tenerlo y no tenerlo.
Todo ésto que hablo es "fácil" gracias a que los cálculos los hace el mismo procesador gráfico, está especializado en hacer ésto con los pixel shader vía hardware; si por contra no tuvieramos una aceleradora gráfica (no es el caso) está claro que hacer un mapeado normal sería una locura.
En referente a lo del modelado en alta poligonización: está claro que sería más costoso, pero ten en cuenta que éstas grandes compañías tienen bastante experiencia en éstas cosas, se crean modelos para animaciones CG de alta calidad para todas las intros de juegos, y si has modelado con algún software 3D (que deduzco que sí) sabrás que una vez tienes un modelo es muy sencillo hacerle retoques para que, en el caso de los personajes por ejemplo, parezcan otros totalmente nuevos.
En fin, que considero que un juego "Next-Gen" debe aportar gráficamente mucho más que lo visto en las capturas de COD3.
hsaoud escribió:Mira las imágenes de éste post y compara los mapeados normales que salen con lo que tu comentas, la diferencia salta a la vista.
specular mapping significa "mapa de brillo", por lo que me estás hablando de lo mismo. Después, un specular map no es un offset map, está claro, por eso pongo que el "offset map=specular map+ normal map", es así por definición de shader, si tuviera el código fuente a mano también te lo posteaba.
...más de lo mismo.... ¿te has leído realmente lo que he puesto?
Y de verdad tío, si os lo comento es porque estoy metido tanto en infografía como en programación, estoy desarrollando un juego, y he trasteado ya con varios shaders, y te digo que la caída de FPS entre una escena con normal mapping y otra sin ella es nimia, es más no depende tanto del normal map como tu crees, al fin y al cabo eso es una textura más que se mete en la memoria de la tarj. gráfica y encima no ocupa demasiado (de ahí que diga que no cuesta mucho cargarlo, es una textura más), lo peor del normal map son las luces que hay que tener en escena, para que ése normal map sea creíble, me explico, ya puedes cargar un modelo con un mapa de normales de 100Mb y de 8000x8000 pixels, que si no tienes al menos una luz en movimiento o varias fijas y el modelo en movimiento (el objetivo no es otro que recalcular las normales a cada fotograma para que se vea la luz rebotar en otro ángulo, y dar así la sensación de detalle en la malla), no ibas a notar la diferencia entre tenerlo y no tenerlo.
Sin tarjeta gráfica con shaders creo que no podríamos hacer eso más que por software, ya que no podríamos hacerlo de otra manera debido al estado del pipeline en el que hay que implementarlo. Y hacer eso con un procesador no especializado podría ser la muerteTodo ésto que hablo es "fácil" gracias a que los cálculos los hace el mismo procesador gráfico, está especializado en hacer ésto con los pixel shader vía hardware; si por contra no tuvieramos una aceleradora gráfica (no es el caso) está claro que hacer un mapeado normal sería una locura.
En referente a lo del modelado en alta poligonización: está claro que sería más costoso, pero ten en cuenta que éstas grandes compañías tienen bastante experiencia en éstas cosas, se crean modelos para animaciones CG de alta calidad para todas las intros de juegos, y si has modelado con algún software 3D (que deduzco que sí) sabrás que una vez tienes un modelo es muy sencillo hacerle retoques para que, en el caso de los personajes por ejemplo, parezcan otros totalmente nuevos.
zheo escribió:Acabo de leer el artículo del que sacaste la imagen, y más bien tenemos diferencias semánticas. En realidad el parallax mapping introduce vértices en la escena (algo que ese artículo que comentas no parece hacer). El parallax mapping que muestras es otro nombre para el offset mapping (y también se llama virtual displacement mapping, joder que lío de nombres ) Eso que muestras es una evolución, como dice el artículo, del bump mapping, pero el Call of duty si usa normal.
El caso es que hay otras técnicas de mayor calidad, eso es innegable. El steep mapping, que añade self shadow queda brutal, pero también ten en cuenta que va a 30FPS en una Geforce 6800, y es una escena muy muy básica.
Ah, y muy interesante el artículo, aunque me pierdo en el código de shaders (aún no me ha dado tiempo a preparar la programación de shaders, sólo he visto algo muy muy básico de PS1.4 y en ensamblador, así que ya te figurarás
Eso te estoy diciendo, que un offset map no es un simple normal + specular. Un offset ADEMAS transforma las coordenadas de textura plana, algo que el normal mapping no tiene por qué hacer. Por ejemplo el halo2 usa normal mapping, es decir tiene las coordenadas de normales en una capa de textura, obviamente a baja resolución (es una xbox después de todo), pero no transforma coordenadas de textura, simplemente es un bump-mapping con más calidad.
Te hago la misma pregunta
Es obvio que trabajas o te interesa eso, pero hay un factor más que no tienes en cuenta, y es la capacidad de cálculo de shaders de la tarjeta. Me puedes decir que la diferencia es nimia, pero cuando quitas las texturas normales a un juego y se disparan los frames, pues la verdad no hay mucho que discutir. Por supuesto esto es directamente proporcional a la cantidad de luces, como bien dices, ya que por cada luz hay que hacer el cáclulo para la normal, pero ese cálculo tambien come algo de rendimiento, ¿no? Yo creo que también hay límites técnicos.
Sin tarjeta gráfica con shaders creo que no podríamos hacer eso más que por software, ya que no podríamos hacerlo de otra manera debido al estado del pipeline en el que hay que implementarlo. Y hacer eso con un procesador no especializado podría ser la muerte
No, no he modelado mucho, lo siento pero estoy de acuerdo con que ahora hay herramientas mucho más capaces, sólo que nosotros (como jugadores) también exigimos más.
Un saludo, y gracias por toda esta información, que es muy interesante
hsaoud escribió:
Pues mira, siempre se aprende algo, yo pensaba que el normal mapping sí que transformaba las normales, y según dices no siempre lo hace, supongo yo que se deberá más bien al modelo de pixel shader que se esté utilizando más que otra cosa, porque Halo 2 precisamente, es uno de esos juegos que pones en la 360 y se le ven las texturas embrutecidas (en comparación a la Xbox).
Por otro lado, ¿estás seguro que el parallax mapping introduce vértices en la escena?, te lo pregunto porque hasta donde conozco, un shader no puede crear vértices para incluírselos a un modelo (te hablo desde la ignorancia en ése sentido), pero sí modificarlos a su antojo, para hacer deformaciones como la animación por huesos, etc.
Para el Steep Parallax, habrá que esperar a la llegada de mejores máquinas, éso no está pensado para ésta generación ni de coña, de hecho está hecho a modo proyecto para demostrar hasta donde se puede llegar con shaders, sobre todo teniendo en cuenta los fps que tira con la porquería de escena de ejemplo
Bueno, entretenida charla técnica, al menos ;D
asthar escribió:que maravilla, me encantan los CoD , espero ver algo asi en pc, porque jugar con pad me parece joder el juego, pero bueno, hasta que salga en pc lo jugaré en la 360.
oajlá sacasen teclado y raton para consolas, el que quiera que los use y el que no, pues no, pero ganarian muchisimo los juegos.