除了数组之外,glBufferData()还可以接受哪些容器类型
What container types glBufferData() can accept besides an array?
我有一个关于OpenGL glBufferData()方法的问题。我可以用std::vector、std::list等结构传递顶点数据吗?或者它必须是一个经典的([])数字数组?
您必须将一个经典数组传递给glBufferData()(OpenGL API在C中定义)。但是,您可以使用std::vector<>通过使用&v[0]
将其转换为数组(另请参阅在C++std::vector和C数组之间转换而不复制)。
它基本上需要一个数组。您应该能够使用std::vector
,因为它需要连续存储。包括std::list
在内的大多数其他方法都不起作用。对于std::list
,它需要被编写为跟随指针,并且对内部有足够的了解才能找到指针——但这可能在不同的实现中有所不同,甚至可能通过在同一实现中传递不同的标志而改变。
相关文章:
- 我还可以添加什么来按空格或空格正确拆分C++字符串?
- 如何检查模板类型是否可以从给定类型构造
- CMake:什么是可能的目标源类型?它们可以扩展吗
- 在显式实例化期间,不完整的类型何时可以?
- 函数参数的类型是否可以推导?
- 如何测试指针类型是否可以安全地转换为另一种指针类型?
- C :可以从类及其受保护的成员类型继承可以继承吗?
- Android Studio 3 C 文件中充满了错误,但汇编还可以
- 各种 OpenCL 样板类型是否可以安全复制
- 首先我已经成功安装了 caffe,但是当我运行一个 caffe 项目时,cmake 还可以,后来会发出很多错误
- 函数类型定义可以与外部"C"相关联吗?
- POD 类型是否可以具有显式声明的默认移动分配运算符
- 除了集合之外,模板还可以用于什么
- 如何使用函数的参数类型编写可以推断类型的模板?
- 哪个虚拟指针值还可以
- 引用对象的动态类型何时可以更改
- 使用SFINAE检查类型是否可以绑定到模板模板参数
- 类型是否可以具有除'n-byte alignment'以外的对齐要求
- 检查类型是否可以作为 boost::lexical_cast <string>的参数
- 除了数组之外,glBufferData()还可以接受哪些容器类型