Android OpenGL ES 分析与实践(2)

3.3 使用OpenGL ES画图必经的步骤  

1、获取DisplayDisplay代表显示器。

    函数原型:

   

    EGLDisplay eglGetDisplay(NativeDisplayType display);

 

    display参数是native系统的窗口显示ID值,一般为 EGL_DEFAULT_DISPLAY 。该参数实际的意义是平台实现相关的,在X-Window下是XDisplay ID,在MS Windows下是Window DC

 

 

2、初始化egl库。

    函数原型:

   

    EGLBoolean eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);

 

    其中dpy应该是一个有效的 EGLDisplay 。函数返回时,majorminor将被赋予当前EGL版本号。

 

 

3、选择一个合适的EGL Configuration FrameBuffer,实际指的是FrameBuffer的参数

    函数原型:

   

    EGLBoolean eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list,EGLConfig *configs, EGLint config_size,

                           EGLint *num_config);

 

    参数attrib_list:指定了选择配置时需要参照的属性。

    参数configs    将返回一个按照attrib_list排序的平台有效的所有EGL framebuffer配置列表。

    参数config_size:指定了可以返回到configs的总配置个数。

    参数num_config: 返回了实际匹配的配置总数。

 

 

4、创建一个可实际显示的EGLSurface,实际上就是一个FrameBuffer

    函数原型:

   

    EGLSurface eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config,

                                  NativeWindowType win,

                                  const EGLint *attrib_list);

 

 

5、创建Context

    函数原型:

   

    EGLContext eglCreateContext(EGLDisplay dpy, EGLConfig config,

                            EGLContext share_context,

                            const EGLint *attrib_list);

 

 

 

6、绑定DisplaySurfaceContext

    函数原型:

   

    EGLBoolean eglMakeCurrent(EGLDisplay dpy, EGLSurface draw,

                          EGLSurface read, EGLContext ctx);

posted @ 2011-11-24 15:40  Glan  阅读(195)  评论(0)    收藏  举报