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

千張筆記

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

【原】Directx繪制三角形

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

本文的任務(wù)是在屏幕中間繪制出一個(gè)三角形。根據(jù)前面文章的介紹,現(xiàn)在我們主要改寫Setup,Cleanup和Display三個(gè)函數(shù)。

第一步:
定義頂點(diǎn)結(jié)構(gòu)體及格式(不能隨心所欲地定義,具體規(guī)則查閱Directx SDK),頂點(diǎn)和索引緩沖區(qū)等,這些變量為全局變量。


第二步:
改寫Setup,Cleanup和Display三個(gè)函數(shù)
Setup函數(shù):
         1. 創(chuàng)建頂點(diǎn)緩沖區(qū)和索引緩沖區(qū)(若程序中沒有用到索引,則不用創(chuàng)建索引緩沖區(qū)),具體函數(shù)如下:
         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
         該函數(shù)中Triangle為返回的頂點(diǎn)緩沖區(qū)首地址。
         在訪問緩沖區(qū)內(nèi)容時(shí)必須使用Lock方法(Triangle->Lock(...).......Triangle->Unlock())。

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

        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.設(shè)置渲染模式
        Device->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
Cleanup函數(shù):
        d3d::Release<IDirect3DVertexBuffer9*>(Triangle);//釋放緩沖區(qū)
Display函數(shù):
        1.設(shè)置資源流;
        2.設(shè)置頂點(diǎn)格式;
        3.設(shè)置索引緩沖區(qū)。

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

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

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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色在线| 最新国产成人在线观看| 日韩午夜一区| 亚洲欧美日韩精品久久| 午夜精品福利一区二区三区av| 亚洲在线网站| 欧美专区日韩视频| 美女国产一区| 亚洲人成欧美中文字幕| 亚洲精品之草原avav久久| 一区二区三区波多野结衣在线观看| 中文久久精品| 欧美中文字幕第一页| 久久免费少妇高潮久久精品99| 米奇777超碰欧美日韩亚洲| 欧美激情视频给我| 欧美视频一区在线| 国产一区二区三区丝袜| 亚洲福利视频专区| 一区二区欧美精品| 久久国产精品久久w女人spa| 欧美国产日韩精品免费观看| 日韩一级大片| 久久久久9999亚洲精品| 欧美激情国产日韩精品一区18| 欧美四级电影网站| 永久555www成人免费| 中文精品在线| 美女图片一区二区| 99国产精品99久久久久久粉嫩| 午夜精品999| 久久久久久久尹人综合网亚洲 | 亚洲激情专区| 亚洲深爱激情| 欧美/亚洲一区| 欧美午夜电影在线| 亚洲高清视频的网址| 午夜精品一区二区三区在线| 农村妇女精品| 亚洲一区二区三区视频播放| 美女精品国产| 国产精品日韩欧美大师| 亚洲激情自拍| 久久久夜精品| 亚洲网站在线观看| 欧美激情片在线观看| 国内成人精品视频| 亚洲一区二区影院| 欧美韩日高清| 久久精品盗摄| 国产精品国产三级国产专区53 | 久久久久国色av免费观看性色| 欧美激情综合在线| 韩国女主播一区二区三区| 亚洲一区二区三区四区视频| 欧美激情第10页| 欧美在线91| 国产精品资源在线观看| 一区二区三区蜜桃网| 欧美18av| 欧美自拍丝袜亚洲| 国产精品一区在线观看| 一区二区三区日韩在线观看| 欧美高清视频| 久久久亚洲综合| 国模私拍一区二区三区| 亚洲欧美三级伦理| 日韩视频在线一区二区三区| 蜜桃av噜噜一区| 亚洲二区在线视频| 久久综合久久88| 午夜精品偷拍| 国产精品亚洲а∨天堂免在线| 一本色道久久88综合亚洲精品ⅰ| 欧美sm视频| 久久综合网hezyo| 激情综合中文娱乐网| 久久精品国产亚洲一区二区| 亚洲午夜av电影| 欧美亚一区二区| 亚洲午夜久久久久久尤物 | 欧美在线三级| 国产精品s色| 亚洲在线视频观看| aa级大片欧美| 国产精品videosex极品| 亚洲一区bb| 在线中文字幕不卡| 国产精品v欧美精品v日韩| 亚洲一区二区三区精品视频 | 欧美日本三级| 一区二区高清| 日韩视频在线你懂得| 欧美日韩午夜在线| 亚洲欧美激情视频| 亚洲性av在线| 国产色综合天天综合网| 久久久久久一区二区三区| 久久er精品视频| 尤妮丝一区二区裸体视频| 欧美刺激午夜性久久久久久久| 久久亚洲一区二区三区四区| 亚洲经典自拍| 日韩一级欧洲| 国产精品日本欧美一区二区三区| 欧美在线黄色| 久久裸体艺术| 亚洲美女av网站| 一区二区日韩伦理片| 国产乱理伦片在线观看夜一区| 久久精品成人一区二区三区蜜臀| 欧美在线视频观看免费网站| 尤物精品国产第一福利三区 | 免费观看在线综合色| 日韩香蕉视频| 亚洲视频网站在线观看| 国产日韩欧美精品综合| 另类酷文…触手系列精品集v1小说| 久久国产成人| 日韩亚洲欧美在线观看| 亚洲一区二区在线播放| 国内激情久久| 亚洲人成在线观看网站高清| 国产精品日韩二区| 麻豆国产精品va在线观看不卡| 欧美高清视频免费观看| 亚洲一区二区精品视频| 久久高清福利视频| 99国产精品国产精品久久| 亚洲一区欧美一区| 亚洲国产精品久久久久婷婷老年| 亚洲免费av观看| 国产一区久久| 亚洲人成人77777线观看| 国产精品免费一区二区三区在线观看| 久久青草久久| 欧美日韩一级片在线观看| 久久亚洲影院| 欧美性色视频在线| 欧美成人在线免费观看| 国产精品久在线观看| 欧美国产一区二区| 国产欧美大片| 亚洲人成网在线播放| 国产亚洲一区二区在线观看| 亚洲欧洲一区二区在线播放| 国产综合久久久久久| 亚洲乱码国产乱码精品精| 韩日视频一区| 亚洲天堂成人| 亚洲精品久久久久久一区二区| 性做久久久久久免费观看欧美| 亚洲免费激情| 久久久久久网址| 欧美一区成人| 欧美日韩国产专区| 欧美韩日一区二区| 国产私拍一区| 亚洲一区二区三区四区在线观看| 亚洲人人精品| 久久手机免费观看| 久久精品成人欧美大片古装| 欧美三级午夜理伦三级中文幕| 欧美电影免费观看网站| 国产亚洲欧美日韩美女| 亚洲素人在线| 一区二区三区免费在线观看| 久久一区免费| 久久免费视频网| 国产欧美日韩伦理| 中国成人在线视频| 99伊人成综合| 欧美wwwwww| 欧美不卡三区| 在线观看欧美亚洲| 久久精品亚洲精品国产欧美kt∨| 午夜在线电影亚洲一区| 欧美色精品在线视频| 亚洲精品久久久一区二区三区| 亚洲国产日韩欧美在线99| 欧美中日韩免费视频| 久久国产精品久久精品国产| 国产精品一二一区| 中国成人黄色视屏| 亚洲一区二区在线免费观看视频| 欧美激情一区二区在线| 亚洲第一毛片| 亚洲人成网站精品片在线观看| 久久人91精品久久久久久不卡| 老司机免费视频一区二区| 国产亚洲精品久久久久久| 午夜久久久久| 久久视频一区二区| 国内成+人亚洲| 久久久久久电影| 欧美国产精品人人做人人爱|