Уроки, алгоритмы, программы, примеры

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

У меня проблема вот с этим: gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);. Вылезает ошибка: CS1061 "object" не содержит определения "GL_COLOR_BUFFER_BIT", и не удалось найти доступный метод расширения "GL_COLOR_BUFFER_BIT",...
Большое спасибо. Единственный код который прошел без каких либо ошибок. Ура!!!
Скажите пожалуйста, подскажите алгоритм по которому по заданным точкам можно определить тип многогранника, скажем это куб или прямоугольный параллелепипед. Нашел теорию по этим фигурам: https://www.mat... https://www.mat... Акцентировать внимание...
Всем у кого не работает. файл wizard.script Ещё одно упоминание Glut32 в строке "if (!VerifyLibFile(dir_nomacro_lib, _T("glut32"), _T("GLUT's"))) return false;" меняем на "if (!VerifyLibFile(dir_nomacro_lib, _T("freeglut"), _T("GLUT's"))) return...
Не получается, емаё

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика
Язык программирования: 
C/C++
Среда программирования: 
Microsoft Visual Studio 2013

#include <GL/glut.h>
float rot = 0.0;//переменная обозначающая угол поворота
void Draw()// функция рисования
{
	glClear(GL_COLOR_BUFFER_BIT);//очистка 
	glPushMatrix();//сохраняем матрицу нашей фигуры
	glRotatef(-rot, 0.0, 0.0, 1.0);// перемещаем нашу фигуру
	for (int i = 0; i < 40; i ++)
	{
		glColor3ub(29 + i * 5, 5 + i * 5, 0 + i * 3);// изменяем цвет каждого квадрата от самого темного к светлому
		glPushMatrix();//сохранение матрицы квадрата
		glRotatef(-i*0.5, 0.0, 0.0, 1.0);// поворачиваем каждый квадрат на 0.5 градус
		glBegin(GL_QUADS);//рисуем наши квадраты
		glVertex2f(-100, -100);
		glVertex2f(-100,100);
		glVertex2f(100, 100);
		glVertex2f(100, -100);
		glEnd();
		glPopMatrix();//восстановление матрицы квадрата
	}
	glColor3ub(255, 255, 255);
	glPushMatrix();//сохранение матрицы квадрата
	glRotatef(-21, 0.0, 0.0, 1.0);
	glBegin(GL_QUADS);// рисуем центральный белый квадрат
	glVertex2f(-100 , -100 );
	glVertex2f(-100, 100 );
	glVertex2f(100, 100);
	glVertex2f(100 , -100);
	glEnd();
	glPopMatrix();//восстановление матрицы квадрата
	glPopMatrix();//восстановление матрицы нашей фигуры
	rot += 2;// изменяем угол поворота
	if (rot >= 360)//проверка на прохождение полного круга 
		rot -= 360;
	glutSwapBuffers();
}
void Timer(int value)//таймер
{
	glutPostRedisplay();// обновляем экран 
	glutTimerFunc(50, Timer, 0);// обновляем экран каждые 50 мсек
}
void Initialize()// функция инициализации окна
{
	glClearColor(0.0, 0.0, 0.0, 1.0);//очищаем фон цветом
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	glOrtho(-200.0, 200.0, -200.0, 200.0,-200.0,200.0);//рисуем координатную сеть, где середина экрана точка(0,0,0)
	glMatrixMode(GL_MODELVIEW);
}
int main(int argc, char **argv)
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);// буфер рисования и буф сторонних вычислений
	glutInitWindowSize(400, 400);//размеры окна
	glutInitWindowPosition(100, 200);//позиция окна
	glutCreateWindow("Turning square");//название окна
 
	glutDisplayFunc(Draw);//вызов функции рисования
	Initialize();//вызов функции инициализации окна
	glutTimerFunc(50, Timer, 0);//вызов таймера
	glutMainLoop();//основной цикл
 
	return 0;
}

Прикрепленный файлРазмер
Samokhin_Turning_square.rar154.09 кб