vao如何知道哪些vbo/ibo被绑定到它?
How does a vao know which vbo's/ ibo's are being bound to it?
在做了一些基本测试后,有几件事我还不清楚:
-
在初始化应用程序时,绑定vao、vbo和ibo的顺序是否重要?从我看到的大多数教程中,你先生成vao,然后生成vbo,然后再生成ibo,但在其他教程中,他们改变了顺序,似乎可以工作。。。
-
vao如何知道与之绑定的是什么?当对活动的vao对象调用glBindBuffer时,您是否调用了一些特殊的函数(在后台)?
我不仅问它们是如何工作的,还问它们为什么工作,我试着阅读了一些openGL规范,但对于一个新手openGL程序员来说,这太令人困惑了。
Opengl是一个状态macine:当您调用glBindVertexArray时,它会"告诉"Opengl是这个vao处于活动状态,因此,vbo将绑定到这个vao。然后,您必须使用另一个vao索引调用glBindVertexArray来更改活动的vao,然后将另一个vbo绑定到它。
相关文章:
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 在基于范围的for循环中使用结构化绑定声明
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 视觉studo 2019中的漫画和静态/动态绑定
- 将自由函数绑定为类成员函数
- 将常量指针引用绑定到非常量指针
- 在派生类中绑定非静态模板化成员函数
- 绑定派生类方法C++从实例范围之外的分隔 std::function 变量调用
- 在 openGL 中多次绑定缓冲区
- 定义有趣的宏和正则表达式在Z3 C++绑定
- 使用结构化绑定'Reflection'
- 为什么 std::绑定错误参数可以成功?
- 如何绑定 C++ gRPC 客户端的网络接口
- 在 openmp 中,omp_get_thread_num是否绑定到物理线程?
- C++绑定(已弃用)
- vao如何知道哪些vbo/ibo被绑定到它?
- 如何在OpenGL中从一个VBO绑定多个ibo
- 当使用IBO/EBO时,只有当我在创建VAO之后调用glBindBuffer来绑定IBO/EB0时,程序才能工作