Android OpenGL(一)之基础使用总结
2013-05-09 14:43
465 查看
使用:用GLSurfaceView的setRenderer包含一个Renderer对象,后者需实现onDrawFrame,onSurfaceChanged,onSurfaceCreated。前者实现了android View那套机制,包括了key与touch事件。
基本元素
A 顶点,包含X,Y,Z三个浮点数据,通常用java.io的FloatBuffer存放,顶点顺序用ShortBuffer存放。
B 边
C 面,可以设置顺时针或逆时针为前面(FrontFace),也可以设置要忽略的是前面还是后面。
E 多边形 ,定义顶点渲染顺序indices。
渲染,用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 同上,但以第一个顶点为公共点
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),
在栈中缓存与恢复矩阵
glLoadIdentity():恢复最初无变换矩阵
glPushMatrix():缓存当前矩阵
glPopMatrix():从栈中恢复
颜色
单色: glColor4f(float red, float green, float blue, float alpha)。0-1.0的浮点数
平滑颜色过渡:制定每个顶点的颜色,渲染自动平滑。gl.glColorPointer
纹理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。
总结:首先配置gl系统参数,然后根据顶点,顶点顺序,颜色,纹理,以及平移旋转缩放参数进行渲染。
参考文献:/article/1400894.html
基本元素
A 顶点,包含X,Y,Z三个浮点数据,通常用java.io的FloatBuffer存放,顶点顺序用ShortBuffer存放。
B 边
C 面,可以设置顺时针或逆时针为前面(FrontFace),也可以设置要忽略的是前面还是后面。
E 多边形 ,定义顶点渲染顺序indices。
渲染,用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 同上,但以第一个顶点为公共点
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),
在栈中缓存与恢复矩阵
glLoadIdentity():恢复最初无变换矩阵
glPushMatrix():缓存当前矩阵
glPopMatrix():从栈中恢复
颜色
单色: glColor4f(float red, float green, float blue, float alpha)。0-1.0的浮点数
平滑颜色过渡:制定每个顶点的颜色,渲染自动平滑。gl.glColorPointer
纹理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。
总结:首先配置gl系统参数,然后根据顶点,顶点顺序,颜色,纹理,以及平移旋转缩放参数进行渲染。
参考文献:/article/1400894.html
相关文章推荐
- 在android使用OPENGL总结
- Android基础总结八:单选框RadioGroup,RadioButton的使用
- 总结-Android基础篇1-shape的使用
- Android基础总结七:SeekBar的使用
- Android基础总结十三:JSON的使用
- android基础知识点总结:Android部分基础控件使用总结(111页word下载)
- 【Android 基础】 ListView 开发使用总结
- Android基础 Android AsyncTask使用注意事项以及总结
- android中webView使用总结---飞速浏览器实现基础.
- 源码一:Android部分基础控件使用总结
- Android基础总结五:ImageSwitcher的使用
- Android基础总结十二:RecyclerView简单使用
- Android基础总结八:Fragment的使用
- android linux 基础知识总结
- 909422229__Android UI基础之二【本人总结,适用于新手】
- Android基础(四) ListView的使用
- Android零基础入门第45节:GridView简单使用
- Android基础知识:多线程下载和xUtils的使用
- android中handler的一些总结以及使用(二)之handle使用时用到的几个主要方法介绍
- androidの常用基础应用知识总结