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

還沒想好
還沒想好
posts - 4,comments - 6,trackbacks - 0
http://www.gamedev.net/community/forums/topic.asp?topic_id=412504

No... In true, PVWp is wrong because P,V and W (as Direct3D defines) were created to satisfy the [row vector]*[matrix] multiplying order. In other words, the content of a transformation matrix could be different depending on the multiplying rule.

For example, consider a translation matrix:

For a [row vector]*[matrix] multiplying order, it is described as:
1 0 0 0
0 1 0 0
0 0 1 0
x y z 1

For a [matrix]*[column vector] multiplying order, it is described as:
1 0 0 x
0 1 0 y
0 0 1 z
0 0 0 1

 


I don't know the math details you're attempting to work out... I'm really bad at formal math theory. I do however know the D3D details of what's going on. Perhaps if I explain what D3D is doing, it'll help you.

Matrix in memory normally.
11 12 13 14
21 22 23 24
31 32 33 34
41 42 43 44

Normally a vector * matrix such a D3DXMatrixTransform will do:
outx = vec dot (11,21,31,41)
outy = vec dot (12,22,32,42)
outz = vec dot (13,23,33,43)
outw = vec dot (14,24,34,44)

When you give a matrix to a shader, it is transposed, which offers a small optimization for most matrices, which I'll explain in a bit. After it's transposed, it's stored in 4 constant registers (or 3... I'll get to that).

c0 = 11,21,31,41
c1 = 12,22,32,42
c2 = 13,23,33,43
c3 = 14,24,34,44

Next, in the shader performing a "mul(vec,mat)" will do this:
v0 = input register containing position
r0 = temp register
dp4 r0.x, v0, c0 // (r0.x = v0 dot c0)
dp4 r0.y, v0, c1
dp4 r0.z, v0, c2
dp4 r0.w, v0, c3

As you can see, this is the same as D3DXMatrixTransform. Why does D3D perform a hidden transpose? To save precious constant space. You can declare your matrix as float4x3 and the transformation becomes:
dp4 r0.x, v0, c0
dp4 r0.y, v0, c1
dp4 r0.z, v0, c2
mov r0.w, (some constant holding 1)

Any time the matrix isn't a projection, ie: for world, worldview, view, and bones especially, you can drop a constant without affecting the results, as it's always a (0,0,0,1) vector. Back in shader 1.1 with only 96 constants, it was a big deal. If you had 20 bone matrices, that would be either 80 or 60 constants. Personally, I'd take the 60, leaving more room for lights, fog, texture transforms, etc. It also takes time to upload all those useless (0,0,0,1) vectors to the video card, which is another small savings.

posted on 2010-07-20 11:25 MDnullWHO 閱讀(535) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲乱码国产乱码精品精可以看| 亚洲国产高清高潮精品美女| 久久精品国产视频| 久久爱www.| 原创国产精品91| 亚洲激情视频在线| 欧美激情网站在线观看| 亚洲一区二区不卡免费| 国产精品99久久久久久久久 | 久久综合久久美利坚合众国| 久久夜色精品国产欧美乱| 日韩午夜在线电影| 亚洲视频在线观看| 狠狠爱综合网| 亚洲精品国产精品国自产观看| 国产精品福利影院| 久久免费观看视频| 欧美激情一区二区三区高清视频| 亚洲欧美日韩中文在线制服| 久久精品首页| 艳妇臀荡乳欲伦亚洲一区| 亚洲欧美日韩网| 91久久精品日日躁夜夜躁国产| 在线亚洲国产精品网站| 狠狠色狠狠色综合日日tαg| 亚洲欧洲日韩在线| 国产日韩综合一区二区性色av| 欧美成人性网| 国产精品日韩高清| 欧美国产日韩一区| 国产精品日韩在线观看| 欧美国产精品| 国产精品视频久久一区| 欧美激情一区二区久久久| 国产精品嫩草99av在线| 欧美激情精品久久久久久| 国产精品免费看片| 欧美电影在线观看| 国产欧美日韩亚洲| 亚洲精品日韩在线观看| 国产真实久久| 一区二区欧美国产| 91久久中文| 欧美一区二区视频97| 在线亚洲一区二区| 久久综合狠狠综合久久综青草| 亚洲综合日韩中文字幕v在线| 久久综合狠狠| 久久精品日韩| 国产精品盗摄久久久| 欧美激情一区二区三区在线| 国产日韩欧美一区二区三区在线观看| 亚洲激情偷拍| 亚洲第一级黄色片| 香蕉精品999视频一区二区| 中文av一区二区| 欧美1区视频| 久久午夜精品| 国产精品视频免费观看| 亚洲精品一区二区三区不| 亚洲大胆在线| 欧美一区二区三区男人的天堂| 亚洲网站在线播放| 欧美高清视频www夜色资源网| 久久久亚洲一区| 国产精品中文字幕在线观看| 日韩一级黄色大片| 亚洲精品一区二区三区四区高清| 久久久国产亚洲精品| 午夜一区不卡| 欧美日韩在线不卡一区| 亚洲国产视频a| 亚洲国产精品久久| 久久久噜噜噜久久人人看| 久久国产一区二区三区| 国产精品麻豆va在线播放| 亚洲美女黄网| 99re66热这里只有精品4| 免费国产一区二区| 免费日韩av电影| 狠狠色丁香婷婷综合| 欧美一区二区视频在线观看2020| 亚洲欧美日韩在线综合| 欧美日韩影院| 一区二区冒白浆视频| 中文一区二区| 欧美日韩一区二区在线| 亚洲精选视频免费看| 日韩视频一区二区三区在线播放| 嫩草国产精品入口| 欧美激情在线狂野欧美精品| 亚洲成色777777女色窝| 老司机免费视频久久| 免费在线播放第一区高清av| 激情婷婷久久| 久久夜精品va视频免费观看| 久久综合99re88久久爱| 精品成人一区二区| 久久精品一区四区| 蜜桃av噜噜一区二区三区| 在线成人性视频| 久久综合五月| 欧美激情一区二区三区四区| 亚洲精品网址在线观看| 欧美精品色综合| 亚洲欧洲精品一区二区| 99视频在线观看一区三区| 欧美激情在线有限公司| 亚洲精品自在久久| 亚洲无线一线二线三线区别av| 国产精品久久久久久亚洲调教| 亚洲香蕉网站| 久久国产欧美日韩精品| 影音先锋一区| 欧美1级日本1级| 日韩亚洲一区在线播放| 香蕉久久精品日日躁夜夜躁| 国产欧美一区二区三区久久人妖| 欧美一区视频| 欧美成人精品影院| 亚洲精品自在久久| 欧美日韩国内| 亚洲一区二区三区在线观看视频| 欧美在线观看视频一区二区| 国产亚洲亚洲| 久久影视精品| 亚洲精品国偷自产在线99热| 亚洲永久视频| 国产亚洲毛片| 美女亚洲精品| 夜夜嗨av色一区二区不卡| 性色av一区二区三区| 狠狠色噜噜狠狠色综合久| 欧美成年人在线观看| 99精品黄色片免费大全| 久久久不卡网国产精品一区| 亚洲国产精品va在线看黑人动漫| 欧美精品乱人伦久久久久久| 亚洲一级特黄| 毛片基地黄久久久久久天堂| 日韩亚洲不卡在线| 国产精品亚洲一区二区三区在线| 久久精品女人天堂| 亚洲人久久久| 欧美中文字幕在线视频| 亚洲第一中文字幕在线观看| 欧美日韩视频专区在线播放| 销魂美女一区二区三区视频在线| 欧美福利电影在线观看| 亚洲伊人一本大道中文字幕| 国内精品一区二区三区| 欧美经典一区二区三区| 午夜精品久久久久久99热| 亚洲高清三级视频| 欧美一级理论片| 亚洲日本va午夜在线影院| 国产精品日韩一区二区| 美女主播视频一区| 亚洲综合导航| 亚洲国产三级| 久久久久久网址| 一区二区三区久久网| 国内精品嫩模av私拍在线观看| 欧美噜噜久久久xxx| 欧美一区二区视频在线观看2020 | 欧美日韩午夜精品| 欧美在线看片a免费观看| 亚洲美女淫视频| 噜噜噜躁狠狠躁狠狠精品视频| 中国女人久久久| 激情综合色综合久久| 欧美视频一区二区三区| 美女网站久久| 欧美一区二区三区免费视频| 99精品视频免费观看| 麻豆免费精品视频| 欧美一级午夜免费电影| 亚洲毛片在线观看.| 国内精品亚洲| 国产精品一区一区| 欧美精品久久久久久| 久久免费视频一区| 亚洲自啪免费| 日韩视频在线永久播放| 欧美成人一区二区| 久久精品官网| 亚洲欧美日本国产有色| 亚洲精品永久免费| 伊人久久久大香线蕉综合直播 | 亚洲日本黄色| 男同欧美伦乱| 欧美一区二区三区在线| 中日韩午夜理伦电影免费| 91久久久亚洲精品| 黄色另类av| 国产日韩欧美日韩| 国产精品每日更新| 欧美日韩一区三区| 欧美二区在线观看| 卡一卡二国产精品|