Opengl glRotatef和glutBitmapCharacter的替代方案?
这就是我目前的代码。然而,就我的一生而言,我无法让文本旋转。我是否需要使用BitMapCharacter以外的内容 澄清一下,这只是一个2D程序 main.cppOpengl glRotatef和glutBitmapCharacter的替代方案?,opengl,2d,glut,Opengl,2d,Glut,这就是我目前的代码。然而,就我的一生而言,我无法让文本旋转。我是否需要使用BitMapCharacter以外的内容 澄清一下,这只是一个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
#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();
}
书架
#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();
}
#包括
空书架()
{
glMatrixMode(GLU模型视图);
glPushMatrix();
glLoadIdentity();
GL3F(0.0,0.0,0.0);
glRasterPos2f(170,90);
glRotatef(0,0.0,0.0,0.0);
char text1[50]=“苹果食谱”;
对于(inti=0;iYep
glutBitmapCharacter()将在屏幕上显示一个字符(请注意对glRasterPos2f()的调用)
OpenGL中没有内置的3D字体支持,但有很多第三方API。有关摘要,请参阅此链接:
我不喜欢只粘贴链接,但我确实使用了上面列出的FreeType2库,而且我在这方面做得很成功。是的
glutBitmapCharacter()将在屏幕上显示一个字符(请注意对glRasterPos2f()的调用)
OpenGL中没有内置的3D字体支持,但有很多第三方API。有关摘要,请参阅此链接:
我不喜欢只粘贴链接,但我确实使用了列出的FreeType2库,我在这方面取得了很大的成功。试一试
或者使用glutBitmapCharacter()
和您选择的“渲染到纹理”方法。然后使用您想要的纹理以任何方向渲染四边形。进行拍摄
或者使用glutBitmapCharacter()
以及您选择的“渲染到纹理”方法。然后以您想要的任何方向使用您的纹理渲染四边形。哦,那么这只适用于3d字体?opengl在2d中没有可以旋转的东西?@AnkitAhuja:嗯,您可以使用纹理映射字体,这些字体将被转换。但是光栅操作(glDrawPixels、glBitmap等),它们始终与像素网格对齐。变换仅应用于光栅位置的起始位置。老实说,我不想麻烦使用它们(glReadPixels除外)。所有的绘图光栅操作都很慢,维护不善,实际上已经从更高版本的OpenGL中删除。哦,所以这只能在3d字体中实现?OpenGL在2d中没有可以旋转的东西?@AnkitAhuja:嗯,你可以使用纹理贴图字体,这些字体将被转换。但是光栅操作(glDrawPixels、glBitmap等),它们始终与像素网格对齐。变换仅应用于光栅位置的起始位置。老实说,我不想麻烦使用它们(glReadPixels除外)。所有图形光栅操作都很慢,维护不善,实际上已从更高版本的OpenGL中删除。