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

還沒想好
還沒想好
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 閱讀(534) 評論(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>
            免费一区二区三区| 亚洲视频电影图片偷拍一区| 欧美一二三区精品| 亚洲日本va在线观看| 国产欧美日韩视频一区二区三区| 欧美激情中文字幕一区二区| 久久精品人人做人人爽| 亚洲欧美日韩电影| 一区电影在线观看| 亚洲精品孕妇| 亚洲成人在线视频播放 | 国产精品久久久久毛片软件| 欧美99在线视频观看| 久久久久久久久综合| 亚洲欧美日韩直播| 亚洲永久免费| 亚洲午夜久久久| 在线亚洲成人| 在线一区视频| 国产精品99久久久久久久久久久久| 亚洲国产成人精品久久| 欧美福利一区| 欧美国产日韩在线| 欧美电影免费观看大全| 欧美a级一区二区| 免费欧美在线| 欧美第一黄网免费网站| 欧美成人午夜77777| 女生裸体视频一区二区三区| 欧美成人黄色小视频| 免费人成网站在线观看欧美高清 | 在线观看视频亚洲| 一区久久精品| 亚洲国产精选| 日韩亚洲不卡在线| 一区二区三区视频在线观看| 亚洲一本视频| 欧美一区二区日韩| 久久精品一二三区| 欧美/亚洲一区| 亚洲国产精品综合| 亚洲精品欧美在线| 中文精品视频| 欧美在线观看视频一区二区| 久久精品国产一区二区三区| 老司机精品视频一区二区三区| 欧美不卡激情三级在线观看| 欧美激情视频在线免费观看 欧美视频免费一 | 蜜臀av性久久久久蜜臀aⅴ| 老色鬼久久亚洲一区二区| 欧美成人午夜激情在线| 亚洲欧洲日产国产网站| 亚洲少妇自拍| 久久激情五月婷婷| 欧美bbbxxxxx| 国产精品久久久久久久久久ktv| 国产精品一区在线观看你懂的| 国产亚洲福利一区| 亚洲精品1区2区| 在线视频日韩| 久久久精品五月天| 欧美激情一区二区三区成人| 夜夜爽www精品| 久久精品卡一| 欧美日韩在线观看一区二区三区 | 亚洲激情女人| 亚洲免费影视| 欧美69wwwcom| 国产精品99久久久久久久vr | 免费亚洲电影| 99精品久久| 久久久久久尹人网香蕉| 欧美日韩一区二区视频在线| 韩国一区二区三区美女美女秀| 亚洲精品乱码久久久久久蜜桃91| 午夜精品久久久久久久99热浪潮| 久久综合九色九九| 一区二区三区欧美激情| 久久欧美中文字幕| 国产精品欧美日韩一区二区| 亚洲国产日韩在线一区模特| 亚洲欧美日韩久久精品| 亚洲大胆av| 欧美一级电影久久| 欧美日韩不卡视频| 在线观看国产精品网站| 亚洲女爱视频在线| 亚洲国产视频一区| 久久精品成人一区二区三区| 欧美三级网址| 亚洲日本中文字幕| 久久婷婷丁香| 亚洲欧美精品| 欧美日韩免费看| 亚洲激精日韩激精欧美精品| 久久精品在线播放| 一区二区三区视频在线| 欧美二区在线观看| 在线电影一区| 久久精品99国产精品日本| 在线一区免费观看| 欧美剧在线观看| 亚洲经典三级| 欧美成人第一页| 久久精品中文字幕一区| 国产视频在线观看一区二区三区| 亚洲欧美另类国产| 日韩亚洲在线| 欧美精品麻豆| 亚洲精品视频在线观看网站| 久久在线免费| 久久精品一本| 极品av少妇一区二区| 久久久av毛片精品| 午夜在线电影亚洲一区| 国产精品夜夜嗨| 午夜激情久久久| 亚洲视频福利| 国产精品免费网站| 亚洲欧美日韩视频二区| 一区二区三区视频免费在线观看| 欧美久久久久| 一区二区三区四区五区视频 | 国产亚洲欧美日韩一区二区| 午夜在线精品偷拍| 亚洲一区免费网站| 国产裸体写真av一区二区| 午夜精品久久久久久久白皮肤 | 一区二区视频免费完整版观看| 欧美中文字幕不卡| 欧美亚洲免费在线| 国内揄拍国内精品久久| 久久一区视频| 久久一区二区三区四区| 亚洲风情在线资源站| 欧美激情a∨在线视频播放| 免费成人黄色片| 日韩亚洲欧美高清| 夜夜嗨av一区二区三区免费区| 欧美午夜在线视频| 午夜宅男欧美| 久久本道综合色狠狠五月| …久久精品99久久香蕉国产| 欧美二区在线| 欧美日韩国产限制| 午夜激情综合网| 欧美在线一级视频| 亚洲国产高潮在线观看| 亚洲精品国产视频| 国产精品video| 久久精品欧美日韩| 免费成人网www| 在线亚洲免费| 欧美一级播放| 亚洲精品乱码久久久久久蜜桃91| 99视频超级精品| 国产亚洲aⅴaaaaaa毛片| 欧美激情综合色| 国产精品白丝av嫩草影院| 久久久久久香蕉网| 欧美电影免费观看高清完整版| 亚洲制服丝袜在线| 久久久av毛片精品| 亚洲视频在线观看网站| 欧美一区二区三区精品 | 亚洲欧美日韩综合aⅴ视频| 精品福利电影| 一本色道综合亚洲| 狠狠久久五月精品中文字幕| 亚洲精品欧美| 狠狠88综合久久久久综合网| 亚洲精品色婷婷福利天堂| 国产亚洲一区二区三区在线播放| 亚洲国产精品va在线看黑人动漫| 国产精品日韩欧美| 欧美激情导航| 国产日韩一区在线| 亚洲人成7777| 激情综合色综合久久| 一区二区三区日韩欧美| 亚洲国产日韩欧美综合久久| 亚洲综合不卡| 一本在线高清不卡dvd| 久久精品主播| 午夜一区二区三区不卡视频| 欧美gay视频| 玖玖视频精品| 国产精品免费视频xxxx| 亚洲欧洲精品一区二区精品久久久| 国产一区二区三区久久精品| 日韩午夜黄色| 亚洲国产日韩一区二区| 欧美在线三区| 性感少妇一区| 欧美日韩日韩| 亚洲国产美女精品久久久久∴| 激情综合色综合久久| 亚洲免费网址| 亚洲欧美国产va在线影院| 欧美久久婷婷综合色|