Pull to refresh

Comments 20

Компилим тестовый пример, и — облом. Окно показывается на доли секунды и сворачивается

Попробуйте ./тестовый-пример </dev/null — что получится?
OpenGL традиционно считается графическим пакетом для научных задач, так что он по крайней мере ближе к Haskell, чем DirectX.
>ближе к Haskell, чем DirectX.
Что?
Да просто сейчас все игры под DirectX пишут, OpenGL чаще используется для визуализации математических вычислений.
Откуда к нам такой эксперт пожаловал?
OpenGL действительно чаще используют для визуализации математических вычислений, но просто есть миф о том что Haskell это язык для нердов-математиков вот некоторые и думают что OpenGL больше подходит для Haskell
По красному фону в окне трудно определить, для каких задач планируется использовать Haskell и OpenGL.
Ученые любят linux, под linux нет DirectX, только OpenGL. Поэтому всякие научные штуки делаются на OpenGL. Если ты пишешь игрушку и тебе класть на линуксы, то DirectX ловчее.

Поэтому где-то OpenGL, а где-то Direct3D.
Загадочна душа линуксоида. Многие готовы писать инструкции как ставить компиляторы, писать много букв и цифр в консольках, чтобы собрать какой-нибудь бинарник. Когда этот бинарник можно просто взять и выложить куда-нибудь. Или даже просто нагуглить и дать ссылку:

files.transmissionzero.co.uk/software/development/GLUT/freeglut-MSVC.zip
Угу, загадочна. А потом некоторые качают бинарники «откуда-нибудь» и удивляются, почему это система начала вести себя так загадочно, рассылает какие-то письма миллионами, показывает порнобаннеры и время от времени требует послать смс для входа в нее…
UFO just landed and posted this here
Спасибо за статью. Очень хотелось бы посмотреть на программирование OpenGL без fixed functions, с шейдерами (с рантайм-компиляцией, текстурами, сменой шейдерной программы в процессе отрисовки).
Благодарю!

Если можете — напишите еще статей на эту тему. Очень полезно и нужно.

Я как-то пробовал заставить OpenGL работать с Haskell, чтобы запустить Frag, — но там еще целая куча нюансов возникла…
В моём случае (ArchLinux) всё было проще. Для установки зависимостей я использовал cabal:
$ cabal install GLUT

В винде (Win XP x86 in VirtualBox) поставил Haskell Platform 2011.2.0.1 и так же GLUT через cabal. glut32.dll, впрочем, пришлось скачать по первый ссылке в гугле — в поставке винды не оказалось.

Однако у меня есть вопрос. Когда дело доходит до анимации, как вы контролируете FPS? В линуксе у меня фигуры двигаются по кругу с нормальной скоростью, а в винде как бешеные скачут. В линуксе в настройках nvidia есть флажочек для ограничения VSync, но это костыль, а не решение проблемы. Для винды есть расширение wgl_ext_swap_control, но на практике оно не везде работало.

Пробовал на этом: bitbucket.org/balta2ar/learnopengl
Черт, о cabal я забыл совершенно. Добавлю в статью. Насчет glut32.dll — у меня по первой попавшейся ссылке не заработал. Может потому что винда 64-бинтная. Думаю, собрать самому не сильно сложно.
К своему стыду, на данный момент забросил HOpenGL, не дойдя до анимации :) Это мой первый опыт с OpenGL вообще, графику до этого выводил только в 2D и не библиотеками такого уровня, многие концепции непривычны, поэтому отложил изучение до того, как будет больше времени (надеюсь, в августе).
Но надеюсь, эта статья сподвигла кого-то на изучение HOpenGL.
На 64битной windows 32ух битные библиотеки надо бросать в SysWOW64
оффтопик: Подскажите, пожалуйста, как добились подсветки кода?
Sign up to leave a comment.

Articles