酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

PSPで矩形出ました

 STGを作りたいけど矩形描画で悩んでいる段階ではたして出来るのかどうか・・・標準関数を使えないという時点で私的にはもうどうして良いのか分からないです。
 矩形描画の為のソースは今の所こんな感じです。結構無駄な処理をしてそうですね、もっと高速化出来そうです。

/*****************************************************/
/* @function : draw_rect()                           */
/* @note     : VRAMに矩形を描画する                  */
/*****************************************************/
void draw_rect(int startx, int starty, int targetx, int targety, int color)
{
	unsigned short *vram_ptr, *write_ptr;
	int loop_x, loop_y;

	pspDisplaySetFrameBuf(pg_vramtop, LINESIZE, PIXELSIZE, 1);

	/* 先頭画像を求める */
	vram_ptr = (unsigned short *)(pg_vramtop + 0x40000000 + ((starty * LINESIZE + startx) * 2));

	loop_y = targety;
	while (loop_y--)
	{
		write_ptr = vram_ptr;

		loop_x = targetx;
		while (loop_x--)
		{
			*write_ptr++ = color;
		}
		
		vram_ptr += (LINESIZE);
	}
}