OpenGL Programming for Windows MFC


2.Setup of View and Object


2.1 Class Wizard により CXXXView の WM_SIZE(OnSize) を オーバライドし以下の行を追加

void CXXXView::OnSize(UINT nType, int cx, int cy) 
{
    CView::OnSize(nType, cx, cy);

    ViewGL(cx, cy) ;

}
Overrid WM_SIZE(OnSize) of CXXXView by Class Wizard.
Then, add the above line.

2.1.1 ViewGL

GLint ViewGL(GLint w,GLint h)
{
    glMatrixMode(GL_PROJECTION) ;
    glLoadIdentity() ;
    gluPerspective(60.0, (GLfloat)w/(GLfloat)h, 1.0, 10.0) ;
    glViewport (0, 0, w , h) ;
    glMatrixMode(GL_MODELVIEW) ;
    glLoadIdentity ();

    return(0) ;
}

2.2 InitGL に以下の行を追加

GLint InitGL(void)
{
    glClearColor(0.0f, 0.0f, 0.5f, 1.0f) ;	

    glDepthFunc(GL_LEQUAL) ;
    glEnable(GL_DEPTH_TEST) ;

     return (0) ;
}
The above line is added to InitGL.

2.3 DrawGL に以下の行を追加

GLint DrawGL()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) ;

    glMatrixMode(GL_MODELVIEW) ;
    glLoadIdentity() ;
    glTranslated(0.0, 0.0, -3.0) ;

    auxWireTeapot(1.0) ;

    return(0) ;
}
The above line is added to InitGL.


2.4 Build and Execute

ビルド・実行すると、ウインドウの中央にワイヤフレームのTeapotオブジェクトが 描かれる。


The Teapot object of the wire frame is drawn in the center of the window.


prev next