我得到了一个(预制的)Opengl顶点缓冲对象(VBO)
但我不知道在opencl中提交它是GLuint
值。
是否有任何opengl库(如glew)检查给我现有的VBO及其当前在gpu上的相应GLuint(或类似的东西......我只知道数据输入是元素的数量数组和数组大小)
编辑: 为什么我不知道GLuint ...
它是cinema4d opengl api中的一个函数(必须使用这个函数来访问cinema4d VBO)..这个函数(或者我应该说很多类函数)会自动做这样的事情
allocSubBuffer ... with * pBuffer(面向对象的C ++) mapBuffer ..returns void * pData 然后将此* pData转换为向量* pvData 然后将数组值传递给* pvData 然后unmapbuffer ... 在此之后有一个叫做pFactory的东西......它会自动分配一个新的VBO ...
答案 0 :(得分:0)
但我不知道它的GLuint值
那你如何使用OpenGL的VBO?你也必须在OpenGL中glBindBuffer
。 OpenGL对象ID很珍贵,保持密切,并保证它们的安全。
创建OpenGL对象而不记住其名称就像分配一些内存new
或malloc
然后丢弃指针:浪费内存。
答案 1 :(得分:0)
也许glGetIntegerv(GL_ARRAY_BUFFER_BINDING,& buf)会为你做的伎俩。即你强制某种方式cinema4d绑定缓冲区,然后查询当前绑定的缓冲区ID。