由于本人在学习过程中发现一大堆的gl...gl..gl的所以决定总结下关于Opengl的函数(核心库gl)的理解

以下都在onSurfaceCreated()方法里执行,其实就是初始化

//清除屏幕色

gl.glClearColor(0,0,0,1);

//清楚缓存~即缓冲区,

gl.ClearDepthf(1f);

//启动GL的某某某功能,由int cap参数决定,这里是启动深度测试,根据坐标的远近自动隐藏被遮住的图形(材料)

gl.glEnable(GL10.GL_DEPTH_TEST)

//这里告诉OpenGL我们希望进行最好的透视修正。这会十分轻微的影响性能。但使得透视图看起来好一点.

gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT,GL10.GL_NICEST);

//启用smooth shading(阴影平滑).阴影平滑通过多边形精细的混合色彩,并对外部光进行平滑

gl.glShadeModel(GL10.GL_SMOOTH);

// 关闭服务器端GL功能,在GL中很多都是一对一对的,比如这个的另一个gl.glEnable(...).

gl.glDisable(GL10.GL_DITHER);

接着在onSurfaceChanged()方法里执行的是:

//设置可见区域

gl.glViewport(int x,int y,int width,int height)

gl.glMatrixMode();//有三种旋转~其实就是告诉Opengl 你要对xxx做操作啦(投影、模型、纹理)

gl.glLoadIdentity();//重设视图,基本每次修改绘制等都需要调用

//GLU 、OpenGL里的使用库

//个人理解 这个就是调整视角用的~~~,

//fovy Y方向的视角 aspect X方向.

GLU.gluPerspaective(gl,fovy,aspect,znear,zfar);

gl.glMatrixMode();// = =!关联起来不就是说调整XXX展示的视角了么

最后调用一下

gl.glLoadIdentity();重设视图

最后就是在onDrawFrame里绘制啦

绘制之前 还是要clear~~(感觉真繁琐,不知道去掉有没有影响,留给有缘人测试)

绘制的时候 调用glFrontFace(mode) 默认是CCW剔除某些特殊面片(类似开启某个功能)

与glCullFace()公用(不调用glCullFace的话 glFrontFace就变得没意义了)

重点也是重复都要操作的代码,以下内容纯属个人理解,与官方无关。

//画图的数据都放在数组缓冲区里,最后再一起传过来作画。那么我们首先要告诉 OpenGL,我们需要用到哪些数组。例如我们需要顶点数组和颜色数组(PS:怕自己忘记把注释给搞进来了)

gl.glEnableClienState();启动某一数组,用于绘图的

//以下三个方法都是用于绘制的 Pointer是利用缓冲区的数组进行颜色和顶点坐标的绘制(具体看参数就明白了)

gl.VertexPointer()

gl.glColor4f();

gl.glColorPointer()

//以下两个方法 指的是按照某种规则绘制

gl.flDrawElements();

gl.glDrawArrays()

gl.glDisableClientState();

gl.glDisable();

这两个方法与上文的

gl.glEnableClientState,

glglEnable()

配合使用,相当于一个open,一个close.

上文提到了opengl绘图的时候是由缓冲区传入再作画的,那么配合使用的肯定就包含了建立缓冲区:

//创建缓冲区

//缓冲区的大小用对象占用的字节决定,例如 float是四个字节的 所以建立的缓冲区就是 float变量的长度*4

short 是两个字节的 那就剩余2...

ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length*4);

vbb.order(ByteOrder.nativeOrder());

verticesBuffer = vbb.asFloatBuffer();

verticesBuffer.put(vertices);

verticesBuffer.position(0);

OK!总结暂时到此结束。

最后的最后,分享一份所谓的opengl 的API 中文的~~从网上下载的,自己看的也不多,不知道对不对 ~

链接:http://pan.baidu.com/s/1qXRDKXe 密码:qndo

android gl修改工具,Android OpenGL学习笔记五 gl的一些方法相关推荐

  1. 【OpenGL学习笔记五】 索引缓冲对象EBO

    在绘制一些图形的时候比如正方体,正方体的顶点是有很多重合的,如果为每个顶点都分配内存那么就比较浪费内存了. OpenGL通过索引缓冲对象来解决这个问题,做到重复的顶点只需要分配一次内存,再绘图的时候后 ...

  2. JAVA学习笔记五---函数

    JAVA学习笔记五---函数 5.1 方法的学习 编写一个程序,求圆的周长和面积. package practice; /*** 编写一个程序,求圆的周长和面积.* @author iszhangyo ...

  3. Android Gradle 构建工具(Android Gradle Build Tools)是什么?

    转载地址:http://mrfu.me/android/2015/07/17/New_Android_Gradle_Build_Tools/ 译者地址:[翻]一览新的 Android Gradle 构 ...

  4. OpenGL学习笔记(一):环境搭建、三维空间坐标系理解以及OpenGL的基本使用

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7866 ...

  5. OpenGL学习笔记(一)绘制点线面及多面体

    OpenGL学习笔记(一)绘制点线面及多面体 绘制点线面 #include <iostream> #include <GL/GLUT.h> #define PI 3.14159 ...

  6. 【OpenGL学习笔记⑥】——3D变换【旋转的正方体 实现地月系统 旋转+平移+缩放】

    ✈️ 文章目录 零. 成果预览图 一.3D立方体的顶点数组 二.纹理旋转 三.纹理缩放 四.画n个3D图形 五.轨道的数学公式 六.深度缓冲(Z 缓冲) 七.完整代码 八.参考附录: 神器的正方体 ☁ ...

  7. OpenGL学习笔记(八):进一步理解VAO、VBO和SHADER,并使用VAO、VBO和SHADER绘制一个三角形

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7888 ...

  8. OpenGL学习笔记(十三):将纹理贴图应用到四边形上,对VAO/VBO/EBO/纹理/着色器的使用方式进行总结

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7919 ...

  9. OpenGL学习笔记:矩阵变换

    文章目录 缩放 glm矩阵表示 glm缩放矩阵实现 位移 齐次坐标 glm位移矩阵实现 旋转 沿x轴旋转 沿y轴旋转 沿z轴旋转 沿任意轴旋转 glm旋转矩阵实现 矩阵的组合 glm矩阵组合使用 接上 ...

最新文章

  1. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序
  2. 【随机过程】随机过程之泊松过程的推广
  3. 软件设计原则(一)开闭原则(Open-Closed Principle, OCP)
  4. UVA10236 斐波那契素数
  5. (NO.00003)iOS游戏简单的机器人投射游戏成形记(一)
  6. Photoshop cs6中kuler和mini bridge打开是空白的解决方法
  7. 一个完整的使用的例子,和可下代码
  8. java中list里面存放map,根据map中的某一个字段进行排序
  9. 使用 DpaToolkit 对 C#类库进行反向建模
  10. 【Spring框架学习】:初识Spring框架
  11. Blender建模练习:人物模型多边形建模流程图解(二形体调整篇)
  12. 新产品开发中TR1,TR2,TR3..具体指什么?
  13. 学校创客教育实施方案
  14. 智学网显示服务器开小差了,怎样才能进入智学网,检视孩子的学习成绩?
  15. 如何解决独立站多渠道客户沟通难题?这款跨境电商插件一定要知道!
  16. 电力电子技术(16)——直流斩波电路
  17. 牛客网数据库SQL实战25—— 获取员工其当前的薪水比其manager当前薪水还高的相关信息
  18. NVIDIA显卡,显卡驱动和CUDA版本之间的关系
  19. 萧乾升:3.25黄金白银TD实时最新行情走势分析
  20. 「光驱」先锋 DVD-121SA 吸盘式

热门文章

  1. Python函数参数之*与**用法详解
  2. 【记录CF】Codeforces Round #777 (Div. 2) A~C 题解
  3. 安卓 - jsoup批量下载图片(以每日必应图片示例)
  4. 基于python网络爬虫的个性化音乐播放器
  5. arduinopn532模块_NFC开发板/nfc芯片标签/PN532开发板/RFID读卡器/NFC模块/Arduino
  6. 神级编程网站,堪称程序员的充电站,我给你找好了不能错过
  7. C1认证学习笔记(第四章)
  8. Linux中查看压缩包的内容,linux中肿么查看压缩包中的内容
  9. 计算机用户名密码不知道了怎么改,电脑系统账号administrator设置了密码,密码忘记了怎么办?...
  10. 无服务器计算:云计算的下一阶段