Android OpenGL(一)之基础使用总结

  1. 使用:用GLSurfaceView的setRenderer包含一个Renderer对象,后者需实现onDrawFrame,onSurfaceChanged,onSurfaceCreated。前者实现了android View那套机制,包括了key与touch事件。
  2. 基本元素
      A 顶点,包含X,Y,Z三个浮点数据,通常用java.io的FloatBuffer存放,顶点顺序用ShortBuffer存放。
      B 边
      C 面,可以设置顺时针或逆时针为前面(FrontFace),也可以设置要忽略的是前面还是后面。 
      E 多边形 ,定义顶点渲染顺序indices。 
  3. 渲染,用glDrawArrays与glDrawElements,后者自定义顶点顺序,前者安装buffer默认顺序。
      七中绘制方式:
      1 GL_POINTS 点
      2 GL_LINE_STRIP 连续线段
      3 GL_LINE_LOOP  封闭线段
      4 GL_LINES    独立线段
      5 GL_TRIANGLES 独立三角形
      6 GL_TRIANGLE_STRIP 每三个相邻顶点组成一个三角形,构成多边形
      7 GL_TRIANGLE_FAN  同上,但以第一个顶点为公共点
  4. 3D 坐标变换,以(0,0,0)点为参照。
      平移变换:glTranslatef (float x, float y, float z)
      旋转: glRotatef(float angle, float x, float y, float z),参数为旋转角度与旋转轴(原点到(x,y,z)的直线)。
      缩放:glScalef (float x, float y, float z),
  5. 在栈中缓存与恢复矩阵
      glLoadIdentity():恢复最初无变换矩阵
      glPushMatrix():缓存当前矩阵
      glPopMatrix():从栈中恢复
  6. 颜色
      单色: glColor4f(float red, float green, float blue, float alpha)。0-1.0的浮点数
      平滑颜色过渡:制定每个顶点的颜色,渲染自动平滑。gl.glColorPointer
  7. 纹理textures
      A 创建删除绑定texture:glGenTextures(...),gl.glDeleteTextures(...),gl.glBindTexture(...)。
      B texture需要放大或是缩小时OpenGL的模式:GL10.GL_NEAREST与GL10.GL_LINEAR。
      C 渲染顺序坐标。与顶点顺序一一对应。
      D 设置w,h是否重复:GL_REPEAT与GL_CLAMP_TO_EDGE。 
  8. 总结:首先配置gl系统参数,然后根据顶点,顶点顺序,颜色,纹理,以及平移旋转缩放参数进行渲染。
  9. 参考文献:http://blog.csdn.net/mapdigit/article/details/7526556
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值