一些关于opengl的记忆
来源:互联网 发布:在哪里下载mac软件 编辑:程序博客网 时间:2024/06/11 06:23
之前在高星的带动下做过一些opengl,后来和他一起做了模型细化之后就没继续下去了。上次徐学鹏回来又聊起了opengl,他说4.0版本变化很大,我还问高星来着,高星说也不是,一次性传递给gpu在4.0以前的版本就可以做了。
Anyway,我不能在这样堕下去了,高星原来都不怎么做软件的,·去美国没几个月就进步这么多,徐学鹏就更别提了,加拿大的开放学习环境和丰富的学习资源完全让他如鱼得水。我再继续原地踏步以后都没脸见他们了。
还好,毕业设计选了android平台信息收集,相比windows,是个新东西了,终于又唤起我学习的兴趣。之前大概熟悉了下android的开发环境,做了几个tutorial,都不是那么得心应手,想了下,还是做图像吧,这个我更感兴趣些。于是就开始在android上写opengl。
android的环境配置就不说了,比较简单,而且我喜欢拿着我的htc实机测试。opengl的配置就更简单了,我用的android 2.3,完全支持opengl,甚至不需要像windows里面配套一个glut.dll,引入两个包就好了:
import android.opengl.GLU;import android.opengl.GLSurfaceView.Renderer;
然后是几个我经常混淆的函数,首先是gl.glViewport(0, 0, w, h);会英语的都知道是设置视口的,但是TM的什么是视口我老是搞忘。记一下,其实就是窗口。
接着是一个常用的流程,先用gl.glMatrixMode()设置欲操作的矩阵。引用红苹果的一段话:
OpenGL里面的操作,很多是基于对矩阵的操作的,比如位移,旋转,缩放,所以,这里其实说的规范一点就是glMatrixMode是用来指定哪一个矩阵是当前矩阵,而它的参数代表要操作的目标,GL_PROJECTION是对投影矩阵操作,GL_MODELVIEW是对模型视景矩阵操作,GL_TEXTURE是对纹理矩阵进行随后的操作。
设置完以后,一般要重置矩阵:gl.glLoadIdentity();
完了以后就可以实施实际的操作,比如,之前是
gl.glMatrixMode(GL10.GL_PROJECTION);
对投影矩阵进行操作的。那么,接下来,可以设置透视:
gl.glLoadIdentity();GLU.gluPerspective(gl, 45.0f, ((float) w) / h, 0.1f, 10f);
如果参数是GL_MODELVIEW,则可以用glulookat()。
另外备注下gluPerspective()的功能,gluPerspective specifies a viewing frustum into the world coordinate system. 其实说的很好,就是个锥台,百科里面有这个图。
最后是glOrtho()。Ortho是正交的意思,我理解就是垂直的分割,而不像gluPerspective()那样的锥形,这个以后实验多了再看。
好吧,opengl的东西先复习这么多。
格式被我搞乱了。。。可是不知道怎么改回来,只能凑合了
- 一些关于opengl的记忆
- 关于Donews的记忆---一些句子
- 关于记忆宫殿的一些思考
- 关于opengl混合的一些道道
- 关于openGL纹理贴图的一些函数
- openGL关于圆柱的一些问题?
- 关于2005年的一些事情的记忆
- 一些关于http请求 的总结(自己记忆)
- 一些零碎的记忆
- 关于时间的记忆
- 关于奥运的记忆
- 关于大便的记忆
- 关于游标的记忆
- 关于钱的记忆
- 关于Activity的记忆
- 关于杭州的记忆
- 关于儿时的记忆
- OpenGL关于转换的一些遐想--------禁止转载
- 公司技术管理角度看C++游戏程序员发展
- 周鸿祎,高司令
- 中国智慧VS西方智慧-看中国IT风云与IT产业怪状
- 程序员应该具备的素质(来自csdn)
- UE编辑器:复制粘贴出错
- 一些关于opengl的记忆
- 程序员-建立你的商业意识 闫辉 著
- Ajax 验证用户名唯一性数据校验
- 强烈推荐给从事IT业的同行们 (转载)
- 键盘各种快捷键
- 程序员的基本素质
- 我的程序生涯
- hdu 1532 最简单的最大流
- 辞职日记----记录31岁的程序员跳槽心态