2013-04-22 1 views
1

У меня есть эта функция визуализации, которая работает:OpenGL Draw Text Наряду Объекты

void RenderFunction(void) 
{ 
    ++FrameCount; 

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 

    drawGraph(); 
    drawAxis(); 

    glutSwapBuffers(); 
    glutPostRedisplay(); 
} 

Который оказывает мне точку графика. Я хочу, чтобы иметь возможность отображать небольшой текст. Я прочитал эту artice: http://www.codersource.net/MFC/OpenGL/DisplayingTextOpenGLTutorial5.aspx, и единственное, что нужно сделать, это скопировать эту функцию и обновить мой код:

void RenderFunction(void) 
{ 
    ++FrameCount; 

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 

    glLoadIdentity(); 
    drawBitmapText("Osama Hosam's OpenGL Tutorials",200,200,0); 

    drawGraph(); 
    drawAxis(); 

    glutSwapBuffers(); 
    glutPostRedisplay(); 
} 

renderFunction называется внутри glutDisplayFunc(RenderFunction);

Любая идея на этом. Я бы хотел, чтобы любые предложения, потому что ничего не показывают.

UPDATE:

void drawGraph(){ 
    glBindVertexArray(VaoId); 
    glEnable(GL_LINE_SMOOTH); 
    glLineWidth(0); 
    glDrawElements(GL_LINES, 48, GL_UNSIGNED_BYTE, (GLvoid*)0); 
    glPointSize(10); 
    glDrawElements(GL_POINTS, 48, GL_UNSIGNED_BYTE, (GLvoid*)0); 
} 

void drawAxis(){ 
    glDisable(GL_LINE_SMOOTH); 
    glBindVertexArray(VaoIdAxis); 
    glDrawElements(GL_LINES, 4, GL_UNSIGNED_BYTE, (GLvoid*)0); 
} 

enter image description here

ответ

0

Вопрос решаемая. По какой-то причине drawBitmapText() не поддерживается в некоторых контекстах OpenGL. Первоначально у меня было:

glutInitContextVersion(3, 3); 
glutInitContextFlags(GLUT_FORWARD_COMPATIBLE); 
glutInitContextProfile(GLUT_CORE_PROFILE); 

Что мешает приложению визуализировать текст. Я только что прокомментировал, что 3 линии и все прошло отлично.