openGL|学习OpenGL简单总结


最近在学OpenGL,学了大概两星期,多多少少的对OpenGL了解一些,总结总结为日后方便查看,在学习中找到好的资料是非常好的,后面我会把所找的一些好资料,连接附上:
第一次写博客,希望大家多多指教:

1. 概念:
OpenGL:Open GraphicsLibrary(开放的图形处理库),定义了跨平台,跨语言的编程接口,总的来说是非常强大的

2. 具体介绍:
根据我所接触到的,目前暂时了解到有:Windows平台与 Android平台的OpenGL;因此只拿Windows平台与 Android平台作简单对比:
【openGL|学习OpenGL简单总结】Windows平台上:在Windows上开发OpenGL需要安装 GLUT图形库,这个库是独立于操作系统和window的图形库
1).安装步骤:到openGL的官网上(http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip) 下载“glutdlls37beta.zip”开发包,在Windows下配置VS:
先把glut.h复制到x:\ProgramFiles\Microsoft\Visual Studio 10.0\VC\include\gl文件夹中,如果没有gl这个文件夹则可以自己新建一个。(x是你安装VS的盘符号)这个头文件,写程序时用到
再把解压得到的glut.lib和glut32.lib放到x:\ProgramFiles\Microsoft\Visual Studio 10.0\VC\lib\。(x是你安装VS的盘符号)
然后把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32)

Android平台上:则不需要安装,Android已经很好的支持了OpenGL
在Android上,OpenGL被称为 OpenGL ES(即扩展的OpenGL),
旗下又分为:ES1.0、ES2.0、ES3.0;
Android 1.0及以上到Android2.2之前的版本采用的是 openGL ES 1.0API
Android 2.2及以上到Android4.3之前的版本采用的是 openGL ES 2.0API
Android 4.3及以上的版本采用的是 openGL ES 3.0API
注意,支持 openGL ES 3.0的需要设备厂商提供 图行管道的接口,但是4.3或以上的设备也可以不支持openGL ES 3.0API
且:ES2.0 不兼容ES1.0,这在学习中让我有点迷糊:
开发ES1.0时,使用的API大都直接是 gl.glxxxx(),ES1.0相对比较简单,容易上手;
而ES2.0,使用的API大都是GLES20.glxxxx()样式的,但是大体API名称都差不多,参数常用的API也差不多,像glClear()、glEnable()、等等类似的;但是ES2.0主要用于与GLSL着色语言相结合使用的(个人认为GLSL开发起来就比较难了);
Android上的具体可以参考Android官网:http://developer.android.com/guide/topics/graphics/overview.html

3.学习步骤:

1.基础知识学习:参考博客http://www.cnblogs.com/shangdahao/archive/2011/11/05/2233587.html

2.大致了解OpenGL基础后,推荐参考下面的这个博文,讲的很详细:
http://blog.csdn.net/mapdigit/article/details/7526556
这博客详细讲解了ES10的开发,容易入手,不知道什么原因,网页加载有点慢,后来就自己把作者的博文,总结一起做了个PDF文档,也方便查看,大家可以到下面的连接去下载:
http://download.csdn.net/detail/cxy200927099/7733231

另外还有个GLSL开发的文档,可以到一下链接下载:
http://download.csdn.net/detail/cxy200927099/7733243

    推荐阅读