私はこのようになりますディスプレイリストを生成し、ほとんどのセグメントを持っている:OpenGLのエラー1282()
glNewList (CDisplayList :: GetBaseList() + 2, GL_COMPILE);
{
glBegin (GL_QUADS);
glPushMatrix();
//
// Move to slightly lower position.
//
glTranslatef (0.0f, -1.1f, 0.0f);
glColor4f (1.0f, 1.0f, 1.0f, 1.0f);
//
// Front facing.
//
glTexCoord2f (m_TexLeft, m_TexBottom); glVertex3f (m_Start, -0.1f, 0.0f);
glTexCoord2f (m_TexRight, m_TexBottom); glVertex3f (m_End, -0.1f, 0.0f);
glTexCoord2f (m_TexRight, m_TexTop); glVertex3f (m_End, -1.3f, 0.0f);
glTexCoord2f (m_TexLeft, m_TexTop); glVertex3f (m_Start, -1.3f, 0.0f);
//
// Back facing.
//
glTexCoord2f (m_TexLeft, m_TexTop); glVertex3f (m_Start, -1.3f, 0.0f);
glTexCoord2f (m_TexRight, m_TexTop); glVertex3f (m_End, -1.3f, 0.0f);
glTexCoord2f (m_TexRight, m_TexBottom); glVertex3f (m_End, -0.1f, 0.0f);
glTexCoord2f (m_TexLeft, m_TexBottom); glVertex3f (m_Start, -0.1f, 0.0f);
glPopMatrix();
glEnd();
}
glEndList();
GLenum e = glGetError();
ここで終わりに「e」の値は、常に1282(無効な操作で、またはそのようなもの)。なぜ私は分からない。 glNewListからリストを構築するすべてのコマンドの後にglGetErrorをチェックしましたが、常に同じ(ゼロ)です。この表示リストは3つのうちの1つであり、そのうちの1つはokです(glGetErrorでテストされ、ゼロを返します)。だから、このリストの何かがドライバーに頭痛を与えているのです。
アイデア?
m_TexLeftなどは0,0,1,1,025(左上、上端、右下)で、m_Start、m_Endは0,100です。GetBaseListは、glGenLists(3)を呼び出して得られた整数を返します正確な値は257です)。
正直言って何が間違っているのか分かりません。
ああ、はい。私は彼らが何をやっているのかは分からない。私はもともと8年前にこれを書いていましたが、長年のドライバーの改善は、このリストを実行すると、このコードが今や崩れずに継続することを意味しています。これは今コンパイルするので、ありがとう。 – Robinson