OpenGL:绘制矩形后文本不显示
OpenGL: Text is not displaying after drawing rectangle
我正在设计一个秤。在我需要有数字显示在白色。目前在下面的代码,我试图只显示"825"。之后,我尝试用灰色画一个矩形框作为比例的背景。但是当我尝试执行时,我看不到这个数字("825,在下面的例子中)是不可见的。只有灰色矩形可以看到。
#define SPD_SCALE_TAPE_STATIC_LINE_COLOR_160 160 // Light GRAY
#define SPD_SCALE_TAPE_STATIC_LINE_COLOR_120 120 // Light GRAY
#define SPD_SCALE_TAPE_STATIC_LINE_COLOR_180 180 // Light GRAY
#define SPD_SCALE_TAPE_STATIC_LINE_COLOR_050 50 // Light GRAY
// Co-ordinates for GRAY box
#define SPD_SCALE_TAPE_GRAY_X1 -8.0
#define SPD_SCALE_TAPE_GRAY_Y1 0.5
#define SPD_SCALE_TAPE_GRAY_X2 -6.0
#define SPD_SCALE_TAPE_GRAY_Y2 6.3
// Method to draw the text with TIMES NEW ROMAN with FONT size = 24
void drawText_TIMES_24(float x, float y, float z, char* text)
{
int i_len = 0;
i_len = strlen(text);
if( i_len > 0)
{
glPushMatrix();
glRasterPos3f(x,y,z);
while( *text != ' ' )
{
if( i_len == 2 )
{
glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, ' ');
i_len = 0;
}
else
{
glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, *text);
text = text+1;
}
}
glPopMatrix();
}
}
void drawAir_Speed_ReadOut_Val(void)
{
char a[] = "825";
glColor3ub(0, 255, 0);
drawText_TIMES_24(-7.5, 3.0, 0.0, a);
}
// Method to draw Spd Scale Tape Gray Rect
void drawSpd_Scale_Tape_Gray_Rect(void)
{
glColor3ub(SPD_SCALE_TAPE_STATIC_LINE_COLOR_050, SPD_SCALE_TAPE_STATIC_LINE_COLOR_050, SPD_SCALE_TAPE_STATIC_LINE_COLOR_050);
// Draw TOP rectangle GRAY box
glRectf(SPD_SCALE_TAPE_GRAY_X1, SPD_SCALE_TAPE_GRAY_Y1, SPD_SCALE_TAPE_GRAY_X2, SPD_SCALE_TAPE_GRAY_Y2);
// Draw BOTTOM rectangle GRAY box
glRectf(-6.0, -0.5, -8.0, -6.3);
// Draw TOP triangle GRAY box
drawTriangle (-6.5, 0.5, -6.0, 0.0, -6.0, 0.5);
// Draw BOTTOM triangle GRAY box
drawTriangle (-6.5, -0.5, -6.0, 0.0, -6.0, -0.5);
}
void draw(void)
{
drawAir_Speed_ReadOut_Val();
drawSpd_Scale_Tape_Gray_Rect();
}
只是猜测-你是否在drawText_TIMES_24()内的第一个glPushMatrix()之前调用glRasterPos3f() ?如果是这种情况,也许你应该考虑调用glTranslatef(),而不是做额外的glRasterPos3f()?
相关文章:
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 在由Sublime文本3编译后在cmd上显示Java程序输出
- 尝试使用 WinBGI 显示文本时出现编译器错误
- 动态填充的组合框不显示文本,列表未定义
- 使用 fltk 时,文本未显示在已编译的窗口中
- PyQT - 在 QTableWidget 单元格中显示垂直文本
- 如何使用IExecuteCommand和动词在上下文菜单外壳扩展中显示本地化文本和自定义图标?
- 如何在 qt c++ 中更新 QWindow,文本不显示
- 从文本文件中读取并输入到数组结构中,然后显示读取的数据C++
- sf::文本不显示?
- 在QT C++编辑Qtable模型数据时,我需要得到一个小盒子,我需要显示编辑文本,这怎么可能?
- QTreeWidgetItem 突出显示文本问题
- 从文本文件中读取数据并删除所有换行符空格,并在 C++ 控制台中显示
- 如何通过单击按钮在QTextEdit中显示文本?
- 在C Windows程序中显示文本文件内容
- 如何在重新调整窗口大小时使文本显示在窗口中心,visualc++
- 打开 GL 文本显示时未处理的异常
- 如何要求输入后的文本显示下一行在c++中
- 如何将文件的路径(或任何文本)显示/附加到编辑框中?(C++ Win32 API)
- 将格式化文本显示到 QTextEdit 就像在 C 的 printf 中一样