マリオカート風描画

rumon2005-05-27

マリオカート風の描画テストに成功した。
3Dとか勉強すれば、もっと楽なんだろうな〜と思いつつ、いろいろ図を描きながら比を取ったりしてできたのがこれ。
とりあえず第一段階ってことで、正直な書き方。遅い。

for (int y = 0; y < 100; y++)
{
	for (int x = -150; x < 150; x++)
	{
		xd = x / M;
		yd = y / M;
		u = xd * (1 - 3/(v0+3) + 3/*1;
	}
}

あやしいなー。
こういうコード書くとき、いつも角度のところでバグる。そして、たいていしらみつぶしに試して、結果オーライ。

*1:v0+3)*(1-yd))); v = 3/(1-yd) - (v0+3); U = (N/3) * u; V = (N/3) * v; Ud = my_x0 + U * cosi(-deg+90) + (V-v0) * si(-deg+90); Vd = my_y0 + (-1*U) * si(-deg+90) + (V-v0) * cosi(-deg+90) - v0; if ( Ud > 0 && Vd > 0 && Ud < 742 && Vd < 583 ) pDC->SetPixel(150 + x, 100 - y, memDC.GetPixel(Ud, Vd