вторник, 21 февраля 2012 г.

Основы VBO в OpenGL. Часть вторая, добавляем атрибуты.


  1. Часть первая, первый квадрат
  2. Часть вторая, добавляем атрибуты
  3. Часть третья, индексный буфер
  4. Часть четвертая, динамика
  5. Часть пятая, дополнительные возможности
  6. Часть шестая, VAO
  7. Ссылки по теме
В прошлом уроке мы с вами научились рисовать простейший примитив с использованием технологии VBO, сейчас самое время добавить к нашему квадрату немного цвета, делается это через присоединение к VBO еще одного вершинного атрибута, содержащего цвет каждой из вершин.

Основы VBO в OpenGL. Часть первая, первый квадрат


  1. Часть первая, первый квадрат
  2. Часть вторая, добавляем атрибуты
  3. Часть третья, индексный буфер
  4. Часть четвертая, динамика
  5. Часть пятая, дополнительные возможности
  6. Часть шестая, VAO
  7. Ссылки по теме
Я уже многократно упоминал о VBO, которое даже входит в название моего движка, потому я решил здесь опубликовать свою старую ознакомительную статью об этом самом VBO.

VBO (Vertex Buffer Objects) – технология, позволяющая хранить координаты вершин совместно с их атрибутами в видеопамяти.
В отличии от использования блока glBegin/glEnd, при котором на каждом кадре вся геометрия передается GPU по очень медленной шине PCIEx, при использовании VBO все геометрия загружается в видеопамять только один раз, на этапе инициализации, после чего мы просто ссылаемся на эти данные. Это во-первых позволят существенно разгрузить шину для более важных задач, во-вторых - это приводит к существенному повышению производительности, так как GPU может незамедлительно приступать к рендерингу, не дожидаясь пока будут получены данные от CPU. Ну и пропускная способность видеопамяти в десятки раз выше пропускной способности PCIEx (4Гб/сек против 148Гб/сек), благодаря чему все операции копирования в видеопамяти происходят существенно быстрее чем при загрузке данных со стороны CPU. Используя приведенные выше особенности можно существенно повысить как производительность так и гибкость рендера, но обо всем по-порядку.

понедельник, 20 февраля 2012 г.

Загрузчик Jpeg от Synopse

Как обычно бывает, искал одно а нашел то, что уже второй год ищу))
Вообщем давно пытался найти адекватный загрузчик Jpeg, так как делфийский сильно тормознутый, а сценовский, выдранный из библиотеки GraphicEx, требует за собой таскать кучу объектных файлов.

четверг, 16 февраля 2012 г.

Небольшие изменения в навигации по блогу


По неизвестным мне причинам блог периодически напрочь отказывается открывать главную страницу (и только главную). Отсутствие службы поддержки не позволяет оперативно решить эту проблему, общение в группе blogger'а так же не дало никаких результатов. Как следствие - предлагаю входить на блог "через окно", в виде альтернативной ссылки на опубликованный список статей: http://vbomesh.blogspot.com/p/blog-page_26.html

Опубликованные статьи были сгруппированы по тематике и ссылки на эти группы так же были вынесены в "боковые страницы" для упрощения доступа. Группы статей со временем будут пополняться новым материалом, так что это в дальнейшем упростит навигацию и позволит вести обсуждение всего цикла статей.

пятница, 10 февраля 2012 г.

Рисуем GUI. Часть вторая, с миру по нитке - нищему на GUI.

В предыдущих статьях мы с вами рассмотрели разные аспекты создания GUI, определились с проблемами и рассмотрели возможные пути их решения, теперь самое время собрать это все в "рубаху".

четверг, 9 февраля 2012 г.

Рисуем GUI. Часть первая, немного тестов.

В предыдущих статьях я уже рассказывал о проблемах связанных с выводом низкополигональных объектов, таких как текст, спрайты или элементы GUI. В этой статье я предложу одно интересное решение данной проблемы, позволяющее обойти эти проблемы, сведя рисование самого сложного GUI до одной команды рисования.

вторник, 17 января 2012 г.

Сколько стоит полигон.

Закончились новогодние праздники, теперь время нагонять упущенное, потому в этот раз мы поговорим о производительности, но не нашей а рендера :)

В предыдущих статьях я уже несколько раз упоминал о проблеме вывода низкополигональных объектов, молв дешевле вывести один раз тысячу полигонов чем десять раз по десять. Так как следующая статья запланирована по GUI, которое как раз таки является примером низкополигональной геометрии, то самое время провести тесты и разобраться сколько же стоит вывод одного полигона.