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

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>
            亚洲尤物视频在线| 蜜乳av另类精品一区二区| 欧美日韩在线视频一区二区| 一区二区高清视频| 亚洲午夜羞羞片| 国产综合一区二区| 欧美高清一区二区| 欧美日韩一区二区三区在线 | 午夜视频在线观看一区二区三区| 国产精品av免费在线观看| 欧美色网一区二区| 欧美亚洲三区| 久久久久久久久蜜桃| 亚洲国产成人在线视频| 亚洲欧洲日本专区| 国产精品视频自拍| 另类亚洲自拍| 欧美日韩国内| 国产精品综合| 欧美国产视频日韩| 国产精品99免费看 | 亚洲欧美在线x视频| 含羞草久久爱69一区| 亚洲国产高清一区| 国产精品视频久久| 亚洲电影中文字幕| 国产精品一区二区三区乱码 | 国产精品自拍一区| 欧美激情视频在线播放| 国产精品久久网| 欧美成人亚洲| 国产欧美成人| 亚洲激情电影在线| 香蕉久久一区二区不卡无毒影院| 1000部精品久久久久久久久| 99精品视频免费观看视频| 国色天香一区二区| 亚洲一区国产| 一区二区三区高清视频在线观看| 久久精品首页| 久久精品亚洲精品| 国产精品黄视频| 亚洲精品乱码久久久久久蜜桃91| 亚洲伊人观看| 亚洲专区免费| 欧美日韩国产在线播放网站| 蜜臀va亚洲va欧美va天堂| 国产伦理一区| 亚洲性视频网站| 亚洲少妇一区| 欧美另类极品videosbest最新版本| 国产真实久久| 欧美一区二区三区播放老司机| 一道本一区二区| 欧美精品日韩| 亚洲电影自拍| 亚洲免费精品| 欧美精品v日韩精品v韩国精品v| 欧美成人官网二区| 亚洲激情一区| 欧美成人免费在线视频| 欧美成人一区二区三区在线观看 | 99精品视频免费观看| 免费观看成人www动漫视频| 看片网站欧美日韩| 在线看欧美日韩| 狼人社综合社区| 欧美国产欧美综合 | 亚洲欧美精品在线观看| 国产精品大片wwwwww| 亚洲视频在线播放| 欧美亚洲综合网| 国内外成人在线视频| 久久精品国产视频| 欧美成人精品h版在线观看| 一区二区三区在线观看视频 | 亚洲视频一区二区| 午夜精品av| 国产在线精品一区二区夜色| 久久久久91| 亚洲精品1234| 欧美日韩亚洲一区三区| 国产中文一区| 欧美大片在线看免费观看| 亚洲区在线播放| 欧美日韩综合久久| 欧美亚洲一区| 亚洲电影免费观看高清完整版| 日韩视频精品| 国产精品亚发布| 久久久久久午夜| 日韩一级片网址| 国产嫩草影院久久久久| 欧美一区在线视频| 亚洲成人在线免费| 亚洲美女精品久久| 欧美综合国产| 亚洲日韩第九十九页| 国产精品久久久久久影院8一贰佰| 香蕉久久一区二区不卡无毒影院| 伊人久久婷婷色综合98网| 欧美α欧美αv大片| 亚洲自拍偷拍网址| 欧美黄色成人网| 欧美影院一区| 日韩系列在线| 亚洲成色777777在线观看影院| 欧美视频三区在线播放| 久久先锋资源| 亚洲综合色婷婷| 亚洲人成高清| 可以看av的网站久久看| 亚洲欧美久久久| 99国产精品99久久久久久| 国产亚洲精品自拍| 欧美性猛交xxxx乱大交蜜桃| 久久天天躁狠狠躁夜夜av| 亚洲资源av| 一本色道久久88精品综合| 欧美高清视频| 久久精品女人| 先锋亚洲精品| 亚洲综合电影| 日韩天堂在线观看| 在线观看免费视频综合| 国产精品视频久久一区| 欧美日韩一二三区| 欧美精品97| 欧美激情视频免费观看| 久久青草欧美一区二区三区| 午夜欧美大尺度福利影院在线看 | 亚洲人成网站在线观看播放| 久久欧美肥婆一二区| 性欧美1819sex性高清| 亚洲一二三四区| 亚洲视频网站在线观看| 日韩视频免费在线观看| 亚洲黄网站黄| 亚洲激情第一页| 亚洲欧洲在线观看| 亚洲激情第一区| 亚洲精品综合久久中文字幕| 久久日韩精品| 美女福利精品视频| 欧美a级一区| 欧美 日韩 国产在线| 你懂的视频一区二区| 欧美激情国产日韩精品一区18| 久久天堂成人| 欧美激情1区2区3区| 亚洲国产高清一区二区三区| 欧美成人xxx| 亚洲日本欧美在线| 日韩视频中午一区| 亚洲一区在线看| 欧美一区二区三区免费观看| 久久精品亚洲国产奇米99| 久久婷婷国产综合尤物精品 | 亚洲男女自偷自拍图片另类| 亚洲欧美日韩国产一区| 欧美一区二区三区啪啪| 久久夜色精品国产| 欧美黄在线观看| 欧美午夜精品久久久久免费视| 国产精品永久| 亚洲欧洲一区二区三区久久| 日韩一区二区精品视频| 亚洲欧美国产三级| 久久久久久久波多野高潮日日| 蜜桃av久久久亚洲精品| 亚洲精品一区在线观看| 亚洲一区二区三区777| 久久久久**毛片大全| 欧美激情中文不卡| 国产日韩精品一区| 亚洲欧洲日本专区| 欧美伊人精品成人久久综合97| 免费观看成人| 亚洲色图在线视频| 久久久最新网址| 欧美性色视频在线| 伊人久久亚洲美女图片| 亚洲小说春色综合另类电影| 久久久久国产一区二区三区| 亚洲日本免费电影| 久久久久国产精品厨房| 欧美日韩午夜| 亚洲第一网站| 欧美主播一区二区三区| 亚洲黄色成人久久久| 先锋影音一区二区三区| 欧美日韩的一区二区| 伊人一区二区三区久久精品| 亚洲午夜伦理| 亚洲国产欧美日韩| 久久久国产成人精品| 国产欧美欧洲在线观看| 亚洲少妇诱惑| 亚洲精品一区二区三区不| 久久婷婷成人综合色|