весь код:
#include <GL/glut.h>
#include <math.h>
void display();
void osi();
void timer();
void osi() {
//double delta = 5;
glColor3f(0.0f, 0.0f, 0.0f);//задаем цвет рисования
glLineWidth(3);//задаем толщину линии
glBegin(GL_LINES);//говорим что будем рисовать линию
glVertex2d(-100, 0);
glVertex2d(100, 0);
glVertex2d(0, -100);
glVertex2d(0, 100);
glEnd();
}
void timer(int i = 0) // Таймер (промежуток времени, в котором будет производится все процессы)
{
display(); // Вызов функций
glutTimerFunc(100, timer, 0); // новый вызов таймера( 100 - промежуток времени(в милисекундах), через который он будет вызыватся, timer - вызываемый паблик)
}
void display(){
//glRotatef(1, 0, 0, 1);
glTranslatef(-0.5, 0, 0);
glClear(GL_COLOR_BUFFER_BIT);//очищаем буфер
glColor3f(1.0f, 0.0f, 0.0f);//задаем цвет рисования
glLineWidth(3);//задаем толщину линии
glBegin(GL_LINE_STRIP);//говорим что будем рисовать линию
for (double i = 0; i < 100; i = i+0.1)
{
glVertex2d(i * 10, sin(i)*10);
}
glEnd();
osi();
glutSwapBuffers();
}
int main(int argc, char** argv){
//glutInitWindowSize(1280, 800);
glutInitWindowSize(750, 450);
glutInitWindowPosition(0, 0);
glutInitDisplayMode(GLUT_RGBA| GLUT_DOUBLE);
glutCreateWindow("Hello");
glClearColor(180, 180, 180, 0);
glScalef(0.01, 0.01, 0.01);
glutDisplayFunc(display);
glutTimerFunc(50, timer, 0);
glutMainLoop();
return 0;
}
