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

千張筆記

Email:rain_qian830@163.com
posts - 28, comments - 42, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

【原】Directx繪制三角形

Posted on 2008-08-26 20:16 千張 閱讀(1275) 評論(0)  編輯 收藏 引用 所屬分類: 圖形學

本文的任務是在屏幕中間繪制出一個三角形。根據前面文章的介紹,現在我們主要改寫Setup,Cleanup和Display三個函數。

第一步:
定義頂點結構體及格式(不能隨心所欲地定義,具體規則查閱Directx SDK),頂點和索引緩沖區等,這些變量為全局變量。


第二步:
改寫Setup,Cleanup和Display三個函數
Setup函數:
         1. 創建頂點緩沖區和索引緩沖區(若程序中沒有用到索引,則不用創建索引緩沖區),具體函數如下:
         Device->CreateVertexBuffer(
                    3 * sizeof(Vertex), // size in bytes
                    D3DUSAGE_WRITEONLY, // flags
                    Vertex::FVF,        // vertex format
                    D3DPOOL_MANAGED,    // managed memory pool
                    &Triangle,          // return create vertex buffer
                    0);                 // not used - set to 0
         該函數中Triangle為返回的頂點緩沖區首地址。
         在訪問緩沖區內容時必須使用Lock方法(Triangle->Lock(...).......Triangle->Unlock())。

         2.視圖空間變換
         視圖變換的定義:我們將攝像機平移變換到世界坐標系的原點并把它的方向旋轉至朝向Z軸的正方向,世界坐標系中的所有物體都將  隨著攝像機的變換而做相同的變換,這個變換就叫做視圖空間變換。
        
         我對D3DXMatrixLookAtLH函數的理解(若有錯請幫忙指出):
         D3DXMATRIX * D3DXMatrixLookAtLH(
                 D3DXMATRIX *pOut,
                 CONST D3DXVECTOR3 *pEye,
                 CONST D3DXVECTOR3 *pAt,
                 CONST D3DXVECTOR3 *pUp
         );
        參數pOut是一個矩陣,用于存儲返回的視圖變換矩陣,pEye是一個位置,即一個點,它表示攝像機的位置,相當于人的眼睛的位置,pAt也是一個位置,它與點pEye構成一條射線,這條射線的方向就是攝像機的透視體的中心軸的方向,相當于眼睛的視線方向,pUp是一個向量,這個向量和攝像機的+z軸求叉積,得到X軸的方向,然后,+z軸和X軸求叉積再計算出Y軸的方向,這就求出一個三角坐標系。

        3.投影變換
        D3DXMATRIX * D3DXMatrixPerspectiveFovLH(
             D3DXMATRIX *pOut, 
             FLOAT fovy,      
             FLOAT Aspect,
             FLOAT zn,
             FLOAT zf
        );
        例如:
        D3DXMatrixPerspectiveFovLH(
                     &proj,                        // result
                     D3DX_PI * 0.5f,               // 90 - degrees
                     (float)Width / (float)Height, // aspect ratio
                     1.0f,                         // near plane
                     1000.0f);                     // far plane
 
        4.設置渲染模式
        Device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
Cleanup函數:
        d3d::Release<IDirect3DVertexBuffer9*>(Triangle);//釋放緩沖區
Display函數:
        1.設置資源流;
        2.設置頂點格式;
        3.設置索引緩沖區。

具體代碼見翁云兵書《3D游戲程序設計入門(Directx9)》代碼中的Triangle。

PS:今天看《交互式計算機圖形學--基于opengl的自頂向下方法》這本書時,看到關于照相機定位的章節,我對D3DXMatrixLookAtLH函數的理解有一點錯誤。
現在改正如下:
參數pOut是一個矩陣,用于存儲返回的視圖變換矩陣,pEye是一個位置,即一個點,它表示攝像機的位置,相當于人的眼睛的位置,pAt也是一個位置,它與點pEye構成一條射線,這條射線的方向就是攝像機的透視體的中心軸的方向,相當于眼睛的視線方向,pUp是一個向量,把pUp向量投影到視圖平面上,得到視線的向上方向v,v和pAt垂直,這兩個向量求叉積可以得到第三個向量u,這三個向量加上pEye點就構成所需要的照相機坐標系。

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产字幕视频一区二区| 国产美女精品视频| 99国产精品视频免费观看| 久久久91精品国产| 亚洲综合欧美| 国产一区二区中文字幕免费看| 99热精品在线| 亚洲精品日韩久久| 欧美性大战久久久久久久| 欧美在线视频日韩| 亚洲一区二区三区四区在线观看| 亚洲男人第一网站| 国产精品视频一区二区三区| 欧美一区二区性| 久久视频这里只有精品| 日韩视频精品在线| 亚洲男人第一网站| 亚洲精品日韩在线观看| 亚洲色图在线视频| 在线精品亚洲一区二区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲午夜激情| 国产日韩欧美在线播放| 亚洲高清网站| 国产精品视频大全| 亚洲国产精品一区二区www| 国产精品福利片| 欧美丰满高潮xxxx喷水动漫| 国产精品久久一级| 欧美激情在线| 国产一区二区三区在线观看视频| 亚洲在线播放电影| 老司机午夜精品| 午夜精品免费在线| 欧美另类一区二区三区| 久久久久国内| 国产精品国产a| 亚洲国产日韩一区二区| 精品二区久久| 亚洲综合精品四区| 宅男在线国产精品| 免费看亚洲片| 免费看精品久久片| 黄色精品一二区| 亚洲欧美日韩另类精品一区二区三区| 欧美大香线蕉线伊人久久国产精品| 国产一区二区久久精品| 99热这里只有成人精品国产| 亚洲美女精品成人在线视频| 久久综合一区| 美女日韩在线中文字幕| 国产欧美一区二区三区久久| 一区二区欧美精品| 亚洲视频导航| 欧美日韩另类综合| 亚洲免费电影在线| 一区二区三区色| 欧美高清你懂得| 亚洲高清在线播放| 亚洲精品乱码| 欧美精品自拍| 亚洲经典三级| 一本色道久久| 欧美色大人视频| 日韩一区二区精品视频| 在线亚洲精品| 国产精品一区2区| 一区二区三区四区五区精品| 99精品国产在热久久下载| 一区二区三区高清在线观看| 欧美久久电影| 亚洲一区二区精品在线观看| 亚洲欧美日韩国产综合在线 | 好看的亚洲午夜视频在线| 亚洲视频www| 久久不射电影网| 亚洲成色www8888| 久久综合激情| 亚洲精品欧美日韩专区| 亚洲欧美不卡| 国产夜色精品一区二区av| 久久久精品久久久久| 欧美国产日韩亚洲一区| 99精品视频免费观看| 国产精品爱啪在线线免费观看| 久久久久女教师免费一区| 影音先锋国产精品| 欧美精品一区二区蜜臀亚洲| 一本色道久久综合精品竹菊| 欧美一区二区三区在线观看视频| 久久久夜夜夜| 亚洲国产欧美在线| 亚洲男人av电影| 国内外成人在线视频| 欧美激情成人在线| 亚洲一区二区三区精品在线| 噜噜噜91成人网| 在线视频欧美一区| 国产午夜精品一区理论片飘花| 夜夜嗨av色一区二区不卡| 欧美一区2区视频在线观看| 国内精品久久久久久久影视麻豆 | 亚洲一区久久久| 久久精品人人做人人综合| 亚洲国产精品激情在线观看| 欧美午夜无遮挡| 久久久亚洲高清| 亚洲欧美日韩国产综合精品二区| 亚洲一区二区动漫| 韩国av一区二区三区在线观看| 亚洲女性裸体视频| 欧美大片一区二区| 欧美一区影院| 亚洲图片在线观看| 最新精品在线| 在线精品亚洲一区二区| 国产精品人人做人人爽| 欧美福利小视频| 蜜臀av国产精品久久久久| 欧美一级二级三级蜜桃| 一本一本久久| 最新国产成人在线观看| 久久亚洲综合色| 久久精品国产综合精品| 午夜欧美不卡精品aaaaa| 99精品欧美一区二区三区| 在线观看视频一区| 国内成人精品一区| 国产午夜精品在线| 国产精品自在线| 国产精品久久久久国产a级| 欧美日韩成人免费| 欧美高清在线| 欧美激情性爽国产精品17p| 看欧美日韩国产| 久久夜色精品一区| 亚洲图片欧洲图片av| 精品51国产黑色丝袜高跟鞋| 欧美午夜视频在线| 国产精品久久久久久久久果冻传媒 | 亚洲欧美日韩在线高清直播| 亚洲精品在线电影| 91久久久久久| 亚洲免费大片| 亚洲一区二区三区四区视频| 在线视频免费在线观看一区二区| 欧美一激情一区二区三区| 亚洲一区二区精品在线观看| 中文在线资源观看网站视频免费不卡 | 久久久欧美精品sm网站| 亚洲影院免费观看| 午夜精品一区二区三区四区 | 欧美一级久久| 欧美一区二区三区在线看| 亚洲综合色自拍一区| 性欧美在线看片a免费观看| 性xx色xx综合久久久xx| 欧美综合国产| 裸体丰满少妇做受久久99精品| 99视频精品免费观看| 日韩一级黄色大片| 亚洲欧美韩国| 久久久久久久网站| 欧美va日韩va| 亚洲黄色免费| 亚洲综合电影| 模特精品在线| 国产精品家庭影院| 国产一区二区日韩精品| 在线免费不卡视频| 亚洲一区二区三区免费在线观看| 精品成人国产| 亚洲国产美女| 亚洲自拍偷拍色片视频| 久久成人18免费网站| 欧美激情视频一区二区三区免费| 久久精品亚洲一区二区三区浴池| 日韩一级片网址| 亚洲亚洲精品三区日韩精品在线视频| 亚洲国产专区| 亚洲一区免费网站| 男人的天堂亚洲| 一本大道久久a久久精二百| 久久成人羞羞网站| 欧美日韩在线高清| 精品成人在线视频| 亚洲欧美美女| 亚洲毛片av在线| 蜜月aⅴ免费一区二区三区| 国产精品一区二区三区久久久| 欧美三级视频在线播放| 狠狠色丁香婷综合久久| 99re这里只有精品6| 久久亚洲一区二区| 亚洲一区二区免费视频| 欧美精品偷拍| 亚洲精品国产品国语在线app| 亚洲精品社区| 久久综合五月| 亚洲欧美一区二区原创|