我正在尝试在 OpenGL 的画布上打印一行包含变量和一个点的文本。我的代码如下:
void display()
{
glClear (GL_COLOR_BUFFER_BIT);
glLoadIdentity();
char string[50];
sprintf(string, "Base Rotation: %d", numVertices);
renderMyText(-0.4, 0.35, string);
glPointSize(20);
glBegin(GL_POINTS);
glVertex2f(characterX, characterY);
dx = vertices[numVertices-1].x-ox;
dy = vertices[numVertices-1].y-oy;
dt = glutGet(GLUT_ELAPSED_TIME);
characterX = ox + dx / sqrt(dx*dx+dy*dy) * Velocity * dt;
characterY = oy + dy / sqrt(dx*dx+dy*dy) * Velocity * dt;
printf("%f %f", characterX, characterY);
glEnd();
glFlush();
}
我正在使用另一种方法来更新鼠标移动时的点位置。该代码一切正常,正方形更新了它的位置并完美移动,直到我添加了文本行。
现在发生的事情是,一旦我启动程序,方块和文本就会出现,但是一旦我在窗口中移动鼠标,方块就会消失,只剩下文本,我希望他们两个留在窗口中。任何人都可以看到有什么问题吗?