在旧的已弃用的OpenGL中,我们可以这样做:
glBegin(...);
glColor3f(r_1,g_1,b_1);
glVertex3f(x_1, y_1, z_1);
glVertex3f(x_2, y_2, z_2);
...
glVertex3f(x_n, y_n, z_n);
glColor3f(r_2, g_2, b_2);
glVertex3f(x_(n+1), y_(n+1), z_(n+1));
glVertex3f(x_(n+2), y_(n+2), z_(n+2));
...
glVertex3f(x_2n, y_2n, z_2n);
...
glEnd();
Run Code Online (Sandbox Code Playgroud)
也就是说,我说每个n个连续顶点共享相同的颜色.使用新的和不推荐的OpenGL可以做同样的事吗?
例如,如果我有一个立方体,这意味着我有36个顶点.如果我希望每个面都有1种颜色,那么每个连续的6个顶点必须共享该颜色.目前我已经为每种颜色人工复制了6次颜色数据,因此顶点数组和颜色数组的大小是相同的.还有其他方法吗?希望我的问题很明确.