在上一篇已经了解三角形的绘制,本篇了解一下正方形的键位控制,经过上一篇的铺垫,那么正方形的绘制就变的很简单了,首先看一下效果:
效果展示如下:
具体流程如下:
主要实现部分:
- 绘制正方形
- 特殊键移动控制
绘制正方形
其实正方形绘制,只需在三角形绘制的基础上做少许修改,便可。
具体修改如下:
- 定义顶点到中心点的距离,则 边长 = 2 * blockSize
//blockSize 边长
GLfloat blockSize = 0.1f;
- 修改顶点数组
//正方形的4个点坐标
GLfloat vVerts[] = {
-blockSize,-blockSize,0.0f,
blockSize,-blockSize,0.0f,
blockSize,blockSize,0.0f,
-blockSize,blockSize,0.0f
};
- 修改图元连接方式
在setupRC函数
中,修改批次类的图元连接方式
//修改为GL_TRIANGLE_FAN ,4个顶点
triangleBatch.Begin(GL_TRIANGLE_FAN, 4);
特殊键移动控制
特殊键位移动控制,主要是指上下左右方向键控制正方形的移动,实现方式可以有下面两种:
-
坐标更新
适用于顶点较少的图形,对每一个顶点一一更新