jump to navigation

El mapeado de texturas August 31, 2004

Posted by winden in coding, demoscene.
trackback

El otro día me escribía un colega, peskanov/capsule, a ver si podía tb. sacar las ecuaciones para calcular coordenadas de texturado. Pues bien, aquí tenemos las ecuaciones para aplicar un texturado lineal.

Ecuación implícita del plano a pintar:

[1] a.X + b.Y + c.Z + d = 0;

Ecuación implícita del valor a interpolar:

[2] e.X + f.Y + g.Z + h = u;

Ecuaciones paramétricas del pixel:

[3] X = t.x; Y = t.y; Z = t.1;

sustituimos 3 en 1 y 3 en 2:

[4a] a.t.x + b.t.y + c.t + d = 0;
[4b] e.t.x + f.t.y + g.t + h = u;

sacamos factor común de t y despejamos los ceros:

[5a] t . (a.x + b.y + c) + d = 0;
[5b] t . (e.x + f.y + g) + h – u = 0;

despejamos la t:

[6a] t = ( – d) / (a.x + b.y + c);
[6b] t = (u – h) / (e.x + f.y + g);

e igualamos:

[7] (-d) / (a.x + b.y + c) = (u – h) / (e.x + f.y + g);

vamos despejando la u:

[8] (-d) . (e.x + f.y + g) / (a.x + b.y + c) = (u – h);

expandimos el producto de la d:

[9] -(e.d.x + f.d.y + g.d) / (a.x + b.y + c) = (u – h);

y terminamos de despejar la u:

[10] h – (e.d.x + f.d.y + g.d) / (a.x + b.y + c) = u;

et voilà! ¿Como se usa esto?

Bien, solo hay que sustituir las coordenadas (x,y) de cada pixel de la pantalla en la ecuación 10 y ya tenemos el valor de la coordenada u.

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: