こんにちは、 、 、およびのOpenGL
使用から始めています。これまでのところ、次のスニペットを使用しています。 C#
Tao.Framework
Tao.Plataform.Windows SimpleOpenGlControl
// in Form.Load handler
Gl.glOrtho(0, 10, 0, 10, -1, 1);
Gl.glClearColor(0f, 0f, 0f, 0f);
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex2f(0f, 0f);
Gl.glVertex2f(0f, 1f);
Gl.glVertex2f(1f, 1f);
Gl.glVertex2f(1f, 0f);
Gl.glEnd();
ここまでは順調ですね。今、アニメーション効果を追加しようとしています。クライアント領域の端で跳ねるボールのように正方形を動かそうとしています。私のコードはこれです:
Gl.glOrtho(0, 10, 0, 10, -1, 1);
new Thread(() =>
{
int x = 3, incX = 1;
int y = 7, incY = 1;
while (true)
{
Gl.glClearColor(0f, 0f, 0f, 0f);
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex2f(x + 0f, y + 0f);
Gl.glVertex2f(x + 0f, y + 1f);
Gl.glVertex2f(x + 1f, y + 1f);
Gl.glVertex2f(x + 1f, y + 0f);
Gl.glEnd();
simpleOpenGlControl1.SwapBuffers();
if (x == 0 || x == 9) incX *= -1;
if (y == 0 || y == 9) incY *= -1;
x += incX;
y += incY;
Thread.Sleep(1000);
}
}).Start();
しかし、何かが非常に間違っています。写真が 2 つの特定のフレームの間で切り替わる。2つのフレームを印刷しました。見てみな:
http://www.jonataspiazzi.xpg.com.br/outpost/example_frame.png
まだ次の詳細があります。上の最初のフレームが正しい限り、変化は見られません。つまり、正方形は動かないということです。
どうすれば修正できますか?または、簡単なアニメーションを作成する方法は?