1
Мой код выглядит так: Модификация этого кода будет оценена. Я попробовал, только прямоугольник появляется не в тексте.Как отображать текст над прямоугольником в OpenGL в C++?
#include <GL/glut.h>
#include<bits/stdc++.h>
using namespace std;
void init2D(float r, float g, float b)
{
glClearColor(r, g, b, 0.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0, 600.0, 0.0, 600.0);
}
void RenderToDisplay()
{
int l,lenghOfQuote, i;
char str[80];
strcpy(str,"Have courage and be kind");
cout<<str;
lenghOfQuote = (int)strlen(str);
for (i = 0; i < lenghOfQuote; i++)
{
glColor3f(1.0, 0.0, 0.0);
glutStrokeCharacter(GLUT_STROKE_ROMAN, str[i]);
}
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex3f(150.0f, 200.0f, 0.0f);
glColor3f(0.940, 0.37, 0.47);
glVertex3f(450.0f, 200.0f, 0.0f);
glColor3f(0.940, 0.37, 0.47);
glVertex3f(450.0f, 400.0f, 0.0f);
glColor3f(0.69, 0.27, 0.57);
glVertex3f(150.0f, 400.0f, 0.0f);
glColor3f(0.69, 0.27, 0.57);
glEnd();
RenderToDisplay();
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(600, 600);
glutInitWindowPosition(0,0);
glLineWidth(3);
glutCreateWindow("Assignment Q2");
init2D(0.0, 0.0, 0.0);
glutDisplayFunc(display);
glutMainLoop();
}
Вы можете сообщить мне комментарии, если вам нужно спросить что-нибудь еще. Я использовал кодовые блоки для тестирования этой программы.
[Использование GLUT просто напечатать текст] (http://stackoverflow.com/a/20866623/7550472) может Помогите. –
@KaushikNP Я до сих пор не могу этого сделать, я в порядке OpenGL, но это было бы здорово, если бы вы могли предложить в программе. –
@ АлексейНеудачин Я не понял. Вы можете отправить запрос на тянуть здесь https://github.com/heysadboy/Advanced-Graphics-and-Animation, если хотите во втором вопросе. Благодарю. –