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

千張筆記

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>
            亚洲高清在线| 欧美在线不卡视频| 最新亚洲一区| 一区二区三区在线观看国产| 国产视频精品va久久久久久| 国产精品自拍一区| 国产精品区二区三区日本| 国产精品久久国产精品99gif| 欧美无乱码久久久免费午夜一区 | 欧美成人一区二区| 麻豆精品在线播放| 欧美日韩1080p| 国产精品美女主播在线观看纯欲| 国产精品美女久久久久av超清 | 欧美亚洲一区二区在线观看| 亚洲精品视频在线观看免费| 日韩视频精品在线| 亚洲素人一区二区| 久久久噜噜噜久久狠狠50岁| 欧美丰满高潮xxxx喷水动漫| 亚洲美女黄网| 欧美亚洲色图校园春色| 欧美xxx成人| 国产欧美日韩另类一区| 国产一区二区| 日韩亚洲欧美成人一区| 欧美一区二区三区四区在线| 欧美寡妇偷汉性猛交| 在线亚洲欧美视频| 老司机精品久久| 国产精品高潮在线| 亚洲国产精品尤物yw在线观看| 亚洲砖区区免费| 欧美大片在线观看一区| 亚洲欧美影音先锋| 欧美日韩亚洲一区在线观看| 在线播放中文一区| 欧美一区激情| 一本久道综合久久精品| 免费久久精品视频| 精品1区2区3区4区| 久久精品男女| 亚洲一区二区在线| 欧美日韩精品免费| 亚洲精品资源美女情侣酒店| 久久最新视频| 午夜精品久久久久99热蜜桃导演| 欧美日本不卡| 亚洲精品裸体| 欧美成年人视频网站欧美| 欧美一区二区在线免费观看| 国产精品视频久久久| 亚洲永久免费| av72成人在线| 欧美日韩另类丝袜其他| 亚洲伦理自拍| 亚洲激情校园春色| 久久尤物视频| 1000部国产精品成人观看| 久久不射电影网| 亚洲夜间福利| 欧美日韩一区三区| 国产精品99久久久久久人 | 欧美成人国产va精品日本一级| 午夜在线视频观看日韩17c| 欧美三级韩国三级日本三斤| 99精品视频免费全部在线| 亚洲国产小视频| 欧美精品乱码久久久久久按摩| 亚洲精品国产拍免费91在线| 欧美刺激性大交免费视频| 亚洲网站啪啪| 亚洲精品在线一区二区| 理论片一区二区在线| 久久国产夜色精品鲁鲁99| 国产一区二区三区观看| 久久精品男女| 麻豆av一区二区三区| 亚洲国产91| 亚洲日本久久| 欧美日在线观看| 欧美一区二区黄| 欧美一区二区三区四区高清| 狠狠色伊人亚洲综合网站色| 久久亚洲综合网| 欧美精品www在线观看| 亚洲免费在线电影| 欧美一区二区三区另类| 亚洲国产精品精华液2区45| 亚洲人www| 国产精品影视天天线| 久久综合九色九九| 欧美成人首页| 亚洲在线中文字幕| 欧美综合国产精品久久丁香| 91久久国产精品91久久性色| 99国产精品| 国内久久精品视频| 99国产精品99久久久久久| 国产一区二区三区成人欧美日韩在线观看 | 91久久视频| 国产精品成av人在线视午夜片| 久久精品国产亚洲aⅴ| 欧美黄色成人网| 久久国产婷婷国产香蕉| 欧美成人有码| 欧美亚洲一区二区在线| 欧美精品网站| 噜噜噜在线观看免费视频日韩| 欧美日韩精品欧美日韩精品| 狼人社综合社区| 国产精品久久亚洲7777| 欧美国产日韩一区二区| 国产伦理精品不卡| 最近中文字幕日韩精品| 韩日在线一区| 一区二区欧美国产| 99国产精品久久| 久久天堂精品| 久久精品视频在线观看| 国产精品毛片va一区二区三区 | 久久高清国产| 欧美日韩理论| 亚洲高清在线精品| 狠狠色综合日日| 99亚洲一区二区| 亚洲日韩视频| 久久香蕉国产线看观看av| 欧美一区二区三区视频免费| 欧美日韩国产另类不卡| 欧美大片第1页| 亚洲大胆人体视频| 久久精品免费播放| 久久九九免费| 国产日韩欧美自拍| 午夜亚洲伦理| 久久精品国产2020观看福利| 国产精品视频一区二区高潮| 一区二区久久久久| 亚洲淫片在线视频| 国产精品久久久久久久久久免费| 亚洲精品乱码久久久久久久久| 亚洲高清视频的网址| 久久人人97超碰国产公开结果| 久久久久久久久岛国免费| 国产亚洲精品aa| 欧美在线观看一区| 久久伊人一区二区| 亚洲电影观看| 欧美高清视频一区二区三区在线观看 | 亚洲国产欧美国产综合一区| 久久久久久久久岛国免费| 久久久夜夜夜| 在线观看一区二区精品视频| 久久夜精品va视频免费观看| 亚洲国产精品成人va在线观看| 一本色道久久精品| 欧美午夜不卡| 亚洲欧美日韩专区| 老巨人导航500精品| 亚洲伦理中文字幕| 国产精品成人一区| 午夜亚洲一区| 欧美成人一区二区三区片免费| 亚洲欧洲一级| 欧美网站在线观看| 欧美在线网站| 亚洲国产天堂久久综合网| 亚洲线精品一区二区三区八戒| 国产精品永久免费在线| 久久久久国色av免费观看性色| 欧美高清一区| 亚洲欧美韩国| 亚洲国产1区| 国产精品久久综合| 久久在线免费视频| 一本色道久久88综合亚洲精品ⅰ | 国产精品高潮在线| 久久福利视频导航| 99国产精品99久久久久久粉嫩 | 久久全国免费视频| 亚洲最新在线| 亚洲国产高清自拍| 欧美韩国日本综合| 亚洲欧美在线一区| 亚洲国产婷婷| 久久精品成人欧美大片古装| 亚洲欧洲在线播放| 国产裸体写真av一区二区| 欧美国产亚洲视频| 欧美一区二区三区另类 | 国产精品美女www爽爽爽| 性久久久久久久久久久久| 亚洲人成人一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 一区二区激情| 亚洲精品国产精品国产自| 国内外成人免费视频 | 久久久久久日产精品| 亚洲影院免费观看|