回転した長方形の4つの2D頂点ABCDがあります。これを、setpixel(x、y、color)を使用してpixelbuferで(効率的に)ラスタライズ/描画する必要があります。
どうやってするの?
私は次のようなコードを試していました
// convertilg a b c d do up down left right,
// calculating some dx_left dx_right on y--
// etc (frustrating on special cases when there are 2 up_y vertices in same line etc)
for(;;)
{
drawhorizontalline(y, xstart, xend, color);
if(y==downy) break;
y--;
xstart+=dxstart;
xend+=dxend;
if(y==lefty) dxstart = dxright;
if(y==righty) dxend = dxleft;
}
しかし、それは最もイライラします(ひどくバグが発生しやすく、最もイライラします)私は昨日これを一日中デバッグするのに本当にうんざりしていて、これをデバッグしようとするのではなく、おそらくいくつかの動作するコードを見つける必要があります