Android OpenGL实战 颜色和旋转
2010-05-14 16:53:00 来源:WEB开发网//开
启色彩渲染功能
gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
//设置三角形颜色
gl.glColorPointer(4, GL10.GL_FIXED, 0, colorBuffer);
/**
* 绘制顶点
* 参数:
* 1、绘制的模式----我们使用GL_TRIANGLES来表示绘制三角形
* 2、开始位置
* 3、要绘制的顶点计数
*/
gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);
//关闭色彩渲染功能
gl.glDisableClientState(GL10.GL_COLOR_ARRAY);
这里要注意绘制的操作一定要放到设置颜色的后面,否则没效果
单调着色:
这个比较简单,不需要开启和关闭渲染功能
view plaincopy to clipboardprint?
//设置四边形颜色-单调着色
gl.glColor4f(0.5f, 0.5f, 1.0f, 1.0f);
//
设置四边形颜色-单调着色
gl.glColor4f(0.5f, 0.5f, 1.0f, 1.0f);
参数和平滑着色一样
二、旋转
旋转也很简单,首先定义旋转角度的float变量
private float rotateTri;
然后调用旋转的方法:
view plaincopy to clipboardprint?
/**
* 旋转三角形
* 参数:
* 1、旋转角度
* 234是x、y、z共同决定旋转轴方向的参数
* 例如:1,0,0 表示经过x坐标的一个单位向右旋转
* -1,0,0 表示.................向左旋转
*/
gl.glRotatef(rotateTri, 0.0f, 1.0f, 0.0f);
/**
* 旋转三角形
* 参数:
* 1、旋转角度
* 234是x、y、z共同决定旋转轴方向的参数
* 例如:1,0,0 表示经过x坐标的一个单位向右旋转
* -1,0,0 表示.................向左旋转
*/
gl.glRotatef(rotateTri, 0.0f, 1.0f, 0.0f);
就这一行,就可以旋转了,还是比较好理解的,为了让物体能够不停的旋转,可以在onDrawFrame方法中改变角度常量rotateTri+=0.5f;
简单的着色和旋转就实现了,下面我贴出全部代码,共同学习!
view plaincopy to clipboardprint?
更多精彩
赞助商链接