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

專職C++

不能停止的腳步

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

常用鏈接

留言簿(28)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

 1//設置投影矩陣
 2/*
 3    這部分雖然只有少數幾行,由于我的數學全丟給老師了,結果這里是我花時間最多的地方。
 4 */

 5void HGE_Impl::_SetProjectionMatrix(int width, int height)
 6{
 7    D3DXMATRIX tmp;
 8    /*
 9        D3DXMatrixScaling產生的縮放矩陣是讓我不明白地方,實際上,它僅僅起到以X軸旋轉180度作用。
10        我將D3DXMatrixScaling換成D3DXMatrixRotationX(&matProj,D3DX_PI),結果不變。但這個小小的東西,造成了很大的誤解。
11
12        
13        雖然選旋轉180度,再平移,再正交。但我們理解的順序,卻要完全反過來。
14        第一:重置坐標系,也就是用正交投影函數。在這里將坐標原點變成屏幕了左下角。這個Y軸向上,X軸向右
15        第二:平移,將原點向上平移屏幕的高度,這樣原點就變成左上角了。
16        第三:以X軸旋轉180度,這樣Y軸向下了。
17        經過這樣的變換后,我們就可以用我們習慣的屏幕坐了。
18
19        公式如下:
20        D3D的坐標矩陣 = 屏幕坐標矩陣* (旋轉矩陣 * 平移矩陣 * 正交矩陣) 注:這里的順序是不能變的
21        
22        D3D的坐標矩陣是以屏幕中心為原點,x(-1,1),y(-1,1),z(0,1)的坐標系。
23
24        我們可以通過這個坐標系,可以坐標還原屏幕矩陣
25        公式如下:
26        X1為D3D坐標矩陣中的X,Y1為D3D坐標矩陣中的Y
27        X2為還原的還原屏幕X,Y2為還原的還原屏幕Y
28        X2 = (X1 + 1) * (WINDOW_WIDTH/2);
29        Y2 = WINDOW_HEIGHT - (Y1 + 1) * (WINDOW_HEIGHT/2);
30        結果你會發現,這個與你輸入的結果一樣。
31
32        另外,在平移過程中,HGE多平移了0.5個單位,這個應該和紋理有關,如果剛好全屏的紋理貼圖,可能邊緣會出現問題。
33     */

34    D3DXMatrixScaling(&matProj, 1.0f-1.0f1.0f); 
35    D3DXMatrixTranslation(&tmp, -0.5f, height+0.5f0.0f); 
36    D3DXMatrixMultiply(&matProj, &matProj, &tmp); 
37    D3DXMatrixOrthoOffCenterLH(&tmp, 0, (float)width, 0, (float)height, 0.0f1.0f); 
38    D3DXMatrixMultiply(&matProj, &matProj, &tmp); 
39}

40
為了證實我理解正確,我用我實現的矩陣模板類,進行了驗證。矩陣的原代碼請參考我前面的隨筆矩陣C++實現模板
 1int main(int argc,char * argv)
 2{
 3    FloatMatrix v1(4,4),v2(4,4),v3(4,4),v(4,4);
 4    FloatMatrix p(1,4),p2(1,4);
 5    XMatrixRotationX(&v1,X_PI);
 6    XMatrixTranslation(&v2, 0.0f600.0f0.0f);
 7    XMatrixOrthoOffCenterLH(&v3, 0800.0f0600.0f0.0f1.0f);
 8    v = v1*v2*v3;
 9    p.Clear(0.0f);
10    p(1,4= 1.0f;
11    for(int x = 0; x <= 800; x+= 100)
12    {
13        for(int y = 0; y <= 600; y+= 50)
14        {
15            p(1,1= (float)(rand()%800);
16            p(1,2= (float)(rand()%600);
17            p2 = p * v;
18            p2(1,1= (p2(1,1+ 1* 400.0f;
19            p2(1,2= 600- (p2(1,2+ 1* 300.0f;
20            cout<<"Src("<<p(1,1)<<","<<p(1,2)<<") Dest=("<<p2(1,1)<<","<<p2(1,2)<<")"<<endl;
21        }

22    }

23    system("pause");
24    return 0;
25}
posted on 2010-02-03 18:15 冬瓜 閱讀(2066) 評論(1)  編輯 收藏 引用 所屬分類: 原創DirectX 、HGE

Feedback

# re: HGE的坐標轉換函數注釋說明_SetProjectionMatrix 2010-02-03 18:54 陳梓瀚(vczh)
搞3D線性代數要好啊……  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 亚洲你懂的在线视频| 免播放器亚洲一区| 欧美中文字幕在线播放| 麻豆精品网站| 欧美一区在线看| 激情久久久久久久久久久久久久久久| 亚洲精品一区二区三区不| 亚洲第一视频网站| 欧美日韩在线免费观看| 亚洲久色影视| 亚洲免费视频一区二区| 亚洲美女色禁图| 99re8这里有精品热视频免费| 亚洲精品美女久久久久| 亚洲精品久久久久中文字幕欢迎你 | 久久综合网hezyo| 欧美激情二区三区| 午夜免费在线观看精品视频| 麻豆91精品| 亚洲一区成人| 欧美日韩在线视频首页| 国产日韩在线播放| 欧美成人亚洲| 国产精品素人视频| 欧美日韩国产二区| 亚洲一区日本| 久久亚洲免费| 国产精品综合| 日韩午夜中文字幕| 亚洲午夜免费视频| 国产精品拍天天在线| 欧美亚洲视频| 久久精品国产综合| 理论片一区二区在线| 在线看成人片| 另类国产ts人妖高潮视频| 一本色道久久综合亚洲精品不| 亚洲欧美美女| 亚洲制服av| 美女久久网站| 一色屋精品视频在线看| 一区二区三区四区五区精品视频| 尤妮丝一区二区裸体视频| 亚洲精品国精品久久99热| 99精品热6080yy久久| 国产一区二区三区网站| 亚洲美女毛片| 99在线热播精品免费99热| 欧美成人精品一区| 亚洲理伦在线| 欧美激情二区三区| 日韩视频精品在线观看| 亚洲乱亚洲高清| 噜噜噜91成人网| 亚洲美女视频在线观看| 久久成人资源| 欧美一区二区三区四区高清| 日韩天天综合| 亚洲区欧美区| 欧美成在线视频| 午夜精品视频在线观看| 欧美日韩妖精视频| 久久国产精品久久久久久电车| 羞羞色国产精品| 欧美日韩免费一区| 久久久中精品2020中文| 亚洲在线日韩| 久久综合九色综合欧美狠狠| 亚洲理伦电影| 亚洲欧洲日本国产| 国产自产在线视频一区| 亚洲国产成人精品久久| 国产自产2019最新不卡| 亚洲精品视频在线观看免费| 国产一区二区高清视频| 一区二区三区成人| 亚洲电影免费观看高清完整版在线观看| 亚洲三级视频| 亚洲高清视频的网址| 国产精品乱子久久久久| 欧美日韩国产精品一区| 久久精品视频在线观看| 欧美成人四级电影| 欧美一级网站| 翔田千里一区二区| 国内精品视频666| 欧美三区美女| 欧美成人69| 久久国产精品一区二区三区| 欧美大片一区二区| 欧美搞黄网站| 亚洲一区二区三区中文字幕在线| 精品成人一区| 国产精品免费一区豆花| 欧美日韩精品系列| 欧美国产日韩视频| 欧美成人午夜免费视在线看片| 免费h精品视频在线播放| 性欧美xxxx大乳国产app| 一区二区三区欧美视频| 亚洲国产高清在线观看视频| 激情久久影院| 亚洲精品视频免费在线观看| 亚洲成色www8888| 禁久久精品乱码| 9色国产精品| 亚洲在线网站| 欧美不卡在线视频| 亚洲欧洲视频| 亚洲成人自拍视频| 久久se精品一区精品二区| 欧美a级在线| 国产亚洲一区二区三区在线观看 | 欧美激情一区二区三区不卡| 欧美激情一区| 久久久久久有精品国产| 国产精品久久久久久久久久久久| 在线观看av一区| 久久久99免费视频| 亚洲视频免费看| 欧美日本精品| 亚洲天堂第二页| 亚洲精品一级| 欧美日韩第一区日日骚| 亚洲国产小视频| 亚洲高清久久| 欧美成人一区二区三区| 亚洲人妖在线| 91久久综合| 欧美日韩p片| 亚洲午夜av在线| 99国产精品久久久久老师| 亚洲免费电影在线| 欧美日韩一区在线观看视频| 在线成人av.com| 欧美在线综合视频| 一区二区日韩| 久久久精品五月天| 国产视频欧美视频| 99精品欧美一区二区三区| 国产亚洲欧美激情| 久久黄色影院| 欧美影院视频| 激情婷婷久久| 欧美成人一区二免费视频软件| 久久精品国产第一区二区三区| 国产精品自拍一区| 欧美在线看片a免费观看| 亚洲综合色噜噜狠狠| 国产精品久久中文| 久久激情网站| 老司机67194精品线观看| 日韩视频中文| 国产精品爽爽爽| 久久久久久久久久码影片| 久久久久久成人| 亚洲国产欧美日韩精品| 亚洲国产mv| 国产精品久久久免费| 欧美一区二区三区久久精品茉莉花 | 欧美一区二区高清| 国产精品99久久久久久白浆小说 | 国产精品www.| 欧美激情视频给我| 黄色成人av在线| 亚洲精品护士| 国产视频丨精品|在线观看| 亚洲福利视频专区| 国产亚洲毛片在线| av成人免费观看| 亚洲黄网站黄| 亚洲欧美色一区| 国产一区二区三区精品久久久| 久久av老司机精品网站导航| 欧美日本在线视频| 欧美一级二级三级蜜桃| 欧美激情第一页xxx| 老牛国产精品一区的观看方式| 国产精品久久一卡二卡| 亚洲一区二区在线免费观看视频| 亚洲欧美日韩中文播放| 国产精品亚洲产品| 99综合电影在线视频| 亚洲最新在线视频| 免费一区二区三区| 久久永久免费| 午夜精品亚洲| 一区二区三区视频在线看| 亚洲精品影院| 亚洲免费观看高清在线观看| 国产一区二区日韩精品欧美精品 | 伊人久久亚洲热| 久久综合亚州| 亚洲国产黄色| 亚洲六月丁香色婷婷综合久久| 欧美日韩中文精品| 欧美亚洲三级| 亚洲精品国产日韩|