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

Вход на сайт

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

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

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

Сейчас проверила нашла причину не запускания // Создание контекста воспроизведения OpenGL и привязка его к панели на форме OpenGLControl1:=TOpenGLControl.Create(Self); with OpenGLControl1 do begin Name:='OpenGLControl1'; //вот тут...
Ну..кажется что то пошло не так http://pp.usera...
Комментарии на английском переведите на русский. Дополните код комментариями, чтоб было понятно как работает алгоритм
Пример, к которому вы оставили комментарий строит именно то самое изображение на языке с#, которое вам необходимо. Отличается только цветовая палитра.

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

Рейтинг@Mail.ru
Среда программирования: 
NetBeans IDE

Для подключения OpenGL под Linux не имея при этом root прав нужно выполнить следующие действия:

  1. Получить бинарные файлы библиотеки freeglut
  2. Открываем терминал и выполняем команды

    cd $HOME
    wget -O freeglut-master.zip https://codeload.github.com/LuaDist/freeglut/zip/master
    unzip freeglut-master.zip
    cmake freeglut-master
    cd freeglut-master
    ./configure --prefix=$HOME/freeglut
    make all
    make install

    Альтернатива (готовая сборка под Debian):

    cd $HOME
    wget http://grafika.me/files/freeglut-bin.zip
    unzip freeglut-bin.zip

  3. Настроить текущий проект
  4. File -> Project Properties -> Build -> C++ Compiler -> Include Directories -> ... -> Add
    Открываем домашний каталог и выбираем ./freeglut/include

    Build -> Linker -> Libraries -> .. -> Add PkgConfig Library -> Добавляем gl и glu
    Build -> Linker -> Libraries -> .. -> Add Library File
    Открываем домашний каталог и выбираем ./freeglut/lib/libglut.a

  5. Проверка
  6. Заходим в Files -> Source Files -> main.cpp и вставляем в поле код, указанный в конце статьи. После этого запускаем проект (F6)

    Код:

    #include "GL/glut.h"
     
    void render() {
    	glClear(GL_COLOR_BUFFER_BIT);
     
    	//Рисуем треугольник
    	glColor3ub(0xff, 0xff, 0x00);
    	glBegin(GL_TRIANGLES);
    		glVertex2f(-0.5,-0.5);
    		glVertex2f(0.0,0.5);
    		glVertex2f(0.5,-0.5);
    	glEnd();
     
            glutSwapBuffers();
    }
     
    int main(int argc, char **argv) {
     
    	// инициализация
    	glutInit(&argc, argv);
    	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
    	glutInitWindowPosition(100,100);
    	glutInitWindowSize(640, 480);
    	glutCreateWindow("Test");
     
    	// регистрация обратных вызовов
    	glutDisplayFunc(render);
     
    	// Основной цикл GLUT
    	glutMainLoop();
     
    	return 0;
    }

Прикрепленный файлРазмер
freeglut-bin.zip992.36 кб