OpenGLES2_Demo 示例
此示例演示
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能识别的二进制格式。