Browsing Category

Video Games

Programming

Ser más listo que el compilador!

28 julio 2010 • By

Estoy empezando a usar COLLADA, investigar, implementarlo en mi motor etc. He dado con una curiosidad en el foro de OpenCOLLADA y es que parece ser que OpenCOLLADA presume de ser el exportador / importador más optimo que existe con mucha diferencia, según los videos de youtube parece que tienen razón, pero yo aun tengo que hacer mis pruebas y sacar mis conclusiones usando 3ds Max 2011.


AutoDesk COLLADA 30 segundos


OpenCOLLADA 10 segundos

No obstante parece que tienen obsesión por adelantarse al compilador o intentar saber más que él. ¿Por qué digo esto? bueno hay ciertas macros de las STL para tener información de debug cuando el programa falla, esto provoca que se haga un “check” de ciertas cosas que obviamente consume CPU. La macro en discordia es _HAS_ITERATOR_DEBUGGING y desarrolladores que lo usan están recomendando el asignar esa macro a cero. Esta macro es bastante básica así que estaba seguro que debía estar incluida en las opciones de compilación del Visual Studio, en concreto /O2, que permite aumentar la velocidad del código en detrimento de información de Debug, cosa que en modo Release no hace falta. Así fue, en un post de Microsoft confirma que esa variable es auto-asignada con el modo de compilación /O2 por medio de otra macro mucho más interesante que la anterior, _SECURE_SCL.

Supongo que cuando a alguien le dio algún error en el código iterando por un vector u otro contenedor de las STL vio esa macro y quiso investigar, seguramente la definió en el proyecto en modo Debug y vio que el rendimiento general de la aplicación aumentó muchísimo. Yo creo que hay que tener bastante precaución con estas cosas, sobre todo y normalmente cuando asignamos las propiedades correctas en el compilador debemos fiarnos de que el equipo de programación es capaz de optimizar más y mejor con una opción que nosotros experimentando.

Graphics, Programming, Video Games

Efficient Sparse Voxel Octrees

14 junio 2010 • By

Hace ya años que se lleva experimentando con el uso de voxels, sobre todo para renderizar contenidos líquidos, donde el voxel es el rey. ZBrush es con voxels, iD tech 5 no, pero anunciaron que tienen ya avanzado el uso de voxels y había imágenes, a día de hoy se sabe que los objetos estáticos del próximo motor de id utilizarán voxels.

¿Por qué tanto voxel? ¿Va a sustituir al renderizado actual (deferred rendering)?
Pues no lo creo, a corto plazo no a no ser que me sorprendan en el E3. Los voxels es la manera de manejar datos de forma eficiente cuando quieres utilizar ray tracing por ejemplo. Aun queda un poco para que podamos renderizarlo todo por ray tracing y obtengamos un frame rate decente. Mientras tanto hay que ir actualizando las arquitectura de los motores e ir investigando sin parar. Nadie sabe si dentro de 1 año alguien conseguirá hacer algo diferente pero lo que está claro es que vamos a leer mucho sobre este tema.

Tengo un paper que miré hace unos 6 años sobre como renderizar nubes realistas y simular la formación y desaparición. Cuando se hizo ese paper no se podía utilizar el programable pipeline y se me ocurrian mil y una maneras de optimizarlo, creo que es mi paper preferido que algún día utilizaré. Bien, este paper proponía utilizar voxels, cubos orientados a la cámara rellenos de un color. El resultado era espectacular y la aniquilación del BUS de la GPU también :). Ahora creo que dentro de un tiempo volveré a recuperar ese paper y me auto-obligaré a ponerme al día sobre los voxels.

Para empezar tenemos lecturas recomendables y a recomendar:

Programming

Toggle var in LUA

20 abril 2010 • By

Some thing to remeber… the clean way is ZOOM_STATE = not ZOOM_STATE

local ZOOM_STATE = true

ZOOM_STATE = (ZOOM_STATE ~= ZOOM_STATE)  -- the same of not ZOOM_STATE
ZOOM_STATE = not ZOOM_STATE; print(ZOOM_STATE)
ZOOM_STATE = not ZOOM_STATE; print(ZOOM_STATE)
Apple, iPad

Retrasado el lanzamiento internacional del iPad

15 abril 2010 • By

Bueno, resulta que han retrasado el lanzamiento del iPad porque en estados unidos se han quedado sin existencias! tardará 1 mes más de lo previsto en llegar para que les de tiempo de fabricar más iPad. En un principio yo desconocía que existiera una versión 3G del iPad tan pronto. Pero así es el tito-jobs. El caso es que me aposté unas birras a que el iPad iba a ser un éxito después de verlo en acción en mis manos porque antes creía que iba a ser un aparato sin mucho sentido de uso cotidiano. Pues bien marcamos una linea que era 1mill de unidades en un año, yo soy optimista y dije que era mucho. Como podréis leer 450.000 iPad WIFI y tienen 500.000 iPad 3G y se les queda corto para las ventas previstas y reservas que es por lo que retrasan el lanzamiento internacional.

Apple now says it won’t launch the iPad internationally until May, citing major U.S. demand as the primary reason for the one-month delay.

“Although we have delivered more than 500,000 iPads during its first week, demand is far higher than we predicted and will likely continue to exceed our supply over the next several weeks as more people see and touch an iPad,” the company says in a statement.

Continues Apple: “We have also taken a large number of pre-orders for iPad 3G models for delivery by the end of April.”

“Faced with this surprisingly strong U.S. demand, we have made the difficult decision to postpone the international launch of iPad by one month, until the end of May,” the statement concludes.

Apple has yet to reveal international launch prices for the device, which retailed at $499 when the wi-fi-only version hit shelves in the U.S. on April 3 — and by April 8, it had sold 450,000 units.

On that date, at an event in Cupertino, Apple CEO Steve Jobs revealed demand was already outpacing supply, stating “we can’t make enough of them yet.”

Traducción rápida: vendieron en la primera semana 500.000 iPad WIFI y han vendido antes de la salida del iPad 3G otros 450.000 iPad 3G a 500$. No tienen y deben fabricar más, de ahí el retraso, han superado sus expectativas de ventas de lejos.

Referencia: Gamasutra