Boot time comparison: All generations of iPhone vs Nokia Lumia 800

This video completes the boot time comparison made by iClarified with an additional contender: the Nokia Lumia 800 with Windows Phone 7.5, which beats even the very last iPhone 5 in terms of boot time.

 

Please note: This video is a second version of another one published 3 days ago. It has been remade to fix a small fps conversion error present in the previous version (the iPhone part was treated as if it was 30 fps, when it was 24 fps). That involved it being displayed faster than it should, and therefore showing a wrong boot time measurement for the Lumia (which was displayed correctly, at 30 fps). Nokia Lumia 800 boots in 18 seconds, not 22.

Results

The boot time results are awesome:

          • Nokia Lumia 800: 18.17 secs
          • iPhone 5: 24.88 secs (6.5 seconds slower !!)

I ♥ Nokia        -        I ♥ Windows Phone

Cine y Series Españolas –un desastre muy evitable-

En este post voy a tratar de explicar por qué no me gustan las series Españolas, salvo contadísimas excepciones. Dejando a un margen las comedias facilonas y absurdas (donde no hace falta esmerarse mucho en ningún aspecto, solo hacer reír), y excepciones como “Cuéntame”, que no lo hace tan mal en muchos de los aspectos que comentaremos aquí, las demás son un puñetero desastre. Por muchos motivos.

Empezamos…

1 - Temática

En primer lugar, la originalidad de la temática es, generalmente, nula. Cuando no aprovechan vergonzosamente el tirón de tragedias como la de “Niños Robados”, se limitan a plagiar lo que se hace en USA (tanto en el cine como en la televisión). Este magnífico post deja bien claro de qué hablo. Su autor ha hecho un trabajo genial que me voy a permitir fusilar parcialmente y completar aquí:

Downton Abbey y Gran Hotel

"Downton Abbey" –> "Gran Hotel"

Cheers vs Cheers española

"Cheers" –> "Cheers"

Las chicas de oro originales y las españolas

"Las chicas de oro" –>"Las chicas de oro"

Pirtas

Piratas del Caribe –> "Piratas"… Hasta el cartel y el logo son plagios…

Series policiacas

"CSI", "El mentalista" –> "Génesis: en la mente del asesino" u "Homicidios"

image

"Falcon Crest" –> "Gran reserva"

Los protegidos = Héroes + Los Serrano

"Héroes" –> "Los protegidos"

Ángel o Demonio vs Crepúsculo

"Crepúsculo" –> "Ángel o demonio"

Doctor Mateo vs Doctor en Alaska vs House

"House" + "Doctor en Alaska" = "Doctor Mateo"

"Urgencias" –> "Hospital Central"

image

"Prison Break" –> "La fuga"

image

"Perdidos" + "Waterworld" = "El barco".

Roma vs Hispania

"Roma" –> "Hispania"

image

"Los Borgia" –> “Los Borgia”

image

"Los Tudor" –> "Toledo"

13313_340970587478_5031791_n[1]

Assasin’s Creed –> Águila Roja

image

Mr. Selfridge –> Galerías Velvet

image

Revenge –> Sin identidad

En fin, ¿algo que añadir? Yo me quedo sin palabras al ver esto…

2 – Actores y guionistas

En cuanto a series británicas y americanas, muchas veces las veo en versión original. Pero incluso cuando no es así y a la interpretación del actor le han calzado por encima la voz de otro, incluso en esos casos suelo creerme lo que veo. Por lo general, los actores americanos y británicos se meten muchísimo más en el papel. Para ellos, lo primero es que la interpretación resulte creíble, por encima de su imagen. Estudian el personaje, la forma de hablar de la época, la forma de moverse y expresarse. Se asesoran, y se concentran plenamente en ello. Los actores españoles, salvo excepciones, dejan mucho que desear en todos estos aspectos. Y eso resta realismo.

Si a eso le sumamos que los guiones muchas veces son de risa, pues poco podemos hacer. Cuando veo algún episodio de series como Aguila Roja y compañía, me muero de risa al ver cómo hablan los personajes. Parece que están en el “insti”, colega…

Señores, es muy poco probable que en la antigua Roma, o incluso en el siglo XVII, se hablara así. Y eso resta realismo.

3.- Estética

Yo entiendo que un actor vive de su imagen, y que le joda que le saquen feo. Pero señores, esos peinados seguro que no existían hace 600 años. Esa ropita inmaculada, esas manos de manicura y ese cutis impoluto (con una media barba cuidada para engañar), ese cuero recién salido de la tienda. Esos tejidos modernos que no encajan hace 2000 años. Es que no tienen ni una mancha, oigan… Y eso resta realismo.

Mientras que en EEUU han evolucionado de esto:

Robin-Hood-Errol-Flynn-002

a esto:

En España seguimos igual que estaban ellos hace 50 años. ¿Os fijáis en la imagen de Russel Crowe? Pelo desaliñado, sudado y sangrando, con las manos llenas de mierda y la ropa rota y sucia.

 

Casi casi igual que en Águila Roja:

Camisa blanca inmaculada, manicura perfecta (leñe, hasta hoy en día la gente tiene más roña en la uñas), capa de tejido industrial que SEGURO no existía en el XVII… En fin, que parece que va disfrazado de carnavales. Y eso resta realismo.

4 - Luz, color y formato

Todo lo mencionado en el apartado 3 sería disimulable si las productoras españolas eligieran mejor los formatos y se aplicaran un poquito en la etapa de post-producción.

Entiendo que no tenga sentido en “Los Serrano” o en “La que se avecina”, pero si quieres rodar una serie de aspecto cinematográfico como “Hispania” u otras, por el amor de Dios, rueda SIEMPRE en 16:9 o mejor aún, en 21:9.

Y lo que es aún más importante: la luz y el color. Es necesario trabajar muchísimo la iluminación. Y esto es, muchas veces, bastante asequible, de hecho. Solo hay que empeñarse, y tener un mínimo de conocimientos.

Un ejemplo: el siguiente video muestra parte de los decorados de Rivendell, en El Señor de Los Anillos. Como está grabado in-situ, con una cámara normal y sin post-producción, podréis apreciar que, de hecho, son bastante cutres. Se nota a la legua que son de cartón piedra o de papel pintado, muy al estilo de las series españolas. Entonces, qué marca la diferencia?

La luz. El color. La ambientación. Los planos. La post-producción. Como veis, no se trata de construir un castillo o un palacio de verdad, piedra a piedra. Y para muestra, un botón:

5.- Ejemplo

Vamos a coger todos los aspectos mencionados en los anteriores apartados, y vamos a aplicarlos a un fotograma de Águila Roja. En concreto a éste:

Es un plano triste, en el que el muchacho parte cabizbajo con un saco al hombro, con sus pertenencias. El formato es correcto (16:9), pero sin embargo, la ambientación, la luz y el color escogidos para el rodaje denotan todo lo contrario a lo que se pretende: alegría, verano, naturaleza, limpieza, aire fresco.

imageSi os fijáis en alguien que sabe hacer las cosas, como Peter Jackson… ¿En qué planos de El Señor de los Anillos utilizó este tipo de luz? ¿Acaso cuando Frodo partía de casa de Bilbo en medio del drama que se le venía encima? No. La utilizó en los primeros planos, en los que se muestra la comarca como un lugar idílico. Cuando todavía no hay problema alguno, y todo va bien. Con una música jovial y risueña, con todos los personajes pasándolo bien y sonriendo. Ahí sí encaja esa puesta en escena (ver a la derecha). Pero no aquí. Han escogido una configuración que no ayuda absolutamente nada a transmitir el dramatismo del momento. En definitiva, están restando credibilidad. Por muy bien que lo haga el chaval. Por muy bien que actúe. No hay nada que hacer, la escena está perdida solo por no tener cuidado con éstas cosas.

En este caso, lo ideal hubiera sido rodar en un día nublado, o mejor aún, con una lluvia que aumentara el dramatismo. Pero dado que ya no es posible cambiar eso, nos fijaremos en lo demás: queremos transmitir tristeza, frialdad. Por lo que habrá que usar colores mucho más azules y fríos, como éstos:

image

Además, añadiremos algo que debería estar presente en TODOS los planos de un rodaje que pretende aparentar ser del siglo XVII: imperfecciones. Las imperfecciones deben estar por todas partes (peinados, ropa, ambientación), y añadirlas a los fotogramas como un proceso de post-producción también ayuda. Sin estar reñido con rodar en FullHD, o resolución 4K, si la imagen está un poquito sucia, un pelín “vieja”, ayudar a transmitir la sensación adecuada. Por eso, añadiremos un par de filtros para acrecentar este efecto:

image

También vamos a romperle un poco la ropa y ensuciarlo, que todos los días veo niños que salen del colegio más sucios que eso… Si la comparas, verás que esta imagen es muchísimo más triste que la inicial (incluida de nuevo abajo):

image

El original:

6 - Otro ejemplo

Con las caras pasa más de lo mismo. No importa cómo de bueno sea el actor, si la ambientación y el maquillaje no ayudan, no tiene nada que hacer. Lo siento, pero Francis Lorenzo, por muy buen actor que sea, no tiene una cara extremadamente dramática.

El peinado tampoco ayuda. Ni el maquillaje. Ni la ausencia total de manchas e imperfecciones. Nuevamente, ¿qué buscan los productores? ¿Que el señor Lorenzo salga fantástico, o que su serie resulte creíble?

Para saber cómo dotar a una cara de más personalidad, o de más fuerza, solo hay que ver este vídeo:

Conclusión

La HBO y la NBC están demostrando que se puede hacer series realmente alucinantes, con calidad cinematográfica, y que se puede ganar mucho dinero con ello. No hay más que ver Juego de Tronos, Érase una vez, o la inminente Revolution:

No creo que en España no haya actores o guionistas de calidad. Si se empeñan, saben hacerlo. Pero hay que escoger al actor adecuado, escoger un guión adecuado, y olvidarse de salir guapos en la foto. Un guerrero romano era un bárbaro, por definición, y seguro que iba muy sucio. Además, Llongeras todavía no había abierto sucursal en Roma, así que el pelo se lo cortarían a machete… Si cuidamos esas cosas, nos exigimos el máximo, y trabajamos bien la post-producción, sin duda que en España podremos hacer cosas como éstas:

image

O los alucinantes efectos especiales de la segunda temporada:

Creo sinceramente que los productores harían bien en tratar de hacer un único buen proyecto, que les reporte muchos millones, que empeñarse en hacer muchas pequeñas versiones abaratadas, plagiadas y cutres de lo que hacen los demás. Se gastan millonadas para obtener un rédito muy dudoso, haciendo un producto que podría mejorarse notablemente simplemente con poner un poquito de atención.

Una pena…

Properly calculating the diffuse contribution of lights in HLSL Shaders

It’s been many years since Vertex and Pixel Shaders came out, and several years too since the Fixed Pipeline is deprecated, but there are still many questions in the forums out there asking about how to properly calculate the diffuse contribution of Lights. This paper has a great tutorial about the issue, and includes a whole Shader that mimics the Fixed Pipeline behavior. However, we will see here how to perform just the basic calculations, just in case you don’t need to emulate the full pipeline.
First thing is to write some D3D9 code that allows you to switch from the old Fixed Pipeline and your own Shaders, using the same parameters. Doing so, you will easily find any behavior differences in light calculations. You can read more about how D3D9 Fixed Pipeline calculates lighting in this page.
When writing shaders, people tend to calculate the diffuse contribution like:
Out.Color = (materialAmbient * lightAmbient) + (materialDiffuse * lightDiffuse * dot(Normal, L));
Where L is the vector from the vertex position (in world coordinates) to the light.
Apart from not doing any specular or emissive calculations (which could not be necessary in many cases, depending on your scenario), there are several mistakes in that approach:
1.- You don’t want the dot to return negative values, because it will black out colors wrongly. So, you need to clamp it to the 0..1 range, using the saturate operator: saturate(dot(Normal, L))
2.- In order to get the same results as the Fixed Pipeline, you should include Attenuation calculations, because they modify the intensity of light with the distance between the point being lit and the light source. Attenuation (as opposed to what its name suggests), not only attenuates light, but also can increase intensity in some circumstances. (See below how to properly calculate attenuation factors)
3.- Once you are calculating attenuation, you should remove the materialDiffuse factor from the previous equation, as you don’t want it to be attenuated too. You will apply it later, when the entire lighting contribution is properly calculated and attenuated.
Keeping those 3 things in mind, the final calculation in a vertex shader would be:
    float4 LightContrib = (0.f, 0.f, 0.f, 0.f);
    float fAtten = 1.f;

    // 1.- First, we store the total ambient light in the scene (multiplication of material_ambient, light_ambient, and any other global ambient component)
    Out.Color = mMaterialAmbient * mLightAmbient;

    // 2.- Calculate vector from point to Light (both normalized and not-normalized versions, as we might need to calculate its length later)
    float pointToLightDif = mLightPos - P;
    float3 pointToLightNormalized = normalize(pointToLightDif);
    
    // 3.- Calculate dot product between world_normal and pointToLightNormalized
    float NDotL = dot(Nw, pointToLightNormalized);        
    if(NDotL > 0)
    {
        LightContrib = mLightDiffuse * NDotL * mLightDivider;     
            
        float LD = length(pointToLightDif);        
        if(LD > mLightRange)
            fAtten = 0.f;
        else
            fAtten = 1.f/(mLightAtt0 + mLightAtt1*LD + mLightAtt2*LD*LD);
        
        LightContrib *= fAtten;
    }
    Out.Color += LightContrib * mMaterialColor;
    Out.Color = saturate(Out.Color);

 

Comparison

First image is the Programmable version. You can slightly tell it by the reflections on the windows.
image
Second image is the Fixed Pipeline version (no real time reflections on windows):
image