OpenGLES2_Demo 示例

OpenGLES2_Demo 示例

此示例演示

Gles2_Demo_1.png

OpenGL ES 初始化

bool GLESDevice::Init(NativeWindowType hWindow, bool bFullScreen)
{
              HDC hdcWindow = GetDC(hWindow);

              if( (m_Display = eglGetDisplay(hdcWindow))==EGL_NO_DISPLAY )
                            return false;

              // initialize
              if(eglInitialize(m_Display, &m_Major, &m_Minor)==EGL_FALSE)
                            return false;

              // choose config
              EGLConfig config = 0;
              EGLint cfg_attr_list[] = { 
                            EGL_BUFFER_SIZE,    EGL_DONT_CARE,
                            EGL_RED_SIZE,       5,
                            EGL_GREEN_SIZE,     6,
                            EGL_BLUE_SIZE,      5,
                            EGL_DEPTH_SIZE,     8,
                            EGL_NONE
              };

              int num = 0;
              if ( eglChooseConfig(m_Display, cfg_attr_list, &config, 1, &num) == EGL_FALSE || num == 0 )
              {
                            return false;
              }

              if( (m_Surface = eglCreateWindowSurface(m_Display, config, hWindow, NULL))==EGL_NO_SURFACE )
                            return false;
              
              if( (m_Context = eglCreateContext(m_Display, config, EGL_NO_CONTEXT, NULL))==EGL_NO_CONTEXT )
                            return false;

              if( eglMakeCurrent(m_Display, m_Surface, m_Surface, m_Context)==EGL_FALSE )
                            return false;

              m_bActivated = true;

              return true;
}

完整示例: 源码安装在以下目录(假设你将M8SDK安装在盘符C:\):

另外,shader编译工具,用于把shader文本转换成GPU能识别的二进制格式。


Generated at Tue Feb 9 15:09:56 2010 for Meizu M8 SDK Documentation by  doxygen 1.6.1