javisantana.com

Nos vamos a sanfermines

Como viene siendo habitual, me voy a sanfermines. Hay que estar tocado para meterse en aquella ciudad abarrotada de gente, pero tienen algo que enganchan.

Por otro lado, una imagencilla nueva:

Es la misma escena de siempre (envmap+fresnel+ao+difusse), pero esta vez con un poco de color. Esta semana he estado re-implementando un poco el minimotor para poder usar cubemaps de forma transparente.

Dónde está la gente de Valladolid

Hace tiempo que me pregunto dónde está la gente de Valladolid y, bueno, de Castilla y León. Me explico, leo todos los días planet augcyl, leo las listas de ñuva, sigo algunos foros y blogs, etc y me resulta curioso que haya tan poca gente de Valladolid que se “mueva”.

Y me explico de nuevo, no estoy diciendo que seamos más lerdos, ni más tontos, nada de eso, pero me gustaría saber dónde se mete la gente que hace cosas, que programa, que monta charlas y conferencias, etc.

De las personas que conozco, las que más se mueven son la gente de soleup montando talleres, charlas, distros e incluso empresas. También dentro del planet augcyl hay gente que hace (y dice) cosas interesantes, como por ejemplo Diego Calleja, David Grajal o Wonder (ya fuera del planet), pero no conozco nadie más (un respecto de los que me haya olvidado o no conozca) que se mueva en ese entorno.

Imagino que habrá gente de Valladolid (y CyL) que me lea, sobretodo por el planet augcyl, y me gustaría saber si hay gente que se mueva, que programe algo, que le interese y haga cosas. Ya no pregunto nisiquiera le interesa la programación gráfica (oh!)
o el 3D (arg!)

Estaría bien tener un banco de asociaciones/gente que haga cosas en valladolid/CyL.

Más pruebas: envmap + fresnel + proctex

En estos días de relax no he tocado demasiado este mini-motor/mini-banco-de-pruebas, pero esta mañana que no tengo demasiado que hacer he incluído un shader de envmap con fresnel para ver qué tal quedaba. Si alguien no tiene claro qué es, no es difícil, el envmap se basa en usar la normal de la malla para buscar en una textura el texel adecuado. Lógicamente la normal se mapea a 2D para poder tener los UV de toda la vida. En cuanto a fresnel es, a grandes rasgos, la atenuación de la luz reflejada (o refractada) al incidir sobre un objeto. Se ve muy bien como afecta en este tutorial de blender (las imágenes de abajo). Aunque si eres teleco (JAJA), con tus conocimientos de transmisión de ondas EM por FO puedes entretenerte mirando una solución algo más formal. La aproximación que uso es una que encontré en este foro un poco retocada.

Envmap sin fresnel:

Envmap con fresnel:

La textura que hace las veces de entorno es una textura procedural que simula un piso de azulejos que he hecho con otros propósitos:

La primera aproximación:

Un poco de color:

Un poco de perlin de fondo para dar “realismo”:

En la textura guardo el mapa de alturas en el canal alpha para luego hacer bumpmap o generar el normal map en un futuro.

El código que genera la textura es el siguiente:

GEN_BEGIN(Test6)
PIXEL()
{
float step = 1.666f;
float width = 0.2;
float mult = 10;
float xx = mult*float(s)/256.0;
float yy = mult*float(t)/256.0;
float n ;
float n3 = TilePerlinNoise2D(xx,yy,6,mult,1.1);
float n2;
float lim = 0.1;

n = mod(step,xx);

float width2 = 1.0-width + width/2.0;
n = smoothstep(1.0-width,width2,n) - smoothstep(width2,1.0f,n);

n2 = mod(step,yy);
n2 = smoothstep(1.0-width,width2,n2) - smoothstep(width2,1.0,n2);
float f = clamp(0,1,n+n2); //smoothstep(0.9,1,0.5*n+0.5*n2);
//n3 = 0;
float bump = f;
f = 0.7*f + 0.3*fabs(n3);//*(1-f);

int e = int((xx+width/2.0)/step) + int((yy+width/2.0)/step);
//e = 2;
switch(e%3)
{
case 0:
c = RGBA(98,174,115);break;
case 1:
c = RGBA(252,249,141);break;
case 2:
c = RGBA(255,255,255);break;
}

c = (1.0-f)*c;
c[3] = bump*255;

}

GEN_END(Test6)

y las macros que generan la clase que después será instanciada por el manager de texturas:

#define GEN_BEGIN(name) class Texture##name: public GenTexture { public: ~Texture##name(){if(DEBUG_TEX) this->Write(#name##”.tga”); } Texture##name(int _x,int _y):GenTexture(_x,_y){ format = T_RGBA;

#define INIT() Setup(); } void Setup(){

#define PIXEL() /*Gen();*/} RGBA& PixelFunc(int s,int t) { static RGBA c; float x = -1.0 + 2.0*(float)s/(float)TextureData::x; float y = -1.0 + 2.0*(float)t/(float)TextureData::y; /*polares*/ Vector2f v(x,y); float r = vectorDist(v); float phi= atan2((float)y,(float)x);

#define GEN_END(name) return c;} Palete paleta;};

Buscando trabajo... pero así no

Hace ya casi dos semanas que terminé la carrera y todavía estoy un poco descolocado, aunque no lo suficiente como para entrar al capote. El caso es que accenture me ha llamado en esta semana dos veces para ir a una prueba de selección a madrid.

No me parece mal que me llamen para hacer procesos de selección, es más, está bien que piensen en ti, te hace sentir mejor. Pero señores, así no. Para empezar yo no he enviado mi currículum a accenture, pero pasando el pequeño detalle, cuando me han llamado nisiquiera me han dicho para que era la prueba de selección. Han preguntado si era Javier Santana, he dicho que sí (jaja), y a continuación me ha dicho que el miércoles que viene tienen una prueba de selección, que estaban interesandos en que me pasara… ¿pero? ¿qué?.

Si tuvieran un poco de sentido común me hubieran dicho para qué era el proceso, dónde, cuando, cómo, por qué, de qué me conocen, para qué proyecto, qué es lo que les interesa de mi, sueldo, etc, etc.Creo que se deben dar cuenta de que no me están haciendo ningún favor invitándome a ir a un proceso de selección. Imagino que estarán acostumbrados al típico chaval que ha terminado sus estudios, deseando encontrar un trabajo, pero esa NO es la forma de hacer las cosas.

Podría preguntar yo pero es que yo no soy el que está buscando a accenture, son ellos los que me buscan a mi y por tanto tienen que su empresa me resulte atractiva, encima para ir a un proceso de selección… jajaja, sí, para entrar en la élite. SOY YO EL QUE ELIJO EMPRESA SEÑORES, Y LO HAGO PORQUE PUEDO. Queda claro ¿no?. Suena prepotente y tal vez lo sea, pero hay puestos de trabajo para dar y tomar y además, hay que tener en cuenta que, además te haber estado 7 años de mi vida buscando la mejor forma de hacer las cosas, he estado otro par de ellos intentando aplicar lo que he encontrado a la vida real, cosa que no pueden decir muchas personas de mi edad.

Voy a seguir dándoles largas hasta que me dejen de llamar o me pregunten qué pasa. De momento les he dicho que estoy de vacaciones hasta el 15 de julio.

No renuevan licencias de emisión a la COPE en cataluña

Aparte del revuelo político que seguro provoca la noticia (ojo, fuente 20 minutos), creo que no se han parado a investigar un poco como funcioan esto.

Cuántas cadenas de radio tienen atribuídas las frecuencias que usan? radio nacional y cuántas más? Por le general ocupas una frecuencia, si no te dan el toque, te quedas en ella, si te lo dan, esperas a que te den un ultimatum y la cambias a otra. Por eso puede que alguna vez hayais escuchado onda cero a las 23 y a las 8 de la mañana punto radio (caso posiblemente ficticio). Además que luego es un choteo de mucho cuidado porque aunque una frecuencia se le haya asignado a una entidad, luego la usan otras, etc. Basta con echar un vistazo las atribuciones de frecuencia en castilla y león para la FM. Por ejemplo, punta radio aranda de duero emite en 93.8FM, pero, umh, no veo la asignación de frecuencia en ninguna parte… o buscad la asignación de radio maría en valladolid (100.8) o mortal FM (90.2).

En este país las cosas funcionan así.