forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   OpenGL (http://forum.boolean.name/showthread.php?t=356)

-=Jack=- 23.07.2009 23:40

Ответ: OpenGL
 
Скажите, существует ли хоть одна книга по OpenGL, в которой не используется GLUT??

jimon 23.07.2009 23:46

Ответ: OpenGL
 
-=Jack=-
ну GLUT используется только для инициализации, делай её ручками (создавать окно, создавать контекст opengl)
примеров минимального opengl приложения без GLUT полно

а обработка нажатий клавиш, мышки и тд - это к opengl никак не относится

-=Jack=- 24.07.2009 01:06

Ответ: OpenGL
 
Ясно,буду пробовать... А исходники GLUT не открыты?

jimon 24.07.2009 01:11

Ответ: OpenGL
 
-=Jack=-
вот исходники GLUT
http://www.opengl.org/resources/libr...lut/glut37.zip (3.6 mb), но не думаю что они тебе сильно помогут

-=Jack=- 24.07.2009 02:01

Ответ: OpenGL
 
Спасибо :super:

jimon 31.07.2009 10:57

Ответ: OpenGL
 
есть одна очень интересная особенность которая прошла мимо моих глаз
в общем до OpenGL 1.5 были только asm-подобные шейдера, в 1.5 версии представили 1.00 версию GLSL, но у меня тут лежит комп. с 945G чипсетом, он держит только 1.4 версию OpenGL, что делать ?
да и мой двиг поддерживает только 1.20,1.30 и 1.40 версии GLSL

оказывается выход есть !
Cg это универсальный шейдерный язык nvidia которая предоставляет компилятор Cg в HLSL,GLSL,ARB shaders
и тут открывается интересная особеность, компилятор Cg может компилировать GLSL в ARB shaders !

конечно прийдется дописать поддержку этих ARB Shaders в движке, но сам факт наличия такой возможности очень радует
в идеале надо вообще все шейдера писать на Cg и не мучать себе мозг, так можно будет отвязать media от GAPI и не мучатся :)

Morganolla 15.01.2010 01:38

Ответ: OpenGL
 
А что лучше использовать для обучения GLUT или GLAUX? Полно учебников как на том так и на этом...

ffinder 15.01.2010 01:55

Ответ: OpenGL
 
Цитата:

Сообщение от Morganolla (Сообщение 133536)
А что лучше использовать для обучения GLUT или GLAUX? Полно учебников как на том так и на этом...

а эти либы для разных вещей.

в glaux.h - дополнительные команды, типа квадрики (счас уже не помню)
а glut (GL utility toolkit) - просто библиотека функций для быстрого прототипирования (инициализация окон, контекстные менюшки и т.д.) написанная мегоGLгуру Марком Килгардом (раньше работал в SGI).

В серьезных программах не нужно ни то, ни другое. Но для старта - почему бы и нет:super:

Morganolla 13.06.2010 03:05

Ответ: OpenGL
 
Что-то у меня интересный баг объявился. В 27 уроке от нехе для VC.NET перестали работать тени!!! Они переработали текст проекта и теней теперь нету. Если кому не в тягость проверьте у себя на компе?

Morganolla 07.09.2010 22:31

Ответ: OpenGL
 
Любопытная статейка за 2008 год - OpenGL 3 против DirectX 11: война закончена
http://www.thg.ru/graphic/open_gl_3_..._11/index.html

Nikich 14.07.2013 01:07

Ответ: OpenGL
 
Можете подсказать, в чем может быть проблема?
Работаю с данным обучением и Code::Blocks. Создавал и openGL проект, и glut проект - все тщетно, получаю миллионы ошибок "undefined reference to ...".
Ссылка на репозиторий обучения https://github.com/jckarter/ch4-flag

den 14.07.2013 01:18

Ответ: OpenGL
 
Проверь зависимости, должно быть GL и GLUT (и может быть ещё GLU, не помню точно).
Щас блокса под рукой нет, но по памяти: какой-то пункт в верхнем меню -> build options (выбрать и дебаг и рилэйс) -> link library.

Если не поможет, то покажи ошибки полностью.

Nikich 14.07.2013 01:41

Ответ: OpenGL
 
В openGL проекте
Код:

glBindBuffer(GL_ARRAY_BUFFER, mesh->vertex_buffer);
undefined reference to _imp____glewBlindBuffer

И таких однотипных ошибок уйма, почти на каждую строчку

Взялся именно за этот пример только из-за относительной свежести создания. Классика от NeHe - дело, конечно, хорошее, но уж довольно таки старое.

И стоит ли вообще использовать Code::Blocks? В нем привлекает маленький вес и удобность, однако почти во всех обученных люди используют VS.

HolyDel 14.07.2013 04:14

Ответ: OpenGL
 
Код:

Nikich
это расширения. их надо инициализировать вручную.
через wglGetProcAddress("glBindBuffer).
ну и переменную объявить типа
Код:

extern PFNGLBINDBUFFERPROC    glBindBuffer;
в h-ке.

после инициализации окна
Код:

glBindBuffer = wglGetProcAddress("glBindBuffer)
и так с КАЖДОЙ функцией расширения.

Nikich 14.07.2013 11:23

Ответ: OpenGL
 
Это же не мой код, а код автора статьи. Поскольку у него всё работает, вероятно, дело не в коде, а настройках компилятора.


Часовой пояс GMT +4, время: 15:11.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot