一起学opengl android

一直只是在网上看贴,没有写过,在后续的写代码时发现好多东西其实以前做过,后来弄其他的东西后,回过头来又不会了。

所以现在开始到网上记录自己的学习路径,一来可以和许多人一起研究,又可以把做的一些小东西保存起来,也方便后来去看...,如果有错误希望有看到的人能指出...


1.opengl中的点线面

在android中其实写opengl很简单的,一个activity,一个GLSurfaceView类,一个Renderer类,就可以实现一个简单的opengl demo了,当然,你要写一些复杂的游戏,那就不是这么简单的了


首先我们create一个activity


这个是我的activity,在这里可以看到,我仍然是用的2d中常用的layout的方式来加载L01PointLinesFace-3dview的,这个不是关键,怎么写随你爱好。这个只是将view放到activity里面显示,主要实现就是L01PointLinesFace类,这个类我让器继承于GLSurfaceView并实现了Renderer接口,这样就要实现Renderer中的三个函数onSurfaceChanged,onDrawFrame,onSurfaceCreated,从名字就可以看出这些是干嘛的了,和surfaceview中如出一辙,只是有个onDrawFrame用于绘制实际要显示的东东



openg里面也解释的很清楚,怎么设置投影,怎么设置相机的位置,这里我没有设置,而是用的平移模型矩阵,都差不多。上面那么多其实都只是在走过场,就像你睡觉习惯性的脱衣服一样很平常,当然你脱了也不一定是去睡觉的,做别的事就看你个人爱好了。这个就体现在mTriangle这个类了,这个类里,我只是画了个三角形,线,点,复杂化的就看你自己的表现了。




上面我定义了7个顶点,并赋予了7种颜色



而真正的绘制就在这里了,先启用顶点和颜色数组,,然后设置顶点和颜色,设置线宽等,然后启用glDrawElements绘制。

效果如一起学opengl android


怎么上传工程...


源码下载地址http://download.csdn.net/detail/lishubing1126/3731884

你可能感兴趣的:(android)