Archivo: Categoría 'Prompt - Álvaro J. Martín López - Prompt #> _'


Ser más listo que el compilador!

[ Blog: Prompt - Álvaro J. Martín López - Prompt #> _ ]
2010:07:28 00:01:38

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 el. ¿Por qué digo esto? bueno hay ciertas macros de las STL para tener información de debug cuando el códo 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.

Efficient Sparse Voxel Octrees

[ Blog: Prompt - Álvaro J. Martín López - Prompt #> _ ]
2010:06:14 09:56:01

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:

freeglut for Windows 7

[ Blog: Prompt - Álvaro J. Martín López - Prompt #> _ ]
2010:05:15 21:38:41

If you download the last version of freeglut (2.6.0) in theory haves support for Windows 7, yes, compile and link well but when you try to write any message in the window appear japanese symbols etc… D

You need to change a thing that is supported for WinCE:
freeglut_window.c, line 36:

static wchar_t* fghWstrFromStr(const char* str)
{
    int i,len=strlen(str);
    wchar_t* wstr = (wchar_t*)malloc(2*len+2);
    for(i=0; i<len; i++)
        wstr[i] = str[i];
    wstr[len] = 0;
    return wstr;
}
 
#if defined(_WIN32_WCE)
#   include <Aygshell.h>
#   ifdef FREEGLUT_LIB_PRAGMAS
#       pragma comment( lib, "Aygshell.lib" )
#   endif
 
#endif /* defined(_WIN32_WCE) */

And in all SetWindowText, before to call this function just need to convert text like fghWstrFromStr:

wchar_t* wstr = fghWstrFromStr(title);
SetWindowText( fgStructure.CurrentWindow-&gt;Window.Handle, wstr );

New iPhone 4G

[ Blog: Prompt - Álvaro J. Martín López - Prompt #> _ ]
2010:04:20 13:08:26

Gray Powell, an Apple engineer lost the iPhone 4G in WC (drunked…)

How Apple Lost the Next iPhone

500x_iphone4_01References:
expansion.com (spanish)
gizmodo.com

Trigger var in LUA

[ Blog: Prompt - Álvaro J. Martín López - Prompt #> _ ]
2010:04:20 11:28:48

Some thing to remeber…

1
2
3
4
5
6
7
8
9
local ZOOM_STATE = true
 
print(ZOOM_STATE)
ZOOM_STATE = (ZOOM_STATE ~= ZOOM_STATE)  -- the same of not ZOOM_STATE
print(ZOOM_STATE)
ZOOM_STATE = not ZOOM_STATE
print(ZOOM_STATE)
ZOOM_STATE = not ZOOM_STATE
print(ZOOM_STATE)

The clean way is ZOOM_STATE = not ZOOM_STATE

Retrasado el lanzamiento internacional del iPad

[ Blog: Prompt - Álvaro J. Martín López - Prompt #> _ ]
2010:04:15 01:34:33

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

Upgrading a Target from iPhone to iPad

[ Blog: Prompt - Álvaro J. Martín López - Prompt #> _ ]
2010:04:14 11:59:07

If you have an existing iPhone application that you want to upgrade to run on iPad devices you need to upgrade the target that builds your iPhone application into a target that can build both an iPhone and an iPad application, or add a target to your project for building the iPad application.

To upgrade an iPhone target for iPad development, select the target in the Groups & Files list and choose Project > Upgrade Current Target for iPad.

For details about iPad-application development, see iPad Programming Guide.

ref: http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/115-Configuring_Applications/configuring_applications.html

Luna, mi primer proyecto publicado

[ Blog: Prompt - Álvaro J. Martín López - Prompt #> _ ]
2010:04:13 23:47:46

Bien, hoy ya por fin, después de casi una semana en periodo de aprobación se ha confirmado Luna para publicar y empezar a vender en el Apple Store.

luna

¿Qué es Luna?
Luna es un eBook interactivo, esto quiere decir que no solo es un cuento infantil que se lee en un medio digital, sino que va más allá haciendo que el usuario interactue directamente en el cuento descubriendo cosas. El cuento dispone de 2 idiomas Inglés y Español. Y dispone de numerosas pantallas donde una niña muy curiosa averigua cosas sobre la Luna y debemos acompañarla durante su pequeña aventura.

Mercado
Para 3GSM celebrado en Barcelona en Febrero preparamos una pequeña muestra con varias escenas de Luna, la verdad es que yo era escéptico en si había mercado para comprar este tipo de aplicaciones. Genera Interactive se entrevistó con Disney / Marvel, Santillana y Edebe entre otras… un pelotazo. En iPad ahora mismo creo que debe ser la locura y deben estar trabajando muchas empresas duro para portar sus aplicaciones y lectores. De hecho hay un vídeo promocional de Alicia en el País de las Maravillas en iPad, para nosotros después de este proyecto es muy fácil de hacer ) y ya llevamos algo de tiempo preparando varios proyectos, pero estoy tan arriba de trabajo que aun no podré incarle el diente a un eBook en unas pocas semanas.

Usuarios
¿Cómo va un niño a comprar esto? no lo va a hacer. Millones de personas tienen iPod, iPhone y iPad los cuales tienen hijos, sobrinos o un amigo que los tiene etc… esos usuarios son los que comprarán y de hecho compran las aplicaciones infantiles. Tenemos otro proyecto que ha salido antes llamado Kids Song Machine que es mucho más simple en desarrollo y disfrute, quizás para un público más pequeño que Luna pero que ha funcionado muy bien en descargas como en ingresos, de hecho ha sido nº1 en muchos países. Espero que Luna también funcione muy bien.

¿Dónde se puede ver Luna?

Quien habla es Anna, encargada de trabajar duro en temas de marketing y proveer a blogs y portales de material necesario entre otras muchas cosas, como por ejemplo poner la voz al cuento en su versión inglesa )
La pobre se llevo una sorpresa ya que el evento de los botones está en onRelease y se quedo pulsando el botón de inglés ! xD pero bueno, no es que tuviera tiempo de practicar y el vídeo quedó más casual que es el objetivo. Tenemos otro vídeo promocional, donde evidentemente no pasa con otro carácter publicitario, obviamente ^^

Pruebas con el iPad

[ Blog: Prompt - Álvaro J. Martín López - Prompt #> _ ]
2010:04:13 09:18:11

Hoy ha caido en mis manos durante un rato el iPad. Hemos podido trastearlo un poco más y ver que tipos de juegos o aplicaciones pegan mas o son más manejables. Cuentos infantiles, eBooks, eComic… mejor verlo:

Se me ocurren cientos de usos, todos muy cómodos y diarios. Aun no se sabe el precio Europeo pero en USA son 400$. Creo que es un capricho bastante jugoso y en un principio no le di mi voto de confianza pero seguro que poco a poco si alguno lo tenéis en las manos y lo usáis un poco, seguro que gustar os va a gustar. Cabe destacar que todo tipo de cuentos, eBooks, eComic, juegos de tablero o cartas y que no requieran del uso del acelerómetro (para no cogerlo en peso) se potencian muchísimo. Un producto por tanto para un uso muy diferente del habitual que va a rescatar y llevar a actualizarse a clásicos como el Monopoly ya existente en Apple Store para iPhone como muchos otros.

Otra cuestión interesante es que no comparte tienda con iPhone / iPod, aunque podemos comprar sus aplicaciones y se verán adaptadas a la pantalla un bilinear de 2x si queremos y listo, para ciertas aplicaciones puede ser suficiente. Esto significa que se abre la oportunidad de llegar 1º al Apple Store otra vez y seguro que veremos adaptaciones muy buenas y que volverán a lanzarse en ventas. Echadle un ojo a Angry Birds, lo veo en iPad, ya ha vendido más de 1 mill de juegos.

Un saludo!

Ambient Occlusion en Photoshop

[ Blog: Prompt - Álvaro J. Martín López - Prompt #> _ ]
2010:04:12 09:32:29

En programación tenemos claro como implementar la técnica del Ambient Occlusion en tiempo real. Se parte de una imagen 2D en un FBO donde con información de la posición de la luz, posición y dirección de la cámara, lanzamos rayos en todas direcciones (cuantos más mejor y más consumo de GPU), generamos una imagen en escala de grises y la mezclamos con la capa de Albedo. En este caso es la misma técnica pero pintada a mano, os dejo unas imágenes y unos links:

Grump6Grump5


Grump17_Edges

Links de referencia: