opengl 初始化

VC中使用opengles,首先要把它和DC关联起来。

 

void MyGles::InitOpengl(HWND hwnd)

{

    HDC hdc = GetDC(hwnd);

    glesDisplay = eglGetDisplay(hdc);//  得到显示平面

    eglInitialize(glesDisplay,NULL,NULL);

 

    const EGLint attrib_list[] =     //属性列表

    {

       EGL_RED_SIZE,       8,

       EGL_GREEN_SIZE,     8,

       EGL_BLUE_SIZE,      8,

       EGL_ALPHA_SIZE,     8,

       EGL_DEPTH_SIZE,     16,

       EGL_STENCIL_SIZE,   EGL_DONT_CARE,

       EGL_SURFACE_TYPE,   EGL_WINDOW_BIT,

       EGL_NONE,           EGL_NONE

    };

    EGLConfig configs[10];//用来返回配置

    int configsSize = 10; //我们要个

    int numConfig;        //返回的实际可使用的大小

    eglChooseConfig(glesDisplay,attrib_list,configs,10,&numConfig);//配置选择

   

    if(numConfig<1)

       return ;

    glesSurface = eglCreateWindowSurface(glesDisplay,configs[0],hwnd,attrib_list);//创建surface

    if(!glesSurface)

       return ;

    //创建状态机

    glesContext = eglCreateContext(glesDisplay,configs[0],EGL_NO_CONTEXT,attrib_list);

   

    //set当前状态机

    eglMakeCurrent(glesDisplay,glesSurface,glesSurface,glesContext);

}

attrib_list的参数对不同的设备会有所不同,具体如何配置还没清楚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值