OPENGL学习笔记(四)

来源:互联网 发布:nodejs网络爬虫源码 编辑:程序博客网 时间:2024/05/16 20:30
首先完成glew的初始化,在Display.cpp构造函数中,添加
  
GLenum status=glewInit();

if(status!=GLEW_OK)
{
  std::cerr<<"glew init failure!"<<std::endl;
}

这样,每次构造Display对象是,就已经完成了GLEW的初始化.

添加SDL事件处理,在Display.cpp中添加Update()函数 ,实现如下
SDL_GL_SwapWindow(m_Window);
SDL_Event  e;
while(SDL_PollEvent(&e))
{
    if(e.type==SDL_QUIT)
     {
             m_isClose=true;
     }
}

在Display.h中添加bool  m_isClose;并初始化为false.
最后在main.cpp中添加
while(!display.IsClose())
{
    glClearColor(0.0f,0.15f,0.3f,1.0f);
    glClear(GL_COLOR_BUFFER_BIT);
    display.Update();
}
由于glClearColor和glClear用的非常普遍,所以在Display中添加Clear(float r ,float g,float b,float b)函数,并这两行代码添加到Display::Clear函数中,完成整个窗口的绘制.
0 0