Я получил (готовый) объект буфера вершин 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 …
но я не знаю, это значение GLuint
Тогда как вы используете VBO из OpenGL? Ты должен glBindBuffer
это и в OpenGL. Идентификаторы объектов OpenGL ценны, держите их близко и сохраняйте их в безопасности.
Создание объекта OpenGL без запоминания его имени похоже на выделение некоторой памяти с помощью new
или же malloc
а затем выбросить указатель: пустая трата памяти.
Может быть, glGetIntegerv (GL_ARRAY_BUFFER_BINDING, &buf) сделает все за тебя. То есть Вы заставляете cinema4d каким-либо образом связать буфер, а затем запрашивает идентификатор привязанного буфера.