WEB开发网
开发学院手机开发Android 开发 Android OpenGL实战 颜色和旋转 阅读

Android OpenGL实战 颜色和旋转

 2010-05-14 16:53:00 来源:WEB开发网   
核心提示:经过OpenGl实战一,已经熟悉了OpenGL开发框架的搭建,Android OpenGL实战 颜色和旋转,到目前为止都是比较简单的,我们已经实现了画出三角形和四边形,但还是有区别的:平滑着色:view plaincopy to clipboardprint?private int one = 0x10000;/***

经过OpenGl实战一,已经熟悉了OpenGL开发框架的搭建,到目前为止都是比较简单的,我们已经实现了画出三角形和四边形,在OpenGl中绘制的任何模型都会被分解为三角形和四边形两种简单的图形,但是只有图形是不生动的,所以在三角形和多边形的基础上我们着色,并加上简单的旋转动作!

一、颜色

平滑着色Smooth coloring

单调着色Flat coloring

两者的区别在于:平滑着色指定每个顶点颜色,平滑过渡,单调着色相当于填充颜色(单色)

使用起来都很简单,但还是有区别的:

平滑着色:

view plaincopy to clipboardprint?

private int one = 0x10000;

/**

* 三角形的顶点颜色值

* 参数:

* 1、红色分量

* 2、绿色分量

* 3、蓝色分量

* 4、alpha值

*/

private IntBuffer colorBuffer=IntBuffer.wrap(new int[]{

one,0,0,one,

0,one,0,one,

0,0,one,one,

});

private

int one = 0x10000;

/**

* 三角形的顶点颜色值

* 参数:

* 1、红色分量

* 2、绿色分量

* 3、蓝色分量

* 4、alpha值

*/

private IntBuffer colorBuffer=IntBuffer.wrap(new int[]{

one,0,0,one,

0,one,0,one,

0,0,one,one,

});

上面是定义顶点颜色,着色前需要开启颜色渲染功能,着色后要关闭颜色渲染功能,具体代码如下:

view plaincopy to clipboardprint?

//开启色彩渲染功能

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);

1 2 3 4 5  下一页

Tags:Android OpenGL 实战

编辑录入:coldstar [复制链接] [打 印]
赞助商链接