c++ - 检查 gpu 是否存在 VBO

标签 c++ opengl gpgpu

我有一个(预制的)Opengl 顶点缓冲对象(VBO)
但我不知道在 opencl 中提交它的 GLuint 值..

是否在任何 opengl 库(如 glew)中进行检查以给我现有的 VBO 及其当前在 gpu 上的相应 GLuint(或任何类似的东西..因为我唯一知道的关于数据输入的是元素的数量数组和数组大小)

编辑: 为什么我不知道 GLuint ...

它是 cinema4d opengl api 中的一个函数(必须使用这个函数来访问 cinema4d VBO)..这个函数(或者我应该说很多类函数)会自动做这样的事情

allocSubBuffer ...with *pBuffer (面向对象的 C++) mapBuffer ..返回 void *pData 然后将此 *pData 转换为 vector *pvData 然后将数组值传递给 *pvData 然后取消映射缓冲区... 在此之后有一个叫做 pFactory 的东西...它会自动分配一个新的 VBO ...

最佳答案

but I don't know it's GLuint value

那么如何使用 OpenGL 中的 VBO?您还必须在 OpenGL 中 glBindBuffer 它。 OpenGL 对象 ID 非常宝贵,请妥善保管并确保它们安全。

创建一个 OpenGL 对象而不记住它的名字就像用 newmalloc 分配一些内存然后扔掉指针:内存的浪费。

关于c++ - 检查 gpu 是否存在 VBO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13509041/

相关文章:

c++ - 将(某种元)函数应用于一系列类型

c++ - 添加增强型视频渲染器流

python - yield 和返回有何不同?

c++ - 我可以将具有 float 的 POD 数组转换为 float* 吗?

c++ - 无法创建/采样 3D 纹理 (Qt/OpenGL)

memory - 如何找出GPU的共享内存和全局内存大小?

c++ - 如何在标准 GUI 应用程序中以 Qt3D 呈现?

opengl - 我怎样才能在OpenGL中进行透视变换?

c++ - 我可以在相同的设备缓冲区上一个接一个地调用 OpenCL 内核吗?

cuda - NVIDIA Fermi 中的二级缓存