青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Shuffy

不斷的學習,不斷的思考,才能不斷的進步.Let's do better together!
posts - 102, comments - 43, trackbacks - 0, articles - 19

剪裁區(qū)域

     In OpenGL when you create a window to draw in we must specify the coordinate system we want to use and how to map the specified coordinates into physical screen coordinates. We would be using the 2D Cartesian coordinate system with the origin 0,0 at the centre of the screen. Before we can start plotting points, lines and shapes in a window we must also specify how to translate coordinate pairs into screen coordinates, by specifying the clipping area i.e the region of Cartesian space that occupies the window. 

視口

The clipping area height and width will rarely match the width and height of the window in pixels. The coordinate system must therefore be mapped from logical Cartesian coordinates to physical screen coordinates. This mapping is specified by a setting known as the viewport, which is the region within the window's client area that is used for drawing the clipping area. 

頂點和基本圖元

A vertex is nothing more than a coordinate in 2D or 3D space. In both 2D and 3D, when we draw an object we compose it with several smaller shapes called primitives which as 1 or 2 dimensional entities such as points, lines, and polygons. Each corner of an object composed of primitives is a vertex

基本圖形繪制程序

1,CCY457OpenGLView.h中加入下列變量:

BOOL m_bPoint;        //Status of Point
    BOOL m_bLine;        //Status of Line
    BOOL m_bPolygon;    //Status of Polygon
    BOOL m_bTriangle;    //Status of Triangle

2,并且加入四個菜單項及其對應的事件處理程序。

void CCY457OpenGLView::OnShapesPoint() 
{
//畫點
    m_bPoint = TRUE;
    m_bLine 
= FALSE;
    m_bPolygon 
= FALSE;
    m_bTriangle 
= FALSE;
    InvalidateRect(NULL,FALSE);    
}
void CCY457OpenGLView::OnShapesLine() 
{
//畫線
    m_bPoint = FALSE;
    m_bLine 
= TRUE;
    m_bPolygon 
= FALSE;
    m_bTriangle 
= FALSE;        
    InvalidateRect(NULL,FALSE);    
}
void CCY457OpenGLView::OnShapesPolygon() 
{
//畫多邊形
    m_bPoint = FALSE;
    m_bLine     
= FALSE;
    m_bPolygon 
= TRUE;
    m_bTriangle 
= FALSE;        
    InvalidateRect(NULL,FALSE);    
}
void CCY457OpenGLView::OnShapesTriangle() 
{
//畫三角形
    m_bPoint = FALSE;
    m_bLine     
= FALSE;
    m_bPolygon 
= FALSE;
    m_bTriangle 
= TRUE;        
    InvalidateRect(NULL,FALSE);    
}

3,修改第二篇文章中的OnSize()函數(shù),因為本文中只繪制2維圖形.

void CCY457OpenGLView::OnSize(UINT nType, int cx, int cy) 
{
    CView::OnSize(nType, cx, cy);
    GLdouble aspect_ratio; 
// width/height ratio
    if ( 0 >= cx || 0 >= cy )
    {
        
return;
    }
    
// select the full client area
    ::glViewport(00, cx, cy);
    
// compute the aspect ratio
    
// this will keep all dimension scales equal
    aspect_ratio = (GLdouble)cx/(GLdouble)cy;
    
// select the projection matrix and clear it
    ::glMatrixMode(GL_PROJECTION);
    ::glLoadIdentity();
    
// select the viewing volume
    
//::gluPerspective(45.0f, aspect_ratio, .01f, 200.0f);
    ::gluOrtho2D(-10.0f10.0f-10.0f10.0f);    
    
// switch back to the modelview matrix and clear it
    ::glMatrixMode(GL_MODELVIEW);
    ::glLoadIdentity();
}

4,RenderScene中加入具體的繪制代碼:

void CCY457OpenGLView::RenderScene ()
{
//繪制函數(shù)
    if(m_bPoint==TRUE)
    {
        glPointSize(
3.0f);
        glBegin(GL_POINTS);
            glVertex2f(
0.0f,0.0f);
            glVertex2f(
1.0f,0.0f);
            glVertex2f(
0.0f,1.0f);
        glEnd();
    }
    
else if(m_bLine==TRUE)
    {
        glBegin(GL_LINES);
            glVertex2f(
0.0f,0.0f);
            glVertex2f(
1.0f,0.0f);
        glEnd();
    }
    
else if(m_bTriangle==TRUE)
    {
        glBegin(GL_TRIANGLES);
            glVertex2f(
0.0f,0.0f);
            glVertex2f(
2.0f,0.0f);
            glVertex2f(
0.0f,2.0f);
        glEnd();
    }
    
else if(m_bPolygon==TRUE)
    {
        glBegin(GL_POLYGON);
            glVertex2f(
0.0f,0.0f);
            glVertex2f(
3.0f,0.0f);
            glVertex2f(
4.0f,3.0f);
            glVertex2f(
1.5f,6.0f);
            glVertex2f(
-1.0f,3.0f);
        glEnd();
    }
}

 

作者:洞庭散人

出處:http://phinecos.cnblogs.com/    

本文版權歸作者和博客園共有,歡迎轉載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
原文鏈接:http://www.cnblogs.com/phinecos/archive/2008/11/05/1327343.html
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久国产乱子精品免费女 | 亚洲一区国产视频| 韩国一区二区三区美女美女秀| 欧美激情视频网站| 免费91麻豆精品国产自产在线观看| 亚洲天堂av综合网| 日韩午夜av| 99热这里只有成人精品国产| 亚洲经典在线看| 亚洲国产日本| 一区二区三区久久| 亚洲福利视频网| 国内精品国语自产拍在线观看| 国产性色一区二区| 国产一区二区精品久久| 精品不卡视频| 日韩视频免费观看高清在线视频| 9人人澡人人爽人人精品| 亚洲一区二区综合| 久久婷婷综合激情| 99国内精品久久| 久久精品99无色码中文字幕| 免费不卡视频| 国产精品麻豆成人av电影艾秋| 一区二区视频免费完整版观看| 亚洲美女黄网| 久久久国产视频91| 一区二区三区久久| 欧美久久久久久| 在线成人免费视频| 久久精品欧洲| 亚洲欧美日韩一区在线| 欧美精品一二三| 一区二区自拍| 久久久精品999| 亚洲网址在线| 国产精品成人在线观看| 在线亚洲观看| 99综合电影在线视频| 国产精品国产三级国产普通话三级| 亚洲激情女人| 久久午夜电影网| 国产一区久久久| 欧美在线不卡| 久久精品国产视频| 亚洲午夜精品网| 欧美母乳在线| 午夜精品亚洲| 久久精品国产999大香线蕉| 国产偷久久久精品专区| 久久久精品性| 母乳一区在线观看| 夜夜爽av福利精品导航| 日韩视频―中文字幕| 国产欧美日韩综合一区在线观看 | 欧美视频日韩视频| 日韩亚洲欧美中文三级| 欧美成人午夜| 午夜久久黄色| 另类尿喷潮videofree | 久久男人资源视频| 91久久香蕉国产日韩欧美9色| 亚洲国产精品久久久久久女王| 欧美日本精品| 免费欧美在线| 国产精品午夜在线观看| 亚洲经典在线| 亚洲国产91精品在线观看| 亚洲午夜视频在线观看| 亚洲每日更新| 欧美—级在线免费片| 久热精品视频在线免费观看| 欧美性一区二区| 艳妇臀荡乳欲伦亚洲一区| 亚洲人在线视频| 裸体素人女欧美日韩| 麻豆精品在线播放| 在线观看视频一区二区欧美日韩 | 欧美中文日韩| 亚洲一区制服诱惑| 欧美精品免费在线观看| 欧美国产日本韩| 亚洲国产精品嫩草影院| 欧美在线播放一区二区| 久久久www成人免费无遮挡大片| 欧美日韩一级视频| 亚洲精品国精品久久99热一| 日韩视频第一页| 欧美日韩日本国产亚洲在线| 亚洲人精品午夜在线观看| 99在线精品免费视频九九视| 欧美噜噜久久久xxx| 一本色道88久久加勒比精品| 中国成人黄色视屏| 国产欧美精品日韩精品| 欧美在线一区二区三区| 亚洲第一区在线观看| 一区二区免费在线观看| 国产精品无码专区在线观看| 亚洲欧美在线一区| 亚洲国产另类久久久精品极度| 亚洲图片在线| 亚洲欧洲精品成人久久奇米网| 欧美日韩一二三四五区| 久久久久久久久久久久久女国产乱 | 在线国产日韩| 国产伦精品一区二区三区照片91| 久久久久一区二区三区四区| 亚洲免费激情| 亚洲国产精品一区在线观看不卡| 亚洲女人天堂av| 日韩一级网站| 久久久激情视频| 久久综合中文字幕| 欧美福利在线| 另类av导航| 在线亚洲免费| 亚洲欧美在线看| 欧美日韩另类字幕中文| 亚洲美女毛片| 午夜精品亚洲一区二区三区嫩草| 久久综合九色| 夜夜嗨av色一区二区不卡| 欧美a级大片| 国产精品区免费视频| 亚洲欧美日韩综合aⅴ视频| 亚洲美女中文字幕| 亚洲深夜福利网站| 国产精品毛片大码女人| 性欧美xxxx视频在线观看| 亚洲国产一区二区三区高清| 久久精品91| 老司机午夜精品视频在线观看| 欧美日韩一区二区三区在线视频 | 欧美一区二区三区播放老司机| 欧美日韩高清免费| 亚洲自拍三区| 亚洲精品日本| 欧美在线一二三| 久久人91精品久久久久久不卡 | 国产视频久久久久久久| 久久久久国内| 美女999久久久精品视频| 欧美不卡在线视频| 91久久精品美女| 国内精品美女av在线播放| 欧美大片专区| 欧美日韩国产二区| 亚洲日本激情| 亚洲国产精品久久久久秋霞影院| 欧美人与性动交a欧美精品| 欧美三级特黄| 国产一区二区主播在线| 亚洲东热激情| 久久一日本道色综合久久| 欧美一区在线看| 亚洲精品极品| 亚洲欧美成人一区二区在线电影| 亚洲一区二区三区欧美| 久久久不卡网国产精品一区| 99av国产精品欲麻豆| 久久精品免费观看| 久久视频在线视频| 亚洲成色999久久网站| 亚洲国产成人tv| 亚洲欧美日韩精品综合在线观看| 国产精品高清在线观看| 亚洲私人影吧| 亚洲国产岛国毛片在线| 99精品国产一区二区青青牛奶| 欧美视频在线观看 亚洲欧| 午夜精品亚洲| 亚洲欧洲一区二区三区在线观看 | 一级日韩一区在线观看| 国产精品人人做人人爽人人添| 久久久欧美一区二区| 日韩亚洲国产欧美| 老色鬼久久亚洲一区二区| 亚洲影院在线观看| 在线免费精品视频| 国产精品久久久久aaaa九色| 久久五月天婷婷| 午夜久久福利| 一区二区激情| 亚洲国产另类久久久精品极度| 久久av一区二区三区漫画| 亚洲免费av电影| 极品中文字幕一区| 国产精品久在线观看| 欧美不卡视频| 久久久久欧美精品| 欧美影片第一页| 亚洲自拍偷拍一区| 欧美激情视频一区二区三区不卡| 一二三区精品| 亚洲巨乳在线| 亚洲国产片色| 亚洲国产日本| 亚洲高清在线精品| 国产精品一区在线观看|