Pull to refresh

Comments 47

Постараюсь написать
Думаю многие будут благодарны.

Начало уже ушло в закладки, ждём продолжения.
Перевод достаточно кривой. Знающим английский лучше читать оригинал.
NeHe конечно вечен, но glBegin/glEnd к сожалению уже deprecated-функционал. Настоятельно рекомендую code.google.com/p/gl33lessons/ для начала.
Спасибо за ссылку. Надо будет почитать.
Не могли бы вы еще литературки подкинуть? Будет чем после сессии заняться.
UFO just landed and posted this here
Возможно. Взял в качестве примера первое, что пришло в голову.
Отличная шпаргалка для начинающих. Спасибо!
Я тоже начинал с glBegin, glEnd, glVertex.
Когда мне понадобилось написать первое OpenGL приложение для Android, я обнаружил, что в OpenGL ES уже нет ни glBegin ни glEnd ни glVertex, оно и к лучшему =)

Так что лучше сразу думать в терминах glDrawArrays, glDrawElements итд.
Но зато в OpenGL ES остался стандартный шейдерный конвейер, если не ошибаюсь.
Статья актуальна для старых версий OpenGL. Уже начиная с версии 1.5 отрисовку геометрии настоятельно рекомендуется реализовывать с использованием вершинных буферов (сегодня актуальна версия 4.1). Про функции фиксированного конвейера обработки изображений (типа glMatrixMode) во времена программируемого конвейера (со времен GeForce 3) говорить тоже не стоит. Если честно, то данный «Hello world» устарел лет так на 7-8.
напишите пожалуйста мануал для современного opengl
К сожалению OpenGL не использую более 3 лет, так как наелся бесконечными багофичами и кривой поддержкой со стороны производителей железа. Молчу про то, что для элементарных действий, к примеру рендер шрифтов, надо привязываться к 10ку других библиотек, на согласование стиля кодирования и написания дополнительных слоев в проекте уходит чрезмерно много времени, как следствие — снижение профита.
Часто встречаю подобные коменты в сторону OpenGL и хочу спросить, ради самообразования, нет ли у вас ссылочки на материалы либо своими словами о том, как эти проблемы обходятся? Исходя из того, что OpenGL кроссплатформенный хотелось бы его поюзать, да и опыт всяких кармаков не даёт покоя, потому если есть какие полезные материалы по теме подводных камней был бы признателен.
Все зависит от решаемой задачи. Если вы не создаете свой движок, то лучше воспользоваться готовыми объектно-ориентированными лейерами, так написание своих библиотек по обработки матриц, векторов и другой математики — это чистый велосипед. Для своего движка (если вы Кармак и у вас много времени или денег) конечно все придется делать все самому.
Но ряд проблем в виде странного поведения OpenGL на недорогом оборудовании (в основном не самых дорогих видеокарт ATI и Intel) с которыми приходилось сталкиваться, вообще не имеют решений, служба поддержки лишь отправляет на скачивание новых драйверов. Особенно это касается шейдерных техник, поведение даже элементарных программ может разница у каждого вендора. Хотя про GLSL — это уже другой разговор )
Про CSG на OpenGL будет? Там какая-то замороченная работа с трафаретом
Я лично про CSG на OpenGL ничего рассказать не могу. Может кто другой поделится знаниями.
Вообще-то, всё это уже больше 10 лет в интернете лежит, гугл в помощь.
извините, но от брюзжаиня удержаться сложно.
формулировка «против часовой стрелки» — абсолютно бессмысленная и беспощадная,
без упоминания нормали или хотябы «видимой стороны».
Этот топик пригодился бы на второй лабе по компьютерной графике, на втором курсе… Вы даже не представляете как бы он пригодился… :)
году эдак в 2000-м…
Зря иронизируете. Нас этому учили в этом году.
Спасибо, именно то, что я искал — просто и наглядно о самых основах.
имхо лучше без glut-а тоже рассказать, не везде он есть, к примеру OpenGL ES )
21 век блин… и синтаксис процедурный…
Я конечно понимаю, что создан он в бородатые годы еще, но это же все-равно печально…
Чем плох процедурный синтаксис? Или Вы под влиянием ООП статей так написали?
Конечно, под влиянием статей — как же приятно соглашаться с большинством. От процедурного синтаксиса у меня начинает расти борода и свитер.

А если серьезно, то, по моим субъективным ощущениям, сочетание плюсового ооп с процедурами гл вызывает подсознательно какой-то дискомфорт, хочется создавать объекты. Любая библиотека должна естественно вписываться в язык.
Это все уже устарело, glBegin() / glEnd() уже не используются в 3ей версии, оно deprecated. Лучше уже сразу изучать современный OpenGL 3 и 4 версий. Неплохой учебник на русском.
UFO just landed and posted this here
Выше уже неоднократно написали о том, что материал не слишком актуален. Если делать крутые приложение с трехмерной графикой, то конечно лучше использовать самые последние версии OpenGL. Но для расширения кругозора думаю и старый OpenGL интересен. Тем более в графике я и сам практически новичок.
Может стоит начинать с основ для новичков? Старый OpenGL для этого как раз лучше всего подходит. А в дальнейшем можно будет рассмореть и современные спецификации и рекомендации к написанию кода. Хабрачитатель от этого получит более легкое понимание материала (от простого к сложному) и параллель развития OpenGL. Не так ли?
Основы это основы компьютерной графики, а не как работать с определённым апи. Мне понравилась «Интерактивная компьютерная графика» Эйнджела, там хоть всё тот же устаревший fixed pipeline но полностью объясняется как он работает. По книге я смог написать простенький софтварный рендер — очень полезный опыт.
Видимо я не совсем корректно выразился. Под основами я имел ввиду основы работы с данным фреймворком.
Я конечно понимаю, что статья рассчитывалась на начинающих, но в ней ничего не сказано про системы координат и матрицу трансформации — самую-самую основу, без понимания которой пытаться что-то рисовать — занятие тупиковое. Попробуйте новичку объяснить, что такое модельно-видовая матрица, и как в OpenGL разграничивать перемещение камеры и перемещение сцены.
Сколько мне не попадалось туториалов для новичков в OpenGL, всегда почему-то они заканчиваются примером бесполезного разноцветного полигона…
А что вам хотелось бы увидеть полезного в туториале для новичков?
Я очень плохо знаком как с OpenGL, так и с DirectX (хотя кое-что простое писал, но больше занимался software mode графикой). Поэтому в туториале для новичков хотелось бы увидеть побольше примеров и теории про текстуры, загрузку объектов из файлов, возможностями для работы с камерой и вообще всё то, что больше приближено к реальности, к тому, что можно увидеть в настоящих играх. Также, очень интересуют возможности использования OpenGL для 2D ренденга, т.е. для реализации «игрового меню» к примеру, или плоских 2D бродилок с 3D эффектами. Вот это очень хотелось бы увидеть :)
То, что вы написали по моему скромному мнению не подходит для стартовой статьи для новичков.
Про текстуры, загрузку моделей из файлов и работу с камерой попробую потом написать.
А вы сделайте статью не для новичков =) Проблема в том и заключается, что уроков, подобных этому, в интернете море, а по озвученным темам очень мало и/или почти нету и/или они устарели. Можно еще вспомнить про более специфические темы, такие как привязка к физическим движкам.
По поводу устаревания: то, что я могу написать тоже будет не слишком актуально, т.к. я работал только со старым OpenGL без всяких шейдеров и прочего.
Sign up to leave a comment.

Articles