![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
В большинстве учебников по OpenGL в качестве того, что должно быть "Hello, world" приводится монстр на 200 строк из 10 функций (который еще и грузит процессор по максимуму). Когда я со всем этим разбирался, главная задача была - максимально упростить программу, чтобы осталась только суть OpenGL без всякой мишуры.
Хочу поделиться своей нароботкой, сдобренной комментариями. Если что-то не понятно и не прокомментировано - скорее всего, это WinAPI, см. здесь. Код:
Особо обращу внимание на glBlendFunc (GL_SRC_ALPHA_SATURATE, GL_ONE); Эта функция задает, как будут накладываться полупрозрачные объекты (в том числе граничные пиксели антиалиасинга). Возможные варианты аргументов можно посмотреть в MSDN. Некоторые константы можно использовать только в первом аргументе, некоторые - только во втором, и не все сочетания еще допустимы (хотя всего сочетаний довольно много). В хелпах показаны несколько вариантов, но мне иногда приходилось методом тыка перебирать разные сочетания. Вариант (GL_SRC_ALPHA_SATURATE, GL_ONE) используется когда стыкуются некоторые полигоны (которые треугольные, я терминологию точно не помню), и на их стыке не должно быть антиалиасинга - иначе будут появляться щели. Последний раз редактировалось ds.Dante; 13.08.2009 в 11:37. |
![]() |
![]() |
#2 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
Учить основы OpenGL советую по книге OpenGL Redbook.
P. S. Если можно, закрепите статью. Комментарий от pproger: для кроссплатформенности используйте либу glaux MaTBeu: почистил флейм Тема закрыта. Если есть конструктивная критика или советы по теме - мне в ЛС, открою. Последний раз редактировалось MaTBeu; 14.08.2009 в 14:52. |
![]() |
![]() |
#3 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
Так вот, на некоторых компьютерах этот код не работает (показывает черный экран). Дело в антиалиасинге. Не знаю, можно ли его использовать на этих компьютерах, но если убрать glEnable (GL_BLEND) и следущие три строки, то все должно заработать.
|
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
совсем тупым новичкам..include | Yo-yo | Помощь студентам | 7 | 12.03.2012 07:27 |
Новичкам: Насчет халявы | MaTBeu | Общие вопросы C/C++ | 0 | 23.12.2008 23:38 |