这是我目前的代码。但是,对于我的生活,我无法让文字旋转。我是否需要使用除glutBitmapCharacter以外的其他东西?
只是为了澄清,这只是一个2D程序
的main.cpp
#include "bookshelf.h"
void Initialize()
{
glClearColor (1.0, 1.0, 1.0, 0.0 );
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho(0,799,799,0,0.0,1.0);
}
void main( int argc, char *argv[] )
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize( 800, 800 );
glutInitWindowPosition( 200, 50 );
glutCreateWindow("Bookshelf - Ankit Ahuja");
Initialize();
glutDisplayFunc(Bookshelf);
glutMainLoop();
}
bookshelf.h
#include <GL/glut.h>
void Bookshelf()
{
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glColor3f( 0.0, 0.0, 0.0 );
glRasterPos2f(170,90);
glRotatef(0,0.0,0.0,0.0);
char text1[50]="Apple Recipe Book";
for(int i=0; i<50; i++) glutBitmapCharacter(GLUT_BITMAP_8_BY_13,text1[i]);
glRasterPos2f(190,110);
glRotatef(0,0.0,0.0,0.0);
char text2[50]="Banana Recipe Book";
for(int i=0; i<50; i++) glutBitmapCharacter(GLUT_BITMAP_8_BY_13,text2[i]);
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
}
答案 0 :(得分:0)
是的。
glutBitmapCharacter()只是在屏幕上显示一个字符(注意调用glRasterPos2f())。
OpenGL中没有内置的3D字体支持,但是很多第三方API。请参阅此链接以获取摘要:OpenGL Fonts
我不喜欢粘贴链接,但我确实使用了列出的FreeType2库,并且我已经取得了很好的成功。
答案 1 :(得分:0)
给glutStrokeCharacter()
一个镜头。
或者使用glutBitmapCharacter()
和您选择的渲染到纹理方法。然后使用您想要的任何方向渲染带纹理的四边形。