+ -
当前位置:首页 → 问答吧 → 谁能讲解mfc这段代码,实在看不懂

谁能讲解mfc这段代码,实在看不懂

时间:2011-12-02

来源:互联网

C/C++ code
void CCubeView::DrawScene(void)
{
    static BOOL     bBusy = FALSE;
    static GLfloat  wAngleY = 10.0f;
    static GLfloat  wAngleX = 1.0f;
    static GLfloat  wAngleZ = 5.0f;

    if(bBusy)
        return;
    bBusy = TRUE;

    glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glPushMatrix();

        glTranslatef(0.0f, 0.0f, -m_fRadius);
        glRotatef(wAngleX, 1.0f, 0.0f, 0.0f);
        glRotatef(wAngleY, 0.0f, 1.0f, 0.0f);
        glRotatef(wAngleZ, 0.0f, 0.0f, 1.0f);

        wAngleX += 1.0f;
        wAngleY += 10.0f;
        wAngleZ += 5.0f;


        glBegin(GL_QUAD_STRIP);
            glColor3f(1.0f, 0.0f, 1.0f);
            glVertex3f(-0.5f, 0.5f, 0.5f);

            glColor3f(1.0f, 0.0f, 0.0f);
            glVertex3f(-0.5f, -0.5f, 0.5f);

            glColor3f(1.0f, 1.0f, 1.0f);
            glVertex3f(0.5f, 0.5f, 0.5f);

            glColor3f(1.0f, 1.0f, 0.0f);
            glVertex3f(0.5f, -0.5f, 0.5f);

            glColor3f(0.0f, 1.0f, 1.0f);
            glVertex3f(0.5f, 0.5f, -0.5f);

            glColor3f(0.0f, 1.0f, 0.0f);
            glVertex3f(0.5f, -0.5f, -0.5f);

            glColor3f(0.0f, 0.0f, 1.0f);
            glVertex3f(-0.5f, 0.5f, -0.5f);

            glColor3f(0.0f, 0.0f, 0.0f);
            glVertex3f(-0.5f, -0.5f,  -0.5f);

            glColor3f(1.0f, 0.0f, 1.0f);
            glVertex3f(-0.5f, 0.5f, 0.5f);

            glColor3f(1.0f, 0.0f, 0.0f);
            glVertex3f(-0.5f, -0.5f, 0.5f);

        glEnd();

        glBegin(GL_QUADS);
            glColor3f(1.0f, 0.0f, 1.0f);
            glVertex3f(-0.5f, 0.5f, 0.5f);

            glColor3f(1.0f, 1.0f, 1.0f);
            glVertex3f(0.5f, 0.5f, 0.5f);

            glColor3f(0.0f, 1.0f, 1.0f);
            glVertex3f(0.5f, 0.5f, -0.5f);

            glColor3f(0.0f, 0.0f, 1.0f);
            glVertex3f(-0.5f, 0.5f, -0.5f);
        glEnd();

        glBegin(GL_QUADS);
            glColor3f(1.0f, 0.0f, 0.0f);
            glVertex3f(-0.5f, -0.5f, 0.5f);

            glColor3f(1.0f, 1.0f, 0.0f);
            glVertex3f(0.5f, -0.5f, 0.5f);

            glColor3f(0.0f, 1.0f, 0.0f);
            glVertex3f(0.5f, -0.5f, -0.5f);

            glColor3f(0.0f, 0.0f, 0.0f);
            glVertex3f(-0.5f, -0.5f,  -0.5f);
        glEnd();

    glPopMatrix();

    glFinish();
    SwapBuffers(wglGetCurrentDC());

    bBusy = FALSE;
}

作者: aaseh   发布时间: 2011-12-02

好像是使用了 OpenGL

作者: agoago_2009   发布时间: 2011-12-02

楼主先看下OpenGL方面的东东

作者: peng_weida   发布时间: 2011-12-03

没有使用MFC,使用OpenGL画了三个图形。

作者: shiyunqiang   发布时间: 2011-12-03