проверка графического процессора на наличие VBO

Я получил (готовый) объект буфера вершин OpenGL (VBO)
но я не знаю, что это GLuint значение, чтобы представить его в Opencl ..

есть ли проверка в какой-либо библиотеке opengl (например, glew), чтобы дать мне существующие VBO и соответствующие им GLuint, которые в настоящее время находятся в gpu (или что-нибудь подобное … как единственное, что я знаю о входных данных, это количество элементов в массиве и массиве размер)

редактировать:
почему я не знаю GLuint …

это функция в cinema4d opengl api (нужно использовать эту функцию для доступа к cinema4d VBO) .. эта функция (или я бы сказал, много функций класса) автоматически делает что-то вроде этого

allocSubBuffer … with * pBuffer (объектно-ориентированный C ++)
mapBuffer .. возвращает void * pData
затем приведите * pData к вектору * pvData
затем передайте значения массива этому * pvData
тогда unmapbuffer …
после этого есть нечто, называемое pFactory … оно автоматически назначает новый VBO …

3

Решение

но я не знаю, это значение GLuint

Тогда как вы используете VBO из OpenGL? Ты должен glBindBuffer это и в OpenGL. Идентификаторы объектов OpenGL ценны, держите их близко и сохраняйте их в безопасности.

Создание объекта OpenGL без запоминания его имени похоже на выделение некоторой памяти с помощью new или же malloc а затем выбросить указатель: пустая трата памяти.

0

Другие решения

Может быть, glGetIntegerv (GL_ARRAY_BUFFER_BINDING, &buf) сделает все за тебя. То есть Вы заставляете cinema4d каким-либо образом связать буфер, а затем запрашивает идентификатор привязанного буфера.

0

По вопросам рекламы [email protected]