Я собираюсь попробовать написать простейшую(игрой это даже язык не поворачивается назвать) программу с использованием OpenGL.
Но про то, как использовать эту графическую библиотеку, в интернете практически нет!(я нашел только описание различных функций OpenGL).
Даже зная эти функции, я не знаю как подключить данную библиотеку к своему "проекту". Работаю в Mono(пытаюсь).
Пожалуйста помогите, обьясните как.
помогите с OpenGL (попытки к программированию)
Модератор: Bizdelnick
-
Atragor
- Сообщения: 681
- Статус: ...
Re: помогите с OpenGL
Есть официальное руководство по программированию с использованием 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
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
Огромное спасибо!
Многое прояснилось. Ссылки полезные.
P.S.
Буду продолжать своё знакомство с OpenGL.
Многое прояснилось. Ссылки полезные.
P.S.
Буду продолжать своё знакомство с OpenGL.
-
creative
- Сообщения: 136
- ОС: openSuSE / Windows XP
Re: помогите с OpenGL
запустил simplePoly.c в gcc, пишет:
судя по всему, у меня нету "GL/glut.h".
А эта библиотека должна быть в той же папке что и компилируемый файл simplePoly.c?
P.S. где б её взять...
Код: Выделить всё
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".
А эта библиотека должна быть в той же папке что и компилируемый файл simplePoly.c?
P.S. где б её взять...
-
mops
- Сообщения: 172
- ОС: Ubuntu Feisty
Re: помогите с OpenGL
Установи devel-пакеты... Какие именно - найди в поиске своего пакетного менеджера.
-
creative
- Сообщения: 136
- ОС: openSuSE / Windows XP
Re: помогите с OpenGL
Спасибо!
Установил freeglut-devel - и все пошло!
В интернете наткнулся на совет, говорят, что glut годится только как для обучения, и не пригоден в крупных проектах.
Так ли это?
Установил freeglut-devel - и все пошло!
В интернете наткнулся на совет, говорят, что glut годится только как для обучения, и не пригоден в крупных проектах.
Так ли это?
-
Uncle_Theodore
- Сообщения: 3339
- ОС: Slackware 12.2, ArchLinux 64
Re: помогите с OpenGL
Ну, скажем так, вопрос это, конечно, интересный...
Смотря какие у тебя проекты. GLUT существенно упрощает некоторые вещи, и избавляет от риска совершить ошибку при изобретении велосипеда. Ну и портабельность, конечно, имеет значение. У моих студней один и тот же код компилировался и работал на Винде и на Линуксе.
Но чисто для сравнения, вот исходники glxgears без глата. Посмотри, как можно обходиться без него.
http://cvsweb.xfree86.org/cvsweb/xc/progra...gears.c?rev=1.3
-
creative
- Сообщения: 136
- ОС: openSuSE / Windows XP
Re: помогите с OpenGL
Очень интересный пример, постараюсь с ним разобраться.
Спасибо!
Спасибо!