ライン描画時に+0.5ずつずらすために、DrawLineを次のように変更してみた。
public void DrawLine(int x1, int y1, int x2, int y2) { DrawContext dc = DrawContext; Gl.glBegin(Gl.GL_LINES); Gl.glVertex2f(x1 * dc.RateX + dc.OffsetRX + 0.5f, y1 * dc.RateY + dc.OffsetRY + 0.5f); Gl.glVertex2f(x2 * dc.RateX + dc.OffsetRX + 0.5f, y2 * dc.RateY + dc.OffsetRY + 0.5f); Gl.glEnd(); }
glVertex2fの各引数に0.5ずつ加えた。
これで試してみると、とりあえず前のテストプログラムでは期待したとおりに描画できているようだ。
もう少しいろいろなパターンを試してみよう。