Посоветуйте книгу по OpenGL (2D графика)
| |
Xe[N]o | Дата: Суббота, 07 Января 2012, 02:16 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Здравствуйте. Можете мне посоветовать, хорошую книгу по OpenGL, без glut. Мне нужна именно 2D графика в связке WinAPI + OpenGL. Мне очень нужна ваша помощь! Уже сколько времени, я ищу, и все что я нахожу - либо чертов glut, либо 3D графика... Заранее благодарен.
|
|
| |
Matou | Дата: Суббота, 07 Января 2012, 04:12 | Сообщение # 2 |
Исходный коТ
Сейчас нет на сайте
| Нету такой книги ^,,,^
2Д в ОпенГЛ это же фантастика. Если нужно делать 2д графику то просто рисуешь на плоскости xOy например и выставляешь прямоугольную ортогональную проекцию на эту плоскость. Как соединить OpenGL с WinAPI, а точнее OpenGL с контекстом окна можно посмотреть в уроках Нехе, но еще лучше взять книжку Ричард и Бенджамин "OpenGL Суперкнига" глава 13, там все более менее подробно описано, эту же книжку можно использовать как более менее подробный учебник по OpenGL. Конечно в ней есть проклятущий glut, ну можно на него внимания не обращать если он так уж не нравится.
|
|
| |
Xe[N]o | Дата: Суббота, 07 Января 2012, 14:13 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Серьезно? Просто на сколько я знаю, OpenGL называют 2D\3D библиотекой графики... Это печально. Просто я надеялся на некоторые технологии. Наверно поэтому, я потратил трое суток в поиске информации о том, как нарисовать пиксель... Если это так, то какая есть альтернатива, DirectX?
|
|
| |
FOX | Дата: Суббота, 07 Января 2012, 14:30 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| Quote (Xe|N|o) Если это так, то какая есть альтернатива, DirectX? А DirectX тебе чем не угодил?
|
|
| |
Xe[N]o | Дата: Суббота, 07 Января 2012, 14:39 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Quote А DirectX тебе чем не угодил? У меня личные терки с ним...) Я просто интересуюсь, единственная ли это достойная альтернатива?
|
|
| |
TimKruz | Дата: Суббота, 07 Января 2012, 15:26 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Xe[N]o, в OpenGL можно и с 2D графикой работать. Например, есть функция glVertex3f(x,y,z), которая ставит точку в пространстве, а есть аналогичная функция glVertex2f(x,y), которая ставит такую же точку в 2D-пространстве, точнее, z тут считается нулём, т.е. все построения идут вплотную к дисплею. Есть ещё похожие функции... А вообще-то, любой учебник по графике всегда должен начинаться с 2D, а потом уже, плавно, переходить в 3D. К сожалению, у меня нет книги по С++, т.к. с Delphi работаю. Модуль Glut несёт в себе дополнительные функции по работе с 3D-графикой, например, с его помощью можно всего одной функцией рисовать некоторые примитивы (кубы, цилиндры, торы, чайники). Он подключается отдельно, по желанию. И его описанию посвящают не так много времени... Если ты можешь создать форму на чистом WinAPI (минимальная Windows-программа с окном), то подключить OpenGL легко. Впрочем, это должно описываться в книгах, ещё с самого начала...
Короче, бери любую понравившуюся книгу и изучай до конкретно 3D-графики, и всё, ты сможешь работать с 2D. Ничего особенного, относящегося исключительно к 2D, в OpenGL нет. Всё, что касается 2D, применяется и в 3D...
*** На счёт альтернативы: сейчас основные графические API - это DirectX и OpenGL, остальные либо умерли, либо умирают из-за непопулярности. OpenGL, в принципе, на одном уровне с DirectX, но он как-то проще для новичков, чем DirectX...
Сообщение отредактировал TimKruz - Суббота, 07 Января 2012, 15:30 |
|
| |
Xe[N]o | Дата: Суббота, 07 Января 2012, 16:00 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| TimKruz, благодарю. Не знаю почему, но стало сразу легче. Эх, осталось лишь понять, как при помощи этого самого OpenGL, структурировать карты, и можно смело в бой. То есть в начало работы.)
|
|
| |
Matou | Дата: Суббота, 07 Января 2012, 18:23 | Сообщение # 8 |
Исходный коТ
Сейчас нет на сайте
| Quote (Xe|N|o) Модуль Glut несёт в себе дополнительные функции по работе с 3D-графикой, например, с его помощью можно всего одной функцией рисовать некоторые примитивы (кубы, цилиндры, торы, чайники). Ты уже при мне второй раз херню про глут пишешь, в ней конечно чайники есть, но это далеко не на первом месте, ты бы хотябы педевикию прочитал перед тем как новичкам голову морочить.
|
|
| |
TimKruz | Дата: Суббота, 07 Января 2012, 18:28 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| Matou, ладно... Извиняюсь, конечно, но что может нести в себе модуль кроме дополнительных функций и структур данных? Quote (Matou) чайники есть, но это далеко не на первом месте А я разве писал, что это на первом месте и самое главное? *** Quote OpenGL Utility Toolkit (GLUT) - библиотека утилит для приложений под OpenGL, которая в основном отвечает за системный уровень операций ввода-вывода при работе с операционной системой. Из функций можно привести следующие: создание окна, управление окном, мониторинг за вводом с клавиатуры и событий мыши. Она также включает функции для рисования ряда геометрических примитивов: куб, сфера, чайник. GLUT даже включает возможность создания несложных всплывающих меню. *** Ну да, немного не то написал... Но желающие всегда могут прочитать правильное описание на той же Википедии...
Сообщение отредактировал TimKruz - Суббота, 07 Января 2012, 18:33 |
|
| |
noTformaT | Дата: Суббота, 07 Января 2012, 18:43 | Сообщение # 10 |
Ukrainian independent game developer
Сейчас нет на сайте
| кубы, цилиндры, торы, чайники - это есть и в glu... В утилитной либе glu есть всякие примитивы, и куча всяких функций которые по сути являются надстройкой над ОГЛ....
либа glut - направлена в более другое русло, хотя там тоже есть несколько примитивов... но используется она не для этого. Всякие там события мыши, окон и т.д.
Есть еще glaux, но мне чет кажется что эта либа уже давно не используется... хотя хз, но я ее давненько не видел
Что касается поста.. я сам в свое время, когда изучал ОГЛ, искал книги по 2д и огл, и понял что нифига толком не найду... Все что я находил - какие-то английские статьи в которых обсуждалось все то что посоветовали выше...
Мне кажется оптимальным решением будет использование 2д движка, а то на чистом огл далеко не уедешь, вернее уедешь, но ехать будешь очень при очень долго...
@noTformaT
|
|
| |
Matou | Дата: Суббота, 07 Января 2012, 18:54 | Сообщение # 11 |
Исходный коТ
Сейчас нет на сайте
| Quote (noTformaT) Есть еще glaux, но мне чет кажется что эта либа уже давно не используется... хотя хз, но я ее давненько не видел Года 3-4 назад о ней уже говорили как о неподдерживаемой либе которую уже никто не использует.
|
|
| |
Vinchensoo | Дата: Суббота, 07 Января 2012, 19:16 | Сообщение # 12 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| С winapi связывать руками. Мне нравится красная книга: если ничего не знаешь об Огл, самое оно, для полных новичков.
Никогда не видел книг по чистому 2d, всегда подразумевается, что мы берем проекцию на плоскость oxy(т.е. рисуем в трехмерной координате с z=0, так точнее)
|
|
| |
Xe[N]o | Дата: Воскресенье, 08 Января 2012, 02:51 | Сообщение # 13 |
частый гость
Сейчас нет на сайте
| Спасибо всем огромное. Нашел себе Красную Книгу, начал читать.) У меня вопрос, не много не по теме... Если мне к примеру, взять все куски (тайлы) и фрагменты (спрайты) как действительно, 2D, а вот к примеру плоскость земли, сделать как 3D объект. Суть в том, что если наложить на землю бамб (знаю, устарел, но мне он ближе ибо я понимаю его суть, в отличии от неш мапинга), сверху поставить динамическое освещение, в теории, можно получить очень качественные эффекты освещения... Это же возможно? Или к примеру, теже куски взять в 3D, с бампом, оставив только фрагменты в виде 2D графики, опять же с динамическим освещением?Добавлено (08.01.2012, 02:51) --------------------------------------------- Начав учить OpenGL, понял что нес ересь... Действительно, все это полностью 3д графика, просто рисуется на одной плоскости. Единственный вопрос для меня, это как рисовать 1 пиксель. Но ответ на него, я думаю найду дальше в изучении OpenGL. Благодарю всех за помощь.
|
|
| |
|