gpt4 book ai didi

c++ - glutBitmapCharacter() 文本没有出现在屏幕上?

转载 作者:搜寻专家 更新时间:2023-10-31 02:04:11 25 4
gpt4 key购买 nike

#include "stdafx.h"
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include "glut.h"

int winWidth = 700;
int winHeight = 600;

void init() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, winWidth, 0.0, winHeight);
}

void renderSpacedBitmapString(float x, float y, void *font, char *string) {
char *c;
int x1 = x;
for (c = string; *c != '\0'; c++) {
glRasterPos2f(x1, y);
glutBitmapCharacter(font, *c);
x1 = x1 + glutBitmapWidth(font, *c);
}
}

void draw_text() {
glColor3f(255.0, 0, 0.0); /* red color */
char buf[100] = { 0 };
sprintf_s(buf, "DO YOU WANT TO GO TO SPACE?");
renderSpacedBitmapString(15, 600, GLUT_BITMAP_HELVETICA_18, buf);
}

void display(void) {
glClear(GL_COLOR_BUFFER_BIT);
draw_text();
glFlush();
}

int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(winWidth, winHeight);
glutInitWindowPosition(100, 100);
glutCreateWindow("Drawn Text");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

我有这个问题,我无法让文本出现在屏幕上,但是当我将 gluOrtho2D 代码更改为 gluOrtho2D(-200.0, 800, -200.0, 800) ; 它开始工作了,但我想保持 gluOrtho2D 代码与上面相同,我不想更改它。

最佳答案

y = 600 仅略高于您的 gluOrtho2D() 剪辑音量。稍微降低字符串(将 580 传递到 renderSpacedBitmapString()y 参数中有效)或增加窗口高度(620 有效)。

关于c++ - glutBitmapCharacter() 文本没有出现在屏幕上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54078894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com