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

Shuffy

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

剪裁區域

     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()函數,因為本文中只繪制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 ()
{
//繪制函數
    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/    

本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
原文鏈接: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>
            亚洲欧美一区二区三区在线| 欧美va亚洲va日韩∨a综合色| 欧美激情中文不卡| 这里是久久伊人| 欧美激情亚洲激情| 性欧美video另类hd性玩具| 亚洲最新在线视频| 亚洲人成网在线播放| 国产亚洲一级| 在线激情影院一区| 99在线精品视频| 亚洲国产视频一区| 国产一区二区无遮挡| 亚洲精品一区二区三| 久久裸体视频| 每日更新成人在线视频| 欧美在线综合视频| 欧美一区午夜视频在线观看| 日韩一级在线观看| 亚洲国产精品一区二区尤物区| 国产日韩欧美黄色| 韩国三级电影久久久久久| 伊人精品成人久久综合软件| 亚洲日韩欧美视频一区| 亚洲一二三区视频在线观看| 先锋影音国产精品| 狂野欧美激情性xxxx| 99re66热这里只有精品4| 蜜桃av一区二区| 欧美一区二区在线免费播放| 欧美人在线观看| 国产麻豆精品视频| 国产在线精品一区二区夜色| 亚洲经典自拍| 一区二区三区国产在线观看| 亚洲午夜精品视频| 久久精品人人做人人爽电影蜜月| 久久久久久久久岛国免费| 噜噜噜在线观看免费视频日韩| 亚洲电影有码| 性色一区二区| 国产精品一区一区三区| 一本色道久久综合狠狠躁篇的优点 | 久久视频一区| 国产精品推荐精品| 亚洲午夜精品网| 欧美成人午夜激情在线| 久久精品夜色噜噜亚洲a∨| 国产乱码精品1区2区3区| 亚洲一区二区三区午夜| 亚洲麻豆av| 欧美另类videos死尸| 亚洲欧洲精品一区二区精品久久久 | 国产日韩在线不卡| 午夜精品国产| 亚洲一区二区三区四区五区午夜| 欧美国产一区视频在线观看| 亚洲激情不卡| 亚洲国产成人久久| 欧美国产丝袜视频| 一区二区免费看| 亚洲人成艺术| 欧美日韩国产影片| 亚洲天堂视频在线观看| 亚洲精品一区二区三区在线观看 | 国产日韩亚洲欧美| 久久精品午夜| 久久美女性网| 91久久精品日日躁夜夜躁国产| 欧美大片一区| 欧美成人精品在线播放| 99精品视频免费观看视频| 日韩视频中文| 国产精品一区一区| 美女视频黄a大片欧美| 麻豆精品传媒视频| 亚洲人线精品午夜| 亚洲无毛电影| 好吊色欧美一区二区三区四区| 女同一区二区| 欧美日本在线看| 欧美一级视频| 老司机精品久久| 亚洲视频精选| 欧美一区二粉嫩精品国产一线天| 在线不卡a资源高清| 最新成人av网站| 国产麻豆91精品| 欧美国产一区在线| 国产精品视频网址| 开元免费观看欧美电视剧网站| 久热精品视频| 亚洲欧美一区二区激情| 久久夜精品va视频免费观看| 一区二区三区四区精品| 欧美在线3区| 99在线精品视频| 久久精品视频播放| 亚洲视频网站在线观看| 久久精品国产99| 亚洲一区二区视频| 久久久久久网站| 亚洲一区精品视频| 免费在线欧美黄色| 欧美日韩成人综合天天影院| 久久国产精品一区二区| 欧美日本在线观看| 久久只精品国产| 国产精品成人一区二区| 亚洲电影观看| 国内精品写真在线观看| 亚洲色图在线视频| 亚洲欧洲日本国产| 久久成人免费网| 午夜精品福利一区二区蜜股av| 欧美国产丝袜视频| 欧美不卡视频一区发布| 国产一区二区三区日韩| 亚洲午夜激情| 宅男精品视频| 欧美精品日韩| 亚洲激情视频网| 在线欧美影院| 久久亚洲一区| 欧美国产在线观看| 亚洲黄色一区| 欧美大片免费看| 麻豆精品精华液| 激情一区二区三区| 久久精品视频在线免费观看| 久久久蜜桃精品| 黄色欧美成人| 久久久久久97三级| 美国成人直播| 亚洲成色最大综合在线| 久久综合色播五月| 欧美成人一区二区在线| 亚洲欧洲另类| 欧美日本在线一区| 一本大道av伊人久久综合| 中文日韩欧美| 国产精品久久久久久久第一福利| 日韩午夜剧场| 西西人体一区二区| 国产综合色精品一区二区三区| 欧美综合第一页| 欧美大成色www永久网站婷| 91久久精品网| 欧美视频免费看| 亚洲欧美一区二区精品久久久| 欧美一区91| 亚洲第一页中文字幕| 欧美精品在线免费播放| 亚洲午夜羞羞片| 久久久在线视频| 亚洲精品在线电影| 国产精品久线观看视频| 久久成人国产| 亚洲日本欧美日韩高观看| 亚洲综合精品一区二区| 国产三级欧美三级| 美女日韩在线中文字幕| 99re视频这里只有精品| 久久成人精品无人区| 亚洲精品乱码久久久久| 国产精品久久久久高潮| 久久精品二区| 一区二区三欧美| 老司机aⅴ在线精品导航| 日韩小视频在线观看| 国产伦精品一区二区三区四区免费| 久久久久免费视频| 艳女tv在线观看国产一区| 久久久久.com| 亚洲桃色在线一区| 小处雏高清一区二区三区| 久久中文精品| 亚洲欧美偷拍卡通变态| 亚洲日本中文字幕| 国产一区二区剧情av在线| 欧美国产视频日韩| 欧美亚洲专区| 亚洲少妇在线| 亚洲国产一区二区三区a毛片| 欧美一区二区黄| 一本不卡影院| 亚洲黑丝在线| 国产伊人精品| 国产精品高潮呻吟视频| 欧美高清视频在线| 久久精品夜夜夜夜久久| 亚洲免费一区二区| 亚洲美女诱惑| 亚洲国产天堂久久综合网| 久久久天天操| 性色一区二区三区| 亚洲欧美一区二区激情| 一本色道久久88精品综合| 亚洲国产合集| 伊大人香蕉综合8在线视|