{
1:获取 Display
2:初始化 egl
3:选择 Config
4:创建 Surface
5:创建上下文对象
6:查看 Display Surface Context 是否创建成功
7:绘制
8:销毁 OpenGLES
}
#include <EGL/egl.h>
#include <gles2/gl2.h>
#include "freeImage/FreeImage.h"
class WinApp {
public:
WinApp(HINSTANCE hInstance);
virtual~WinApp(void);
virtual LRESULT onEvent(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
static LRESULT CALLBACK wndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
int main(int wWidth,int wHegith);
bool configurationInit();
void draw();//画
void destroy();//销毁
private:
HINSTANCE _hInstance; //实例句柄
HWND _hWnd;//窗口句柄
protected;
int _width; // 视口宽度
int _height;// 视口高度
EGLDisplay _display;
EGLContext _context;
EGLSurface _surface;
EGLConfig _config;
};
#include "WinApp.h"
bool WinApp::configurationInit(){
//1:获取 Display
_display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
//2:初始化 egl
EGLint major;//返回主版本号
EGLint minor;//返回次版本号
eglInitialize(_display, &major, &minor);
//3:选择 Config
const EGLint attribs[] ={
//属性是一对一的初始化(类似与key->value)
EGL_SURFACE_TYPE, EGL_WINDOW_BIT,//把数据画到窗口上
EGL_BLUE_SIZE, 8,//R 占8个比特位
EGL_GREEN_SIZE, 8,//G 占8个比特位
EGL_RED_SIZE, 8, //B 占8个比特位
EGL_DEPTH_SIZE,24,//深度值 占24个比特位 画图的深度值 (前后顺序的层)
EGL_NONE //这个机构结束了
};
EGLint format(0);
EGLint numConfigs(0);
//