違う角度から見た図を載せる

sideview.png

関連項目

GLSL:シェーダのオンオフを切り替える

void renderSubWindow(){
        if(winwidth >= winheight)
            glViewport(winwidth - winheight/2,0, winheight/2, winheight/2);
        else
            glViewport(winwidth - winwidth/2,0, winwidth/2, winwidth/2);
 
        //サブ画面背景作成
        glMatrixMode(GL_MODELVIEW);
        glPushMatrix();
        glLoadIdentity();
        glTranslatef(0.0,0.0,-7.0);
 
        glMatrixMode(GL_PROJECTION);
        glPushMatrix();
        glLoadIdentity();
        glOrtho(-1.0,1.0,-1.0,1.0,0.25,20.0);
 
        glColor4f(0.0,0.0,0.0,0.5);
        glBegin(GL_QUADS);  
        glVertex2f(-1.0,-1.0);
        glVertex2f(1.0,-1.0);
        glVertex2f(1.0,1.0);
        glVertex2f(-1.0,1.0);
        glEnd();
 
        //サブ画面描画ブロック表示
        glLoadIdentity();
        glOrtho(-eyeDis*1.5,eyeDis*1.5,-eyeDis*1.5,eyeDis*1.5,0.25,20.0);
        glMatrixMode(GL_MODELVIEW);
        glRotatef(45.0f,1.0f,-1.0f,-0.29f);
 
//描画したいものを描く
        display();
 
        double mM[16];
        mM[0]=inv_modelView.getXX();mM[4]=inv_modelView.getXY();mM[8]=inv_modelView.getXZ() ;mM[12]=inv_modelView.getXW();
        mM[1]=inv_modelView.getYX();mM[5]=inv_modelView.getYY();mM[9]=inv_modelView.getYZ() ;mM[13]=inv_modelView.getYW();
        mM[2]=inv_modelView.getZX();mM[6]=inv_modelView.getZY();mM[10]=inv_modelView.getZZ();mM[14]=inv_modelView.getZW();
        mM[3]=inv_modelView.getWX();mM[7]=inv_modelView.getWY();mM[11]=inv_modelView.getWZ();mM[15]=inv_modelView.getWW();
 
        glMultMatrixd(mM);
 
        //視点描画
        glRotatef(180.0,0.0,1.0,0.0);
        glTranslatef(0.0,0.0,-0.5);
        glColor3f(0.0,1.0,0.0);
        glutSolidCone(0.05,0.5,5,5);
 
        glMatrixMode(GL_PROJECTION);
        glPopMatrix();
        glMatrixMode(GL_MODELVIEW);
        glPopMatrix();
        glViewport(0, 0, winwidth, winheight);
}

サポートサイト Wikidot.com