Apuntes técnicos de JMSlay sobre el nuevo motor de ID

JMSlay, asiduo lector de este blog, ha dejado algunas perlas en los comentarios del video del motor gráfico de ID. Los ponemos en un post aparte para que nadie se los pierda. Da gusto leer a un experto 😉

El hype está más que justificado, he estado desde que salió este vídeo mirándome la tecnología que hay detrás de esto. La idea es de hace unos años, pero no se ha puesto en funcionamiento, probablemente por que se trataba de un experimento teórico más que de algo practico.

Carmack lo llama MEGATEXTURES, que es una implementación de algo ya conocido como ClipMapping.Imaginaos una textura de 20GB a la que acceder es casi inmediato y que esta “pedazo de textura” contiene todas las texturas del mundo del juego, eso es “la caña” 😉 por que con unos 200MB de tarjeta gráfica podemos obtener unos resultados increibles y además los efectos en esta textura están “prerenderizados”. Si finalmente la calidad que se obtiene es esa que se ve en el vídeo, va a haber una revolución parecida a la revolución que fue el motor del Quake.

(…)

IdTech5 implementa efectos de luces, sobras mejoradas etc… cosas como HDR, todo esto continua siendo igual que antes.

Me refería a lo que comentaba Carmack en el vídeo cuando decía algo así como:
-”podemos grabar siglas en las texturas y eso no tiene efecto en el juego, podemos decir: -cambia la montaña de color!- y todo eso no tiene efecto en el juego”.

Lo que quiere decir con eso es que con esta técnica, que por lo visto no es demasiado difícil de implementar tampoco, todo eso ya va en la propia textura, no te tienes que complicar con efectos sobre la textura en tiempo de ejecución. ¿Que obtienes?, pues imagina, una potencia impresionante si eres capaz de implementar sobre la GPU lo que debería hacer la CPU, cosas como el UpSampling de la textura, la sintesis de la textura (esto es instantáneo) o la computación total del MAP, dejándole a la CPU SOLAMENTE la descompresión de la textura…
Normalmente lo que se tiene es un numero de texturas (el que sea) en el juego, y se van repitiendo, pegando y modificando para que quede bien y acorde con el objeto que se quiere texturizar sea este del tamaño que sea.

Por ejemplo, si tenemos un edificio enorme y una textura para la fachada del edificio: piedra, ladrillo o lo que sea, lo que ocurrirá es que se irá repitiendo la textura a lo largo del edificio (pues la textura no lo cubre entero), siendo modificada levemente y tratada para que no se note demasiado los puntos de unión de las texturas. Todo ese trabajo (que es mucho) no tienes que hacerlo ahora, por ejemplo. Yo creo que por eso están tan contentos en Apple, ven que con esta técnica se puede obtener resultados muy buenos con relativamente poca potencia (ellos tienen ordenadores mas bien medianos).

Por cierto que Quake Wars implementa esta técnica ya, que fue incluida en el motor anterior de Id como una mejora. Supongo que ahora la implementación es mucho mejor y de ahí el bombo que le están dando (…) Me da a mi que Gears of War va a tener hermanitos mayores a partir de ahora ;), aunque no solo por el motor este… sino por que lo que se avecina pinta muy bien.

  1. Gracias Kristian ;), pero más quisiera ser un experto!! :D, que va, sólo me estudio estas cosas en plan amateur, yo me gano la vida con el SoftWare, pero por desgracia en un negocio distinto de los juegos.
    Se queda uno de piedra cuando ve a Carmack que se queda “tan pancho” mientras un auditorio entero le aplaude en el Key Note de Jobs… Vaya un CRACK.

Deja un comentario