【问题标题】:Could anyone help me getting glutBitmapString to work?谁能帮我让 glutBitmapString 工作?
【发布时间】:2014-03-19 21:24:13
【问题描述】:

我在搞乱 OpenGlut 库中的 glutBitmapString。现在我只想在屏幕上写一个字符串以确保它可以正常工作,但我无法让它出现:

const char* texto = "texto";
glRasterPos2i(100, 120);
glColor3f(0.0f, 0.0f, 1.0f);
glutBitmapString(GLUT_BITMAP_HELVETICA_10, (UCHAR*)texto);

我也尝试在 for 循环中使用 glutBitmapCharacter,但没有成功。有人可以给我一个明确的例子或告诉我我做错了什么吗?

【问题讨论】:

    标签: c++ string opengl bitmap glut


    【解决方案1】:

    glRasterPos() 位置由当前投影/模型视图矩阵转换。确保它们是合理的。

    或使用glWindowPos2i() 绕过它们。

    例子:

    #include <GL/freeglut.h>
    
    void display()
    {
        glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
    
        glMatrixMode( GL_PROJECTION );
        glLoadIdentity();
        double w = glutGet( GLUT_WINDOW_WIDTH );
        double h = glutGet( GLUT_WINDOW_HEIGHT );
        glOrtho( 0, w, 0, h, -1, 1 );
    
        glMatrixMode( GL_MODELVIEW );
        glLoadIdentity();
    
        const char* texto = "texto";
        glRasterPos2i( 100, 120 );
        glColor3f( 0.0f, 0.0f, 1.0f );
        glutBitmapString(GLUT_BITMAP_HELVETICA_10, (const unsigned char*)texto );
    
        glutSwapBuffers();
    }
    
    int main( int argc, char **argv )
    {
        glutInit( &argc, argv );
        glutInitDisplayMode( GLUT_RGBA | GLUT_DOUBLE );
        glutInitWindowSize( 300, 300 );
        glutCreateWindow( "GLUT" );
        glutDisplayFunc( display );
        glutMainLoop();
        return 0;
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-11
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2022-08-10
      • 2015-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多