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

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>
            亚洲免费视频网站| 国产亚洲毛片在线| 亚洲精品视频免费| 欧美黑人在线观看| 欧美激情片在线观看| 亚洲精品一区二区三区四区高清 | 亚洲男女自偷自拍| 亚洲一区在线观看免费观看电影高清 | 亚洲综合三区| 国产欧美日韩不卡| 免播放器亚洲一区| 久久综合网色—综合色88| 亚洲高清视频在线观看| 亚洲精品欧美极品| 国产欧美视频一区二区| 欧美成人dvd在线视频| 欧美人与性禽动交情品| 性欧美大战久久久久久久免费观看| 欧美一区二区精品| 亚洲欧洲精品一区二区精品久久久| 日韩一级大片在线| 国产综合第一页| 亚洲日本一区二区| 国产精品老牛| 亚洲福利免费| 国产亚洲精品久久飘花 | 亚洲一区二区三区免费视频| 亚洲欧美激情视频| 亚洲国产精品电影在线观看| 亚洲一区二区免费| 亚洲激情综合| 欧美一区二区三区视频在线观看 | 亚洲性av在线| 老司机精品导航| 欧美在线一区二区| 欧美日韩国产免费| 美日韩在线观看| 国产精品午夜视频| 亚洲剧情一区二区| 亚洲欧洲一区二区在线播放| 午夜精品一区二区三区在线视| 亚洲九九九在线观看| 欧美中文字幕| 久久精品久久99精品久久| 欧美日韩三区四区| 亚洲第一福利在线观看| 国产一区二区三区四区三区四| 99国产精品99久久久久久| 最新高清无码专区| 欧美在线观看一区| 性色av一区二区怡红| 国产精品99一区二区| 欧美激情第六页| 一区在线观看| 久久精品视频在线看| 久久精品国产第一区二区三区最新章节| 欧美日韩国产成人在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲国产成人精品女人久久久 | 狠狠色丁香久久综合频道| 亚洲一区二区黄色| 亚洲欧美一区二区三区在线| 欧美日韩综合视频网址| 99国产精品国产精品久久| 99国产精品久久久久久久久久 | 久久久久久色| 久久在线免费观看视频| 好看的av在线不卡观看| 久久久噜噜噜久噜久久| 欧美ed2k| 日韩亚洲欧美在线观看| 欧美精品系列| 一本一本久久a久久精品综合妖精| 亚洲色图综合久久| 国产精品家庭影院| 先锋影音网一区二区| 久久久噜噜噜久久| 亚洲第一成人在线| 欧美二区在线看| 99这里只有精品| 欧美一级久久久| 国产综合自拍| 免费观看久久久4p| 亚洲美女黄网| 久久精品色图| 亚洲精品免费网站| 国产精品久久久久久影视| 久久av二区| 亚洲成色www8888| 99re热精品| 午夜在线观看免费一区| 黄色精品一二区| 欧美精品v国产精品v日韩精品| 夜夜嗨av一区二区三区免费区| 欧美在线999| 亚洲精品视频在线观看网站 | 欧美中文在线免费| 亚洲精选成人| 久久偷窥视频| 亚洲在线一区| 91久久极品少妇xxxxⅹ软件| 欧美性片在线观看| 久久综合狠狠综合久久综合88| 99re66热这里只有精品4| 久久国产精品高清| 99精品久久免费看蜜臀剧情介绍| 国产精品亚洲产品| 欧美激情aⅴ一区二区三区| 小处雏高清一区二区三区| 亚洲国产精品久久人人爱蜜臀| 欧美一区免费视频| 亚洲美女性视频| 狠狠色狠狠色综合日日五| 欧美日韩高清区| 美女视频一区免费观看| 性欧美暴力猛交另类hd| 一本色道久久综合一区| 亚洲成人在线视频网站| 久久久av网站| 午夜精品久久久久久久白皮肤| 亚洲精品美女久久7777777| 国产亚洲欧美一级| 国产精品久久一区二区三区| 欧美成人一区在线| 久久天天躁狠狠躁夜夜av| 亚洲综合日韩在线| 一区二区欧美日韩| 亚洲乱码日产精品bd| 欧美黄免费看| 美女网站在线免费欧美精品| 久久gogo国模啪啪人体图| 亚洲无线一线二线三线区别av| 91久久国产综合久久| 亚洲电影免费| 伊人成年综合电影网| 韩国三级在线一区| 韩国欧美国产1区| 韩国成人精品a∨在线观看| 国产午夜精品视频免费不卡69堂| 国产精品进线69影院| 欧美日韩综合在线| 欧美性大战久久久久| 欧美日韩在线亚洲一区蜜芽| 欧美日韩一区在线| 国产精品九九| 国产毛片一区二区| 国产亚洲欧美日韩美女| 国产主播精品在线| 一区二区三区在线看| 在线观看成人av电影| 亚洲韩国精品一区| 日韩视频在线一区| 亚洲社区在线观看| 午夜精彩视频在线观看不卡| 欧美一区二区黄| 久久午夜精品一区二区| 欧美不卡三区| 亚洲激情在线观看视频免费| 日韩视频一区二区| 亚洲一区二区视频在线| 欧美在线999| 欧美阿v一级看视频| 欧美视频一区| 国产日韩亚洲欧美精品| 亚洲电影在线| 国产精品99久久久久久www| 午夜精品区一区二区三| 老妇喷水一区二区三区| 最新亚洲激情| 亚洲欧美影院| 另类专区欧美制服同性| 欧美日韩国产一区| 国产精品福利网| 在线观看一区| 亚洲女优在线| 老司机午夜精品视频在线观看| 亚洲激情自拍| 亚洲欧美综合精品久久成人| 久久综合九色综合欧美狠狠| 欧美日韩在线大尺度| 在线观看欧美日韩国产| 中文av一区特黄| 蜜臀a∨国产成人精品| 亚洲图片你懂的| 美国十次成人| 国产色爱av资源综合区| 亚洲精品免费观看| 久久人人97超碰精品888| 一本久久精品一区二区| 久热爱精品视频线路一| 国产欧美日韩不卡免费| 99精品欧美一区二区蜜桃免费| 久久久久国产免费免费| 中文久久乱码一区二区| 欧美 日韩 国产一区二区在线视频 | 欧美日韩xxxxx| 国产综合亚洲精品一区二| 亚洲手机成人高清视频| 亚洲国产电影| 久久天天综合|