3D OpenGLアプリケーションがあり、2D HUDを表示したかったので、多くのグーグルの後にこれを行う方法の基本的な考え方を理解していますが、試してみると何も表示されません。他の多くの例乗り越えた後に私の現在のコードはこれです:OpenGL 2D HUDが表示されない
// HUD ///////////////////////////////////
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, (GLdouble)WIDTH, (GLdouble)HEIGHT, 0, -1, 1);
glDisable(GL_DEPTH_TEST);
glDisable(GL_CULL_FACE);
glColor3f(1, 1, 1);
glPushMatrix();
glBegin(GL_QUADS);
glVertex3f(-5.0f, 5.0f, 0.0f);
glVertex3f(-5.0f, -5.0f, 0.0f);
glVertex3f(5.0f, -5.0f, 0.0f);
glVertex3f(5.0f, 5.0f, 0.0f);
glEnd();
glPopMatrix();
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
今は何も視覚的変化を、私は色にクリアするために、画面全体を取得することができますが、でも、私はそれにクワッドを描くように見えることはできません。
EDIT:
glDisable(GL_CULL_FACE);
glDisable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, WIDTH, HEIGHT, 0, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClear(GL_DEPTH_BUFFER_BIT);
glColor3f(1, 1, 1);
glPushMatrix();
glBegin(GL_QUADS);
glVertex3f(-10.0f, 10.0f, 0.0f);
glVertex3f(-10.0f, -10.0f, 0.0f);
glVertex3f(10.0f, -10.0f, 0.0f);
glVertex3f(10.0f, 10.0f, 0.0f);
glEnd();
glPopMatrix();
glEnable(GL_CULL_FACE);
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
EDIT 2:スカイボックスCODE
glDisable(GL_CULL_FACE);
glDepthFunc(GL_LEQUAL); // Change depth function so depth test passes when values are equal to depth buffer's content
skyShader.Bind();
view = glm::mat4(glm::mat3(camera.GetViewProjection())); // Remove any translation component of the view matrix
glUniformMatrix4fv(glGetUniformLocation(skyShader.getProg(), "view"), 1, GL_FALSE, glm::value_ptr(view));
glUniformMatrix4fv(glGetUniformLocation(skyShader.getProg(), "projection"), 1, GL_FALSE, glm::value_ptr(projection));
// SKYBOX CUBE /////////////////////////////////
glBindVertexArray(skyboxVAO);
glActiveTexture(GL_TEXTURE0);
glUniform1i(glGetUniformLocation(skyShader.getProg(), "skybox"), 0);
glBindTexture(GL_TEXTURE_CUBE_MAP, skyboxTexture);
glDrawArrays(GL_TRIANGLES, 0, 36);
glBindVertexArray(0);
glDepthFunc(GL_LESS); // Set depth function back to default
イメージの左上隅にわずか5ピクセルしか描画していません。クワッドの残りの3/4は、錐台の外側にあります。 – derhass
@derhassたぶん私はばかだと思うかもしれませんが、私はフォローしません。私は頂点の値を変更しましたが、まだ何も見えません。 – thesyncer
何に変更しましたか? – derhass