小编Mat*_*tie的帖子

一个 VAO 中包含多个 VBO

你会如何拥有一个用于位置的 VBO、一个用于纹理坐标的 VBO 以及最后一个用于法线的 VBO 的示例?目前我只能为一个VAO创建一个VBO,并且我不知道如何使其成为多个VBO

float vertices[] = {
    // Pos  
 0.0f,  0.0f,
 1.0f,  0.0f,
 0.0f,  1.0f,
 0.0f,  1.0f,
 1.0f,  1.0f,
 1.0f,  0.0f
};
float texcords[] = {
    0.0f, 0.0f,
    1.0f, 0.0f,
    0.0f, 1.0f,
    0.0f, 1.0f,
    1.0f, 1.0f,
    1.0f, 0.0f
};

unsigned int VBO;
glGenVertexArrays(1, &VAO);
glGenBuffers(1, &VBO);

glBindVertexArray(VAO);

glBindBuffer(GL_ARRAY_BUFFER, VBO);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);

glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 2 * sizeof(float), (void*)0);
glEnableVertexAttribArray(0);

glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindVertexArray(0);
Run Code Online (Sandbox Code Playgroud)

c++ opengl

3
推荐指数
1
解决办法
2604
查看次数

标签 统计

c++ ×1

opengl ×1