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

千張筆記

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国产精品久久久| 亚洲一区二区三区精品在线观看| 午夜精品一区二区三区电影天堂 | 中文欧美在线视频| 韩日欧美一区二区| 亚洲欧洲中文日韩久久av乱码| 欧美日本国产| 欧美日韩成人一区二区三区| 国产精品va在线| 国内精品久久国产| 亚洲美女黄网| 久久国产精品99久久久久久老狼| 在线不卡a资源高清| 在线免费观看日本一区| 一区二区免费看| 久久精品官网| 亚洲免费观看在线观看| 香蕉久久国产| 欧美华人在线视频| 国产一区二区三区久久久久久久久| 欧美插天视频在线播放| 欧美视频一区在线观看| 黑人中文字幕一区二区三区| 9久re热视频在线精品| 亚洲免费视频成人| 男女激情视频一区| 亚洲午夜在线| 欧美激情综合网| 樱桃成人精品视频在线播放| 久久爱www| 亚洲黄色免费| 亚洲第一综合天堂另类专| 亚洲午夜一区二区| 欧美日韩123| 亚洲国产91色在线| 久久久久九九九| 亚洲综合另类| 欧美日韩国产精品一区| 亚洲第一在线视频| 欧美一区二区三区四区夜夜大片| 一区二区三区视频在线| 久久本道综合色狠狠五月| 亚洲精品影院在线观看| 亚洲久久一区二区| 欧美中文在线字幕| 亚洲视频香蕉人妖| 欧美人成网站| 日韩亚洲欧美一区| 亚洲国产精品综合| 免费看av成人| 亚洲国产精品久久久久婷婷884 | 久久国产直播| 国产精品久久久久久久久久妞妞 | 香蕉亚洲视频| 妖精成人www高清在线观看| 欧美freesex8一10精品| 国精品一区二区| 久久一日本道色综合久久| 久久国产色av| 亚洲精品国久久99热| 欧美激情亚洲另类| 欧美高清视频一区二区三区在线观看| 欧美精品v日韩精品v韩国精品v| 久久这里有精品视频| 国产视频欧美| 久久精品色图| 久久久久久久激情视频| 亚洲电影第三页| 欧美高清视频一区二区| 欧美成人精品激情在线观看| 夜夜精品视频一区二区| 在线视频中文亚洲| 国产日韩一区| 美国十次成人| 欧美区亚洲区| 久久国产66| 欧美激情成人在线视频| 国产精品99久久久久久有的能看| 久久久国产视频91| 久久久久久久999| 亚洲精品婷婷| 亚洲欧美日韩精品久久久| 国产一区二区你懂的| 欧美黄色免费| 国产精品女主播| 国产一区二区三区网站| 欧美一区二区视频在线观看2020| 久久综合九色综合久99| 欧美一区二区视频在线观看| 亚洲福利久久| 亚洲一区二区在线观看视频| 黑丝一区二区三区| 亚洲精品视频在线观看免费| 国产女同一区二区| 欧美激情视频一区二区三区免费| 先锋影音网一区二区| 激情成人亚洲| 亚洲视频在线视频| 亚洲第一网站免费视频| 一区二区三区高清在线观看| 影院欧美亚洲| 亚洲免费视频中文字幕| 亚洲欧洲在线视频| 久久爱www久久做| 亚洲一区二区视频| 欧美成人精精品一区二区频| 欧美一区午夜精品| 欧美另类变人与禽xxxxx| 久久米奇亚洲| 国产精品麻豆成人av电影艾秋| 亚洲无毛电影| 狼人天天伊人久久| 久久久国产亚洲精品| 国产精品国产自产拍高清av| 亚洲第一网站免费视频| 韩日在线一区| 久久精品72免费观看| 欧美一区亚洲一区| 国产精品视频午夜| 亚洲香蕉视频| 亚洲欧美一区二区三区极速播放 | 久久国产婷婷国产香蕉| 欧美国产1区2区| 女人色偷偷aa久久天堂| 国产一区二区三区在线免费观看| 久热爱精品视频线路一| 国产精品嫩草99a| 一区二区三区四区精品| 亚洲无玛一区| 国产乱码精品一区二区三| 亚洲美女在线观看| av成人手机在线| 欧美理论电影在线播放| 一本色道久久综合亚洲精品高清 | 国产精品一区在线观看| 亚洲精品免费一二三区| 亚洲精品美女免费| 欧美精品高清视频| aa国产精品| 欧美亚洲免费| 狠狠色综合日日| 免费在线观看日韩欧美| 欧美激情性爽国产精品17p| 日韩一级在线| 欧美专区福利在线| 亚洲成人在线视频网站| 亚洲欧美日韩视频二区| 欧美一级在线视频| 国产一区亚洲| 嫩草影视亚洲| av成人国产| 欧美在线免费观看视频| 激情综合久久| 欧美日韩国产精品| 日韩亚洲欧美一区| 欧美一区二区性| 亚洲国产高潮在线观看| 欧美日韩国产在线| 亚洲一区二区三区精品在线观看| 国产一区自拍视频| 午夜在线电影亚洲一区| 久久先锋资源| 亚洲乱码国产乱码精品精98午夜| 羞羞视频在线观看欧美| 久久午夜电影网| av不卡在线| 国内精品视频久久| 欧美日本一区二区高清播放视频| 久久久精品五月天| 亚洲黄一区二区| 欧美日韩专区| 久久国产精品电影| 在线午夜精品| 91久久精品视频| 久久中文在线| 午夜亚洲精品| 一区二区三区成人| 亚洲动漫精品| 国产亚洲欧美一区| 国产精品va| 欧美日韩国产精品一卡| 狼狼综合久久久久综合网| 亚洲欧美综合v| 99国产欧美久久久精品| 免费视频久久| 欧美主播一区二区三区| 亚洲一区二区网站| 亚洲精品字幕| 91久久视频| 亚洲成人在线网站| 国产在线视频欧美一区二区三区| 亚洲男人的天堂在线观看| 亚洲第一天堂av|