この質問に対する上位の回答で提供されているように、ここにある OpenGL のチュートリアルに従いましたが、キューブは前面と背面のレンダリングを拒否し、他のすべての面はレンダリングされ、ピラミッドと同じ問題が発生しました。ソースコードは次のとおりです。
public void render(){
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, Display.getDisplayMode().getWidth(), 0, Display.getDisplayMode().getHeight(), -1, 1);
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_STENCIL_BUFFER_BIT); //clear screen
//Center square according to screen size
GL11.glPushMatrix();
if(Display.wasResized()){
MX = 0; //MX is mouse X position
MY = 0; //MY is mouse Y position
}
if((MX == 0 && MY ==0)){
GL11.glTranslatef((Display.getWidth()/2), (Display.getHeight()/2), 0.0f);
}else{
GL11.glTranslatef(MX+50, MY+50, 0.0f);
}
GL11.glRotatef(angle, 0.0f,1.0f,0.5f); //Angle is the angle of the quads rotation
GL11.glBegin(GL11.GL_QUADS);
GL11.glColor3f(0.0f,1.0f,0.0f);
GL11.glVertex3f(50.0f, 50f, -50f);
GL11.glVertex3f(-50.0f, 50f, -50f);
GL11.glVertex3f(-50.0f, 50f, 50f);
GL11.glVertex3f(50.0f, 50f, 50f);
GL11.glColor3f(0.0f,0.5f,0.0f);
GL11.glVertex3f(50.0f, -50f, 50f);
GL11.glVertex3f(-50.0f, -50f, 50f);
GL11.glVertex3f(-50.0f, -50f, -50f);
GL11.glVertex3f(50.0f, -50f, -50f);
GL11.glColor3f(1.0f,0.0f,0.0f);
GL11.glVertex3f(50.0f, 50f, 50f);
GL11.glVertex3f(-50.0f, 50f, 50f);
GL11.glVertex3f(-50.0f, -50f, 50f);
GL11.glVertex3f(50.0f, -50f, 50f);
GL11.glColor3f(1.0f,1.0f,0.0f);
GL11.glVertex3f(50.0f, -50f, -50f);
GL11.glVertex3f(-50.0f, -50f, -50f);
GL11.glVertex3f(-50.0f, 50f, -50f);
GL11.glVertex3f(50.0f, 50f, -50f);
GL11.glColor3f(0.0f,0.0f,1.0f);
GL11.glVertex3f(-50.0f, 50f, 50f);
GL11.glVertex3f(-50.0f, 50f, -50f);
GL11.glVertex3f(-50.0f, -50f, -50f);
GL11.glVertex3f(-50.0f, -50f, 50f);
GL11.glColor3f(1.0f,0.0f,1.0f);
GL11.glVertex3f(50.0f, 50f, -50f);
GL11.glVertex3f(50.0f, 50f, 50f);
GL11.glVertex3f(50.0f, -50f, 50f);
GL11.glVertex3f(50.0f, -50f, -50f);
GL11.glEnd();
GL11.glPopMatrix();
}