OpenGL ES 入门:顶点颜色与纹理映射
1. 指定每个顶点的颜色
在之前的示例中,我们通过 glColor4f() 为所有绘制的顶点设置了全局默认颜色。但有时我们需要更精细的控制,比如为每个顶点设置不同的颜色。OpenGL ES 提供了这样的功能,使用起来也很简单。
1.1 添加颜色到每个顶点
我们需要为每个顶点添加 RGBA 浮点分量,并告诉 OpenGL ES 在哪里可以找到每个顶点的颜色,这与告诉它在哪里找到每个顶点的位置类似。以下是具体步骤:
1. 计算每个顶点所需的字节数:
java int VERTEX_SIZE = (2 + 4) * 4;
这里每个顶点有 2 个坐标和 4 个(RGBA)颜色分量,共 6 个浮点数,每个浮点数占 4 个字节,所以一个顶点使用 24 个字节。
2. 分配 ByteBuffer 并存储顶点数据:
java ByteBuffer byteBuffer = ByteBuffer.allocateDirect(3 * VERTEX_SIZE); byteBuffer.order(ByteOrder.nativeOrder()); FloatBuffer vertices = byteBuffer.asFloatBuffer(); vertices.put( new float[] { 0.0f, 0.0f, 1, 0, 0, 1, 319.0f, 0.0f, 0, 1, 0, 1, 160.0f, 479.0f, 0, 0, 1, 1 }); vertices.flip(); </
超级会员免费看
订阅专栏 解锁全文
1585

被折叠的 条评论
为什么被折叠?



