OpenGl或者Opengles如何在运行过程中添加新的VAO和VBO,不要引入chatGPT的答案,谢谢。
7条回答 默认 最新
__AtYou__ 2023-02-21 21:04关注GLuint vao, vbo; float vertices[] = { /* 顶点数据 */ }; // 1. 创建新的VAO对象和VBO对象 glGenVertexArrays(1, &vao); glGenBuffers(1, &vbo); // 2. 绑定新的VAO对象和VBO对象 glBindVertexArray(vao); glBindBuffer(GL_ARRAY_BUFFER, vbo); // 3. 将顶点数据复制到新的VBO对象中 glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW); // 4. 指定新的VAO对象的顶点属性指针 glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 3 * sizeof(float), (void*)0); // 5. 启用新的VAO对象的顶点属性 glEnableVertexAttribArray(0); // 清理 glBindBuffer(GL_ARRAY_BUFFER, 0); glBindVertexArray(0);解决 无用评论 打赏 举报