помогите с OpenGL (попытки к программированию)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
creative
Сообщения: 136
ОС: openSuSE / Windows XP

помогите с OpenGL

Сообщение creative »

Я собираюсь попробовать написать простейшую(игрой это даже язык не поворачивается назвать) программу с использованием OpenGL.
Но про то, как использовать эту графическую библиотеку, в интернете практически нет!(я нашел только описание различных функций OpenGL).
Даже зная эти функции, я не знаю как подключить данную библиотеку к своему "проекту". Работаю в Mono(пытаюсь).

Пожалуйста помогите, обьясните как.
Спасибо сказали:
Аватара пользователя
Atragor
Сообщения: 681
Статус: ...

Re: помогите с OpenGL

Сообщение Atragor »

Есть официальное руководство по программированию с использованием OpenGL. Там наверняка все подробно описано (правда на английском)
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: помогите с OpenGL

Сообщение Uncle_Theodore »

killer писал(а):
22.06.2007 23:27
Я собираюсь попробовать написать простейшую(игрой это даже язык не поворачивается назвать) программу с использованием OpenGL.
Но про то, как использовать эту графическую библиотеку, в интернете практически нет!(я нашел только описание различных функций OpenGL).
Даже зная эти функции, я не знаю как подключить данную библиотеку к своему "проекту". Работаю в Mono(пытаюсь).

Пожалуйста помогите, обьясните как.

Вот простой пример, я думаю, из него многое станет понятно

Код:

/* simplePoly.c*/ /*Cpmpile with gcc simplePoly.c -o simplePoly -lglut */ #include <GL/glut.h> void init() { glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(0.0, 800.0, 0.0, 800.0); }; void nicePoly() { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glColor3f(1.0, 0.0, 0.0); glVertex2i(200, 200); glColor3f(0.0,0.0,1.0); glVertex2i(200, 600); glColor3f(1.0,1.0,0.0); glVertex2i(600, 600); glColor3f(1.0, 0.0, 1.0); glVertex2i(600, 200); glEnd(); glFlush(); }; int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowPosition(100, 100); glutInitWindowSize(800, 800); int n = glutCreateWindow("Polygon"); init(); glutDisplayFunc(nicePoly); glutMainLoop(); return 0; };


Команда компиляции
gcc simplePoly.c -o simplePoly -lglut

Вот тут есть знаменитая "Красная Книга" по OpenGL
http://fly.cc.fer.hr/~unreal/theredbook/
Вот тут http://www.opengl.org/documentation/specs/...pec3/spec3.html
говорят про glut, и вообще, хорошие ссылки
http://www.opengl.org/documentation/

Кроме того, могу еще мои лекции предложить, но они на английском... :)
Спасибо сказали:
Аватара пользователя
creative
Сообщения: 136
ОС: openSuSE / Windows XP

Re: помогите с OpenGL

Сообщение creative »

Огромное спасибо!

Многое прояснилось. Ссылки полезные. :D :rolleyes:

P.S.
Буду продолжать своё знакомство с OpenGL. :)
Спасибо сказали:
Аватара пользователя
creative
Сообщения: 136
ОС: openSuSE / Windows XP

Re: помогите с OpenGL

Сообщение creative »

запустил simplePoly.c в gcc, пишет:

Код: Выделить всё

nik@deti:~> gcc simple.c -o simple -lglut
simple.c:4:21: error: GL/glut.h: Нет такого файла или каталога
simple.c: In function ‘init’:
simple.c:9: error: ‘GL_PROJECTION’ undeclared (first use in this function)
simple.c:9: error: (Each undeclared identifier is reported only once
simple.c:9: error: for each function it appears in.)
simple.c: In function ‘nicePoly’:
simple.c:16: error: ‘GL_COLOR_BUFFER_BIT’ undeclared (first use in this function)
simple.c:18: error: ‘GL_POLYGON’ undeclared (first use in this function)
simple.c: In function ‘main’:
simple.c:37: error: ‘GLUT_SINGLE’ undeclared (first use in this function)
simple.c:37: error: ‘GLUT_RGB’ undeclared (first use in this function)
nik@deti:~>


судя по всему, у меня нету "GL/glut.h". :huh:

А эта библиотека должна быть в той же папке что и компилируемый файл simplePoly.c? :huh:

P.S. где б её взять... :dry:
Спасибо сказали:
mops
Сообщения: 172
ОС: Ubuntu Feisty

Re: помогите с OpenGL

Сообщение mops »

Установи devel-пакеты... Какие именно - найди в поиске своего пакетного менеджера.
Спасибо сказали:
Аватара пользователя
creative
Сообщения: 136
ОС: openSuSE / Windows XP

Re: помогите с OpenGL

Сообщение creative »

Спасибо!

Установил freeglut-devel - и все пошло!

В интернете наткнулся на совет, говорят, что glut годится только как для обучения, и не пригоден в крупных проектах.
Так ли это?
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: помогите с OpenGL

Сообщение Uncle_Theodore »

killer писал(а):
24.06.2007 23:25
В интернете наткнулся на совет, говорят, что glut годится только как для обучения, и не пригоден в крупных проектах.
Так ли это?

Ну, скажем так, вопрос это, конечно, интересный...
Смотря какие у тебя проекты. GLUT существенно упрощает некоторые вещи, и избавляет от риска совершить ошибку при изобретении велосипеда. Ну и портабельность, конечно, имеет значение. У моих студней один и тот же код компилировался и работал на Винде и на Линуксе.
Но чисто для сравнения, вот исходники glxgears без глата. Посмотри, как можно обходиться без него.
http://cvsweb.xfree86.org/cvsweb/xc/progra...gears.c?rev=1.3
Спасибо сказали:
Аватара пользователя
creative
Сообщения: 136
ОС: openSuSE / Windows XP

Re: помогите с OpenGL

Сообщение creative »

Очень интересный пример, постараюсь с ним разобраться.
Спасибо!
Спасибо сказали: