Russian Qt Forum
Ноябрь 23, 2024, 22:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [решено] VBO + OpenGL + Qt (как подключить VBO?)  (Прочитано 5991 раз)
Torvald
Самовар
**
Offline Offline

Сообщений: 119


Просмотр профиля
« : Март 11, 2012, 14:41 »

Qt 4.7.4, не пойму как подключить VBO? Есть ли он в стандартной библиотеке Qt? Где то видел, что нужно подключать библиотеки
Код:
#include <GL/glext.h>
#include <GL/glxext.h>
но толку от них никакого. Пишу под линь и вин, использую QGLWidget
« Последнее редактирование: Апрель 06, 2012, 08:11 от Torvald » Записан
mitrich
Гость
« Ответ #1 : Март 11, 2012, 15:48 »

Для использования VBO необходимо также объявить и инициализировать указатели на необходимые функции. Варианты следующие:

A) Решение проблемы "в лоб" на Win (исключительно для примера):
Код
C++ (Qt)
#include <GL/glext.h>
 
PFNGLBINDBUFFERPROC    glBindBuffer;
PFNGLBUFFERDATAPROC    glBufferData;
PFNGLBUFFERSUBDATAPROC glBufferSubData;
PFNGLDELETEBUFFERSPROC glDeleteBuffers;
PFNGLGENBUFFERSPROC    glGenBuffers;
PFNGLMAPBUFFERPROC     glMapBuffer;
PFNGLUNMAPBUFFERPROC   glUnmapBuffer;
 
//...
 
glBindBuffer    = wglGetProcAddress("glBindBuffer");
glBufferData    = wglGetProcAddress("glBufferData");
glBufferSubData = wglGetProcAddress("glBufferSubData");
glDeleteBuffers = wglGetProcAddress("glDeleteBuffers");
glGenBuffers    = wglGetProcAddress("glGenBuffers");
glMapBuffer     = wglGetProcAddress("glMapBuffer");
glUnmapBuffer   = wglGetProcAddress("glUnmapBuffer");
 

B) Кроссплатформенное и удобное решение - библиотека GLEW. Не надо ничего самому объявлять и инициализировать - просто вызываем glewInit().

C) Qt-only вариант - вместо этих функций используем класс QGLBuffer.
Записан
Torvald
Самовар
**
Offline Offline

Сообщений: 119


Просмотр профиля
« Ответ #2 : Март 11, 2012, 17:28 »

Спасибо, за столь быстрый и развернутый ответ Улыбающийся Я остановился на третьем варианте, но поглядываю на второй.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.075 секунд. Запросов: 23.