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

還沒想好
還沒想好
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 閱讀(526) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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在线| 亚洲精选91| 亚洲欧美日韩国产精品| 国产亚洲制服色| 欧美激情一区二区三区| 欧美日韩国产成人| 欧美在线在线| 欧美激情第1页| 性8sex亚洲区入口| 另类尿喷潮videofree| 一本色道久久综合狠狠躁篇怎么玩 | 欧美成人免费网| 亚洲少妇自拍| 久久精品国产一区二区三区| 99精品免费视频| 欧美在线免费| 日韩一区二区电影网| 欧美一区二区高清| 亚洲麻豆av| 久久爱www久久做| 亚洲图片在线观看| 麻豆国产精品一区二区三区| 亚洲欧美精品在线| 欧美激情国产精品| 蜜臀久久99精品久久久久久9| 欧美日韩国产色视频| 久久综合色影院| 国产精品嫩草影院一区二区| 亚洲国产成人精品久久| 国产目拍亚洲精品99久久精品| 欧美成人免费在线观看| 国产欧美精品一区二区色综合| 欧美激情中文字幕乱码免费| 国产亚洲午夜| 在线综合亚洲欧美在线视频| 亚洲激情在线| 久久青草欧美一区二区三区| 欧美一区日本一区韩国一区| 欧美日韩国产一区二区三区地区| 久热精品视频| 国产日韩欧美一区在线| 一个人看的www久久| av成人免费在线| 欧美成人一区二免费视频软件| 久久亚洲国产成人| 国内视频一区| 欧美在线免费| 久久亚洲捆绑美女| 国模精品娜娜一二三区| 香蕉免费一区二区三区在线观看| 亚洲永久免费精品| 欧美午夜精品久久久久久久| 亚洲激情欧美| 日韩五码在线| 欧美精品久久99| 亚洲精品视频一区二区三区| 99精品国产99久久久久久福利| 女生裸体视频一区二区三区| 欧美福利一区| 亚洲免费观看视频| 欧美日本不卡| 亚洲天堂免费在线观看视频| 亚洲一区二区在线播放| 欧美日韩一区在线观看视频| 最新日韩在线| 亚洲一区在线免费观看| 欧美精品 国产精品| 亚洲日本无吗高清不卡| 在线亚洲成人| 国产精品美女久久久久久免费| 亚洲尤物视频网| 久久综合电影一区| 最近中文字幕日韩精品 | 99热这里只有成人精品国产| 亚洲美女色禁图| 欧美午夜精品理论片a级大开眼界| 亚洲美女福利视频网站| 午夜精品久久久久久久99水蜜桃| 国产欧美日韩综合精品二区| 久久精品国产精品亚洲综合| 欧美激情一级片一区二区| 正在播放亚洲一区| 国产一区二区观看| 99亚洲视频| 欧美日韩精品一二三区| 亚洲欧美韩国| 亚洲第一二三四五区| 亚洲午夜视频| 樱桃视频在线观看一区| 欧美伦理一区二区| 欧美中在线观看| 91久久午夜| 久久久免费精品视频| 一本色道久久综合精品竹菊| 国产综合一区二区| 欧美日韩高清在线播放| 久久精品国产成人| 99在线精品视频| 欧美福利专区| 久久久久久久999| 国产精品99久久久久久久女警| 国内精品视频在线观看| 欧美日韩在线亚洲一区蜜芽| 久久嫩草精品久久久精品| 亚洲视频在线观看一区| 亚洲激情偷拍| 久久综合亚州| 欧美中文字幕久久| 亚洲一区免费在线观看| 亚洲黄色成人| 一区二区三区无毛| 国产精品一区二区三区四区五区 | 亚洲欧美国产另类| 99re66热这里只有精品4| 欧美福利视频在线观看| 久久免费国产| 久久精品99| 午夜精品婷婷| 亚洲欧美第一页| 中文精品视频一区二区在线观看| 亚洲国产日韩一区| 在线看一区二区| 怡红院精品视频| 黄色成人精品网站| 国产一区二区三区视频在线观看| 欧美系列亚洲系列| 欧美三级中文字幕在线观看| 欧美国产一区二区在线观看| 老司机久久99久久精品播放免费| 香蕉免费一区二区三区在线观看| 亚洲综合999| 欧美亚洲视频在线观看| 亚洲自拍三区| 欧美一区激情| 久久成人免费电影| 久久九九99| 快射av在线播放一区| 久久综合狠狠综合久久综合88 | 亚洲一区三区视频在线观看 | 欧美激情在线观看| 亚洲激情av| 一区二区电影免费在线观看| 一本色道久久99精品综合| 国产精品99久久久久久久vr | 99视频一区| 亚洲一区在线视频| 欧美在线观看视频一区二区三区 | 亚洲国产视频一区| 99精品视频免费观看视频| 亚洲视频 欧洲视频| 亚洲制服欧美中文字幕中文字幕| 午夜欧美不卡精品aaaaa| 久久久国产精品亚洲一区| 老**午夜毛片一区二区三区| 欧美激情导航| 亚洲免费激情| 香蕉久久久久久久av网站| 久久精品男女| 欧美精品一区二区三区很污很色的 | 蜜桃av一区二区在线观看| 欧美黄色影院| 国产精品女主播一区二区三区| 国产日韩视频| 亚洲精品国产日韩| 亚洲欧美精品一区| 免费在线欧美黄色| 一区二区三区免费在线观看| 亚洲男人第一网站| 模特精品在线| 国产麻豆视频精品| 亚洲国产综合在线| 性欧美超级视频| 欧美激情精品久久久久久免费印度| 亚洲美女黄网| 久久精品一区二区国产| 欧美日韩在线播| 亚洲美女视频网| 欧美一区二区三区四区在线观看地址| 噜噜噜躁狠狠躁狠狠精品视频| 欧美午夜精品久久久| 亚洲高清免费在线| 久久xxxx| 一区二区三区**美女毛片| 久久久免费av| 国产欧美精品日韩| 中文久久精品| 亚洲国产精品黑人久久久| 午夜精品一区二区三区电影天堂| 欧美大片一区二区| 狠狠色丁香婷婷综合| 欧美一区二区三区免费视| 亚洲美女在线视频| 欧美a级在线| 极品日韩久久|