一枚画像を描画するよりすこし負荷は高くなりますが、
DrawBox を画面の縦解像度分だけ呼び出してグラデーションを
表現するという方法があります。
(DrawLine はハードによって微妙にずれたりするので DrawBox を
使います)
// 画面解像度が 640x480 の場合
// 画面上が黒、下が赤のグラデーション
int i;
for( i = 0; i < 480; i++ )
{
DrawBox( 0, i, 640, i + 1, GetColor( 255 * i / 480, 0, 0 ), TRUE );
}
> f2さん
DrawPolygon3D は3Dのポリゴンを描画するのが目的なので、
±1ドットの誤差はあると思います。
そんなときは画面より少し大きめのポリゴンにして頂ければ
OKです。
あと、画像を指定する引数に DX_NONE_GRAPH を渡すと
テクスチャ無しのポリゴンが描画できます