CADソフトウェア(Protocase Designer)を作成しましたが、うまく機能していました。常にクラッシュするATIカードを除きます。ディスプレイリストは非推奨であり、ATIカードがそれらを完全にサポートしていない可能性があるという理論に基づいて、ディスプレイリストを頂点バッファオブジェクトに置き換えることにしました。私はそれをほとんど機能させていますが、次のコードを入力すると、何らかの理由で照明がすべて台無しになります。誰もが理由を知っていますか?頂点バッファオブジェクトのレンダリングの前または後にコードを配置するかどうかは関係ありません。
gl.glPushMatrix();
gl.glTranslated(sX, sY, sZ);
// -- sphere --
GLU glu = new GLU();
GLUquadric quad = glu.gluNewQuadric();
glu.gluQuadricDrawStyle(quad, GLU.GLU_FILL);
glu.gluQuadricNormals(quad, GLU.GLU_FLAT);
glu.gluQuadricOrientation(quad, GLU.GLU_OUTSIDE);
glu.gluSphere(quad, .1, 16, 16);
glu.gluCylinder(quad, .05, .05, .5, 16, 2);
glu.gluDeleteQuadric(quad);
gl.glPopMatrix();
なぜ何かアイデアはありますか?これは、ディスプレイリストのバージョンを台無しにすることはありませんでした。私がレンダリングしているのは、gluのテッセレーターを使用した穴のあるエンクロージャーです。
ありがとうございました!