[关闭]
@3013216027 2017-06-02T23:50:22.000000Z 字数 1884 阅读 1245

顶点着色器和纹理生成顺序

opengl


顶点着色器处理顺序

  1. GLuint VBO, containerVAO;
  2. glGenVertexArrays(1, &containerVAO);
  3. glGenBuffers(1, &VBO);
  4. glBindBuffer(GL_ARRAY_BUFFER, VBO);
  5. glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
  6. glBindVertexArray(containerVAO);
  7. glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)0);
  8. glEnableVertexAttribArray(0);
  9. glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(3 * sizeof(GLfloat)));
  10. glEnableVertexAttribArray(1);
  11. glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, 8 * sizeof(GLfloat), (GLvoid*)(6 * sizeof(GLfloat)));
  12. glEnableVertexAttribArray(2);
  13. glBindVertexArray(0);

贴图顺序

  1. image = SOIL_load_image("container.png", &width, &height, 0, SOIL_LOAD_RGB);
  2. glBindTexture(GL_TEXTURE_2D, diffuseMap);
  3. glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, image);
  4. glGenerateMipmap(GL_TEXTURE_2D);
  5. SOIL_free_image_data(image);
  6. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
  7. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
  8. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
  9. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST_MIPMAP_NEAREST);
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注