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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Передача структур данных в вычислительные шейдеры  (Прочитано 2788 раз)
Crazy Sage
Гость
« : Январь 16, 2017, 13:16 »

Доброго дня.
Не могу разобраться, как с помощью Qt передать в вычислительный OpenGL шейдер данные, которые являются не вектором объектов стандартного типа, а вектором структур.

Например в шейдере у меня есть вот такие входные данные

Код:
struct Face{
vec4 v0;
vec4 v1;
vec4 v2;
vec4 n;
int shine;
};

layout(std430, binding=1) buffer faces{
    Face f[];
};

В openFramework я просто выделял буфер на основе вектора из аналогичных структур, а потом bind-ил его к шейдеру с указанием номера binding'а
В Qt конечно есть QOpenGLBuffer, но не могу понять ни как его выделить на базе вектора структур, ни как привязать его к шейдеру. Может кто-нибудь объяснить?

И как делать dispatch вычислительного шейдера? Сугубо через QOpenGLFunctions_4_3_Core или есть какая-то Qt обёртка?
« Последнее редактирование: Январь 16, 2017, 13:25 от Crazy Sage » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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