一步一步教你用opengles编程

一步一步教你用opengles编程

ID:34637217

大小:46.00 KB

页数:7页

时间:2019-03-08

一步一步教你用opengles编程_第1页
一步一步教你用opengles编程_第2页
一步一步教你用opengles编程_第3页
一步一步教你用opengles编程_第4页
一步一步教你用opengles编程_第5页
资源描述:

《一步一步教你用opengles编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一步一步教你用OpenGLES编程(Step-by-stepprogramminginOpenGLSE)OpenGLES是针对手机、PDA和游戏主机等嵌入式设备制定的编程接口,是由OpenGL的不同版本演化而来,目前已有OpenGLES1.x和OpenGLES2.0,OpenGLES2.0添加了对可编程管线的支持.OpenGLES1.X又有OpenGLES1.0和OpenGLES1.1,前者支持定点实数(fixed)和浮点数(float),后者只支持定点数(fixed)库来自VicentMobile3DRenderingLibrary的og

2、les-bin-1.0.0,解压后拷贝include文件夹到Mobile的SDK下的Include文件夹下,拷贝bin文件夹下的debug和release到工程文件下的debug和release下新建智能项目工程HelloOpenGL_Quad如下配置工程的DLL和LIB这里对opengles库使用的是静态引用,因此要在工程中设好对.lib的引用路径和附加库设置:初始化设备,OpenGL是具备平台无关性的,所谓的平台无关,只是为OpenGL提供了不同平台的不同接口,使其建立起opengl的显示环境.这里用到的是EGL规范.那么先建立一个初始

3、化设备函数BOOLInitOGLDevice(HWNDhwnd),参数是当前窗口句柄.获取显示输出设备接口,EGL就是我们进行设备初始化工作的关键API,因此这里用到的函数都是eglXXXXXX,获取显示接口函数包括eglGetDisplay(NativeDisplayTypenative_display)和eglGetCurrentDisplay(),前面一个是建立一个显示接口,后者是从当前的opengl环境返回一个opengl接口g_eglDisplay=eglGetDisplay(GetDC(hwnd));初始化显示设备,这是一个内部

4、初始化的过程,可能为显示结构内部变量给初值eglInitialize(g_eglDisplay,&major,&minor)framebuffer属性定义,再使用eglChooseConfig找到最匹配这项属性列表的配置定义,并返回配置项,返回的配置被使用来建立表面和状态机,EGLintattrib_list[]={EGL_DEPTH_SIZE,16,EGL_RED_SIZE,5,EGL_GREEN_SIZE,6,EGL_BLUE_SIZE,5,EGL_NONE};eglChooseConfig(g_eglDisplay,attrib_li

5、st,configs_list,num_config,&num_config)根据配置描述一个设备表面eglCreateWindowSurface(g_eglDisplay,configs_list[0],hwnd,NULL);返回一个相关属性设置的状态机eglCreateContext(g_eglDisplay,configs_list[0],EGL_NO_CONTEXT,attrib_list);建立Opengl当前环境eglMakeCurrent(g_eglDisplay,g_eglSurface,g_eglSurface,g_egl

6、Context);至此一个完整可用的Opengl渲染平台就建立好了,事实上整个创建的概念与windowsdirecte3DMobile有些相似.现在要建立渲染配置这句类似于d3dmdevice的clear函数glClearColor(0.5f,0.5f,0.5f,1.0f);下面是对渲染的一系列配置,glDisable和glEnable被用来打开或关闭一些渲染的配置,比如光照,双面渲染,贴图支持,Z缓冲支持glDisable(GL_LIGHTING);glShadeModel(GL_SMOOTH);glEnable(GL_CULL_FACE

7、);glCullFace(GL_BACK);glEnable(GL_DEPTH_TEST);glDepthFunc(GL_LEQUAL);glClearDepthf(5.0f);glEnable(GL_TEXTURE_2D);这是对贴图渲染的配置,规定贴图的算法glTexParameterx(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);glTexParameterx(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);glTexParameterx(

8、GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE);glTexParameterx(GL_TEXTURE_2D,GL_TEXTUR

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。