を実行しているラップトップ ユーザーが、ATI Radeon HD 5800 Series
彼のマシンで実行されている私の 2D ゲームのビデオを見せてくれました。glScissor
コードが意図したとおりに動作していないように見えました (他の非常に多くのコンピューターで動作しているにもかかわらず)。
画面上の特定の四角形にレンダリングを制限したいときはいつでも、特定の四角形に対してSetClip
関数を呼び出すかRectangle.Empty
、はさみをリセットします。
public void SetClip(Rectangle theRect)
{
if (theRect.IsEmpty)
OpenGL.glDisable(OpenGL.EnableCapp.ScissorTest);
else
{
if (!OpenGL.glIsEnabled(OpenGL.EnableCapp.ScissorTest))
OpenGL.glEnable(OpenGL.EnableCapp.ScissorTest);
OpenGL.glScissor(theRect.Left, myWindow.clientSizeHeight - theRect.Bottom,
theRect.Width, theRect.Height);
CheckError();
}
}
このアプローチは間違っていますか?たとえば、glEnable
/はorglDisable
が必要で、呼び出した順序で実行されることを保証する必要があると感じています。glFlush
glFinish