Intel’s Thread Building Blocks

Trasteando con HipHop PHP he visto una dependencia que era tbb Intel’s Thread Building Blocks. Bien pues es algo que ya escuché hace tiempo, se trata de una manera de aprovechar el paralelismo en C++. No penseis en un sustituto de los threads tradicionales. A leer se ha dicho :)

http://www.threadingbuildingblocks.org/

En Agosto de 2009 Epic integró TBB en su engine :) )

Debian based SO: apt-get install libtbb-dev

Posted in Linux, Programming | Leave a comment

HipHop PHP para 32bits

Ver: http://github.com/sanxiyn/hiphop-php/

Guía para aplicar parches e instalar paquetes necesarios (Ubuntu 9.10, yo tengo Ubuntu 8.04.4 pero ayuda): http://wiki.github.com/facebook/hiphop-php/building-and-installing-on-ubuntu-910

Posted in Linux | Leave a comment

Facebook pasa PHP a C++, 50% más de rendimiento

Bien, facebook se ha puesto las pilas. Hace ya mucho tiempo existe C++ para web, como si de PHP o JSP se tratara: http://www.micronovae.com/CSP.html

Lo que han hecho en FaceBook es un parser más analizador, etc, que luego compila con g++, lo han llamado HipHop PHP:
“…transforms your PHP source code into highly optimized C++ and then uses g++ to compile it.”

La problemática de FaceBook es que tiene tanto tráfico que sus servidores no pueden atenderlo. A no ser que sigan invirtiendo en más servidores, claro. Pero ¿qué pasa si el esfuerzo de procesar fuera un 50% menos costoso?

Link para ver la gráfica de funcionamiento.

Posted in Curiosidades | Leave a comment

Apple iPad y chip A4

El iPad, la nueva innovación de Apple en informática.

Funcionalidad multi-touch

Funcionalidad multi-touch

Después de un par de días interesándome en este nuevo gadget y sobre su nuevo microprocesador tengo algunas cosas que comentar.

Tengo que reconocer que me gusta, pero tengo varias dudas, la 1ª la intromisión total en la intimidad de los usuarios. El DRM tiene el iPad echa por tierra para mi el que sea una buena compra. Me hago eco de algo más información en the inquirer donde apuntan que la FSF (Free Software Fundation) ha mandado una carta al señor Jobs instándole a que retire su política DRM, ya que según parece pueden entrar en tu iPad y borrar contenido o bloquear el dispositivo. El Kindle de Amazon tuvo un problema similar, borraron todos los libros de un autor de todos los Kindle. Es un peligro y una violación de la intimidad.

Dejando esto de lado hay que reconocer que a mi me ha gustado. El costo es a partir de unos 500$ USD, con el podemos hacer todo lo que se hace en iPhone menos llamar por teléfono, estoy seguro que hay algún acuerdo al respecto con las compañías de telefonía y que estará bloqueado usar el 3G para hacer llamadas por Skype o Nimbuzz. Ahora bien… es un aparato para tener en casa, el dispositivo “definitivo” para estar por casa. Para mi es un centro multimedia portátil con el que podemos disfrutar de películas, videos por internet, fotos o libros, este último habría que ver si cansa la vista ya que es una pantalla LED y no oLED, no obstante yo leo mucho con mi TFT en el ordenador que aunque no sea lo mejor es útil. La lista de features está aquí.
Continue reading

Posted in Apple, Hardware | Leave a comment

Velocidad 3G Movistar con iPhone

Después de 2 meses con mi iPhone ayer estaba muy cabreado. El primer mes todo era perfecto, la tasa de transferencia y la latencia eran muy buenas. Pero, ¿Qué pasó el 2º mes?

Justo me cobraron el 1er mes, todo perfecto y bien clarito, no como las facturas del fijo… Al final de mes la conexión se volvió lenta, 1G (supongo) 15Kb/s de bajada y 6.5Kb/s de subida, latencia entre 400ms y 1s. Entrando en el 2º mes todo seguía igual pero resultó que hubo una caída del servicio generalizada en toda la provincia de Málaga de la conexión a Internet por 3G.

Supuse que esa mala velocidad del 2º mes se debería a que había problemas. Después de esto mi conexión no fue la misma y no se solucionaba solo. Justo ayer Sábado 21 de nov puse una reclamación online. Hoy Domingo 22 me llamaron y les conté mi problema y sensaciones.

La solución fue fácil, el técnico operador dio de baja con un clic mi conexión a Internet y la dio al instante de alta. Y todo volvió a la normalidad. Hice el test con el móvil y ZAS! 377Kb/s de bajada y 322Kb/s de subida.

Conecté el iPhone como módem al PC e hice de nuevo el test en el iPhone compartiendo conexión. 12Kb/s de bajada 6.2Kb/s de subida, me acojoné pensando en que ese era el problema. Acto siguiente hice un test de velocidad con el PC y mi sorpresa fue que toda la velocidad del 3G la adjudica al “modo router” y por tanto al PC. Menos mal!

Espero que cuando vuelva a desconectarlo y conectarlo de nuevo todo vaya bien ¬¬
:) Ah! se me olvidaba, no restauréis el móvil o la configuración de red en este caso, no sirve para nada más que para darse cuenta de que iTunes es una mierda y si tu PC no tiene conexión a Internet y al Apple store no terminará de restaurar el iPhone. Así como suena, la verdad es que me cansa Apple en la mayoría de cosas que quiero hacer con el móvil.

Posted in Curiosidades | 2 Comments

ModelViewer, Deferred Rendering pipeline

Ups, I have no uploaded this video…

No Siesta Studios Viewer with a demo model big dady 2.

It video show my Deferred Rendering pipeline.

Video:
- Only Diffuse map
- Normal Mapping
- Deferred Rendering: Geometry Stage; albedo, normals, SSAO and specular RGB
- Deferred Rendering: Lighting Stage, point light
- Deferred Rendering: Post-Procesing Stage, Edge Detect Antialiasing.

:)

Posted in Graphics, Programming, Video Games | Leave a comment

Aspect Ratio and Context Menu

Hi there! now I have assigned 1.3 aspect ratio and created context menu for to select easily between effects. Shortcut is available with function keys too, F1-F10.

This is the end of the first lite version using glut. Is a lightweight version, I will use Qt for a complete and complex version in the future. Example of use:

>ModelViewer path/creatures/bigdady2
>ModelViewer path/creatures/bigdady2/otherName.obj

So easy, I will explain better in other moment but you only need OpenGL 2.0 support and a model with .mtl file with a correct format.

Aspect Ratio and Context Menu

Aspect Ratio and Context Menu

Posted in Graphics, GUI, Programming | Tagged | 1 Comment

Deferred Rendering and Normal Mapping

To do normal mapping in Deferred Rendering is little dificult because you need to store in G-buffer tangent and binormal if you want, but it is easy to calculate. Or you can calculate TBN matrix per pixel with your 2D normal map stored in G-buffer. So I can’t do that because have high GPU consumption.

Other thing that you can to do is store in 8bit the result of “light power” calc in Geometry stage and then, use that in Lighting Stage. But “normal mapping” will be based in 1 light.

Anyway, we can do an approximation using a bling phong lighting and fast normal mapping calc:

// Calculate half vector
vec3 H = normalize( normalize(lightDirection) + normalize(eyePosition.xyz - pixelPosition.xyz)); 

// Calculate phong shading
float shininess = 100.0;
vec3 phong = pow(max(dot(H, normal.xyz), 0.0), shininess) * specular.rgb; 

// Calculate normal mapping effect
float lightAmount = max(dot(normal.xyz, normalize(lightDirection)), 0.0);
Posted in Graphics, Programming | Tagged | Leave a comment

Specular RGB and Edge Detect AA

Hi all!

A little update of specular effect. Now with support of RGB channel. I have a screenshot with edge detect anti-aliasing:

Specular RGB test with Edge Detect AA

Specular RGB test with Edge Detect AA

Look, blue in metal and red in crystal… painted by Prompt :roll:

Posted in Graphics, Programming | Tagged | 2 Comments

Adjusting SSAO

I’m adjusting the params of my SSAO shaders. I’m trying to have more darkness in occlusion zones and more clean the others fragments. So adjusting selective fragments I have more performance.

Posted in Graphics, Programming | Tagged | Leave a comment