我正在尝试使用8个顶点的数组和24(4 *6)个索引的索引数组渲染一个立方体到顶点数组中.但是如何在不使用弃用函数的情况下指定每个变量(如颜色和法线)?为此,我需要一组单独的索引,但是当我指定两个索引数组(GL_ELEMENT_ARRAY_BUFFERs)并将它们指向不同的着色器变量(两次调用glVertexAttribPointer)时出现问题,并且它不会呈现任何内容(但不会t报告任何错误 - 用glGetError检查).我是否必须为每个面使用不同的glDrawElements调用,颜色和法线加载到统一变量中?
为了澄清,当8个顶点中的每一个都是不同面的一部分并且需要不同的颜色和法线值时,就会出现问题.
当使用glDrawElements绘制对象时,是否可以在OpenGL中实现平面着色,如果是这样的话?如果可能的话,理想的方法是仅计算每个三角形的法线一次.
解决方案必须仅使用可编程管道(核心配置文件).