bitmapStrokeString 在 C++ 中不起作用 [关闭]
Posted
技术标签:
【中文标题】bitmapStrokeString 在 C++ 中不起作用 [关闭]【英文标题】:bitmapStrokeString not working in c++ [closed] 【发布时间】:2016-03-09 20:57:16 【问题描述】:我正在使用 C++ 中的 glut 在 openGL 中做一个 CG 项目,我需要获取一个文本作为输出,但我收到了这个错误,但用 C 编写时它工作正常:
那么我怎样才能使它适用于 C++ 或者是否有任何其他方式可以在 glut 中打印文本。
#include<GL/glut.h>
#include<bits/stdc++.h>
#include<string.h>
GLdouble width,height;
int wd;
int xc,yc;
void reshape(int w,int h)
width=(GLdouble) w;
height=(GLdouble) h;
glViewport(0, 0, (GLsizei) width, (GLsizei) height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0,width,0.0,height);
void draw_score(long long int score)
long long int tempsc = score;
char str[15];
// glRasterPos2f(0.1, 0.5);
glutStrokeString(GLUT_STROKE_ROMAN,"hii");
void display(void)
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
//glTranslatef(1280/2.0-250,600/2.0-250,0);
long long a1=2;
glPushMatrix();
glTranslatef(200,300,0.0);
glScalef(0.2,0.2,1);
draw_score(a1);
glPopMatrix();
glFlush ();
int main(int argc, char** argv)
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize (600, 600);
glutInitWindowPosition (100, 100);
glutCreateWindow ("hello");
glutReshapeFunc(reshape);
glutDisplayFunc(display);
// OpenGL init
//glEnable(GL_DEPTH_TEST);
glutMainLoop();
return 0;
【问题讨论】:
这有什么问题?您发布了图像而不是实际代码,您没有包含错误消息或其他任何内容。您应该包括(作为 TEXT)Minimal, Complete and Verifiable Example 以及其他提到的所有内容。 将该错误图像转录为文本并将其编辑到问题中。 【参考方案1】:glutStrokeString()
是 FreeGLUT/OpenGLUT extension 到 the GLUT spec:
3.4 与 GLUT 3.7 的区别
...
3.4.5 字符串渲染
添加了新函数来呈现完整的字符串 (包括回车)而不是在 时间。更多函数返回字符串的宽度和 字体高度,位图字体以像素为单位,OpenGL 单位为 笔画字体。
使用freeglut.h
而不是glut.h
来拉入声明。
【讨论】:
以上是关于bitmapStrokeString 在 C++ 中不起作用 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C++ 端获取 QQuickItem 的 C++ 对象实例 [重复]
我们啥时候需要在纯 C++ 程序中使用结构?纯 C++ 程序是不是需要结构? [复制]