Здравствуйте. Изучаю OpenGL, и столкнулся с такой проблемой, фоновая картинка затирает мой куб. Я так понял что картинка рисуется перед кубом и поэтому её не видно. Подскажите как это исправить.
// Clear the color and depth buffers.
_gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);
_gl.Enable(OpenGL.GL_DEPTH_TEST);
_gl.Enable(OpenGL.GL_TEXTURE_2D);
//_gl.LoadIdentity(); // Reset The View
////////////////////////////////////////////////// Background
//////////////////////////////////////////////////
_gl.MatrixMode(OpenGL.GL_PROJECTION);
_gl.LoadIdentity();
_gl.Ortho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
_gl.MatrixMode(MatrixMode.Modelview);
_gl.LoadIdentity();
_gl.Enable(OpenGL.GL_TEXTURE_2D);
_gl.BindTexture(OpenGL.GL_TEXTURE_2D, textures[0]);
_gl.Disable(OpenGL.GL_DEPTH_TEST);
_gl.Begin(OpenGL.GL_QUADS);
_gl.TexCoord(0.0f, 1.0f); _gl.Vertex(-1.0f, -1.0f);
_gl.TexCoord(1.0f, 1.0f); _gl.Vertex(1.0f, -1.0f);
_gl.TexCoord(1.0f, 0.0f); _gl.Vertex(1.0f, 1.0f);
_gl.TexCoord(0.0f, 0.0f); _gl.Vertex(-1.0f, 1.0f);
_gl.End();
//////////////////////////////////////////////////
////////////////////////////////////////////////// end Background
_gl.MatrixMode(OpenGL.GL_PROJECTION);
_gl.Disable(OpenGL.GL_TEXTURE_2D);
// Reset the modelview.
_gl.LoadIdentity();
// Move into a more central position.
_gl.Translate(0.0f, 0.0f, _distance);
// Rotate the cube.
_gl.Enable(OpenGL.GL_DEPTH_TEST);
_gl.Rotate(_rquad, 1.0f, 1.0f, 1.0f);
//_gl.Enable(OpenGL.GL_POLYGON_MODE);
_gl.Begin(OpenGL.GL_QUADS); // Start Drawing The Cube
_gl.TexCoord(0.0f, 0.0f); _gl.Vertex(-1.0f, -1.0f, 1.0f); // Bottom Left Of The Texture and Quad
_gl.TexCoord(1.0f, 0.0f); _gl.Vertex(1.0f, -1.0f, 1.0f); // Bottom Right Of The Texture and Quad
_gl.TexCoord(1.0f, 1.0f); _gl.Vertex(1.0f, 1.0f, 1.0f); // Top Right Of The Texture and Quad
_gl.TexCoord(0.0f, 1.0f); _gl.Vertex(-1.0f, 1.0f, 1.0f); // Top Left Of The Texture and Quad
// Back Face
_gl.TexCoord(1.0f, 0.0f); _gl.Vertex(-1.0f, -1.0f, -1.0f); // Bottom Right Of The Texture and Quad
_gl.TexCoord(1.0f, 1.0f); _gl.Vertex(-1.0f, 1.0f, -1.0f); // Top Right Of The Texture and Quad
_gl.TexCoord(0.0f, 1.0f); _gl.Vertex(1.0f, 1.0f, -1.0f); // Top Left Of The Texture and Quad
_gl.TexCoord(0.0f, 0.0f); _gl.Vertex(1.0f, -1.0f, -1.0f); // Bottom Left Of The Texture and Quad
// Top Face
_gl.TexCoord(0.0f, 1.0f); _gl.Vertex(-1.0f, 1.0f, -1.0f); // Top Left Of The Texture and Quad
_gl.TexCoord(0.0f, 0.0f); _gl.Vertex(-1.0f, 1.0f, 1.0f); // Bottom Left Of The Texture and Quad
_gl.TexCoord(1.0f, 0.0f); _gl.Vertex(1.0f, 1.0f, 1.0f); // Bottom Right Of The Texture and Quad
_gl.TexCoord(1.0f, 1.0f); _gl.Vertex(1.0f, 1.0f, -1.0f); // Top Right Of The Texture and Quad
// Bottom Face
_gl.TexCoord(1.0f, 1.0f); _gl.Vertex(-1.0f, -1.0f, -1.0f); // Top Right Of The Texture and Quad
_gl.TexCoord(0.0f, 1.0f); _gl.Vertex(1.0f, -1.0f, -1.0f); // Top Left Of The Texture and Quad
_gl.TexCoord(0.0f, 0.0f); _gl.Vertex(1.0f, -1.0f, 1.0f); // Bottom Left Of The Texture and Quad
_gl.TexCoord(1.0f, 0.0f); _gl.Vertex(-1.0f, -1.0f, 1.0f); // Bottom Right Of The Texture and Quad
// Right face
_gl.TexCoord(1.0f, 0.0f); _gl.Vertex(1.0f, -1.0f, -1.0f); // Bottom Right Of The Texture and Quad
_gl.TexCoord(1.0f, 1.0f); _gl.Vertex(1.0f, 1.0f, -1.0f); // Top Right Of The Texture and Quad
_gl.TexCoord(0.0f, 1.0f); _gl.Vertex(1.0f, 1.0f, 1.0f); // Top Left Of The Texture and Quad
_gl.TexCoord(0.0f, 0.0f); _gl.Vertex(1.0f, -1.0f, 1.0f); // Bottom Left Of The Texture and Quad
// Left Face
_gl.TexCoord(0.0f, 0.0f); _gl.Vertex(-1.0f, -1.0f, -1.0f); // Bottom Left Of The Texture and Quad
_gl.TexCoord(1.0f, 0.0f); _gl.Vertex(-1.0f, -1.0f, 1.0f); // Bottom Right Of The Texture and Quad
_gl.TexCoord(1.0f, 1.0f); _gl.Vertex(-1.0f, 1.0f, 1.0f); // Top Right Of The Texture and Quad
_gl.TexCoord(0.0f, 1.0f); _gl.Vertex(-1.0f, 1.0f, -1.0f); // Top Left Of The Texture and Quad
// Flush OpenGL.
_gl.Flush();