Nehe的OpenGL框架 MFC版

2021-09-22 10:58:57 字數 2312 閱讀 4892

nehe的幾個opengl框架都是win32 sdk版本的,我現在需要在mfc下學習opengl,今天看了他寫的第乙個opengl框架,就在mfc中實現了下。為了簡單起見,把全屏那部分就拋棄掉了,畢竟重點不在這上面,而且mfc要實現這個全屏的功能也不像sdk那麼容易。。。

// opengldemoview.h : inte***ce of the copengldemoview class //

/protected:

bool setwindowpixelformat(hdc hdc);//設定畫素格式

bool createviewglcontext(hdc hdc);//建立繪製環境(rc)並使之成為當前繪製環境

bool initgl(glvoid);//初始化opengl

int drawglscene(glvoid);//繪圖**區

int m_glpixelindex;

hglrc m_hglcontext;//繪製環境

// opengldemoview.cpp : implementation of the copengldemoview class //

copengldemoview::copengldemoview()

bool copengldemoview::precreatewindow(createstruct& cs)

bool copengldemoview::setwindowpixelformat(hdc hdc) ;

this->m_glpixelindex = choosepixelformat(hdc,&pixeldesc);//選擇最相近的畫素格式

if(this->m_glpixelindex==0)

} if(setpixelformat(hdc,this->m_glpixelindex,&pixeldesc)==false)

return true; }

bool copengldemoview::initgl(glvoid)                                        // all setup for opengl goes here

bool copengldemoview::createviewglcontext(hdc hdc)

if(wglmakecurrent(hdc,this->m_hglcontext)==false)

return true; }

int copengldemoview::oncreate(lpcreatestruct lpcreatestruct) 

if(this->createviewglcontext(hdc)==false)

if(!this->initgl())

return 0; }

void copengldemoview::ondestroy() 

if(this->m_hglcontext!=null)

} void copengldemoview::onsize(uint ntype, int cx, int cy) 

glviewport(0,0,width,height);                        // reset the current viewport

glmatrixmode(gl_projection);                        // select the projection matrix

glloadidentity();                                    // reset the projection matrix

// calculate the aspect ratio of the window

gluperspective(45.0f,(glfloat)width/(glfloat)height,0.1f,100.0f);//透視投影

Nehe的OpenGL框架 MFC版

nehe的幾個opengl框架都是win32 sdk版本的,我現在需要在mfc下學習opengl,今天看了他寫的第乙個opengl框架,就在mfc中實現了下。為了簡單起見,把全屏那部分就拋棄掉了,畢竟重點不在這上面,而且mfc要實現這個全屏的功能也不像sdk那麼容易。protected boolse...

openGL學習, NeHe教材

這幾天開始學習opengl的學習,看的是aman jiang 江超宇 翻譯nehe寫的教材,整個文件中有非常詳細的講解,很容易看懂.在第一課的 中,nehe已經構建出了乙個簡單的opengl應用框架,使得我們很容易的在裡面新增和修改 在看過lesson1的 和注釋後,我們可以發現大部分的 是有關於w...

NeHe學習之框架三

wndproc 的實現 視窗訊息處理函式 lresult callback wndproc hwnd hwnd,uint umsg,wparam wparam,lparam lparam else return 0 case wm syscommand 系統中斷 break 如果不是上述中斷事件,就...