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

還沒想好
還沒想好
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>
            欧美大片免费看| 欧美大片91| 国产欧美一区二区精品性| 亚洲一区二区精品在线| 99热精品在线| 国产精品一级| 久久久久成人精品| 久久久999国产| 亚洲欧洲精品一区二区三区 | 在线观看一区二区精品视频| 久久漫画官网| 蜜臀av国产精品久久久久| 最新国产乱人伦偷精品免费网站 | 久久国产一二区| 久久精品国产清高在天天线| 亚洲国产精品一区| 日韩视频精品| 国产一区二区三区黄视频| 欧美99久久| 欧美午夜剧场| 可以看av的网站久久看| 欧美国产在线电影| 欧美一区二区三区在线| 久久久亚洲午夜电影| 在线亚洲欧美视频| 欧美在线综合视频| 一区二区三区免费网站| 欧美在现视频| 在线亚洲一区观看| 久久久久久久尹人综合网亚洲| 亚洲美女中出| 久久精品成人一区二区三区蜜臀 | 一区在线免费| 一本不卡影院| 亚洲国产视频一区| 亚洲综合电影| 99精品视频一区二区三区| 欧美在线一二三四区| 一本久久a久久免费精品不卡 | 浪潮色综合久久天堂| 欧美日韩国产综合视频在线观看中文| 久久精品国产久精国产思思| 欧美国产免费| 欧美 日韩 国产 一区| 国产精品黄视频| 最近中文字幕mv在线一区二区三区四区 | 一个色综合导航| 亚洲国产精品久久久久秋霞蜜臀 | 久久久久久国产精品一区| 欧美日韩美女一区二区| 欧美大尺度在线| 国产综合自拍| 亚洲自啪免费| 亚洲欧美一区二区三区在线| 欧美日韩国产bt| 亚洲国产精品成人综合色在线婷婷| 国产一区二区三区免费在线观看| 夜夜爽99久久国产综合精品女不卡| 91久久精品美女| 裸体歌舞表演一区二区| 久久一日本道色综合久久| 国产精品一区二区欧美| 一区二区三区日韩在线观看| 99视频精品免费观看| 欧美黄色日本| 亚洲日本视频| 一区二区三区精品| 欧美日韩另类综合| 一区二区三区欧美激情| 在线亚洲欧美视频| 国产精品播放| 午夜精品免费在线| 久久久噜噜噜久久中文字免| 黄色成人小视频| 狂野欧美一区| 亚洲日本aⅴ片在线观看香蕉| 亚洲欧洲在线视频| 欧美高清在线| 一区二区三区免费在线观看| 亚洲网站啪啪| 国产欧美三级| 久久一区二区视频| 亚洲人成艺术| 亚洲一区成人| 国产在线乱码一区二区三区| 久久精品一区二区三区不卡牛牛| 美女任你摸久久| 999亚洲国产精| 国产精品色一区二区三区| 性色av一区二区三区在线观看| 久久久综合网站| 亚洲精选久久| 国产精品一区二区久久精品| 欧美一区二区三区免费观看| 男男成人高潮片免费网站| 亚洲毛片在线免费观看| 国产精品任我爽爆在线播放| 久久九九全国免费精品观看| 亚洲电影av| 欧美在线亚洲一区| 亚洲日韩成人| 国产精品综合| 免费的成人av| 午夜日韩在线观看| 亚洲人妖在线| 久久亚洲一区二区三区四区| 99视频精品全部免费在线| 国产无一区二区| 欧美日韩午夜| 麻豆精品视频在线| 亚洲一区国产精品| 亚洲高清免费在线| 久久精品成人一区二区三区蜜臀| 亚洲精品韩国| 一区二区三区在线高清| 国产精品劲爆视频| 欧美成人四级电影| 久久成人资源| 亚洲欧美另类在线观看| 亚洲人成毛片在线播放女女| 久久婷婷综合激情| 香蕉成人伊视频在线观看| 亚洲美女免费精品视频在线观看| 国产主播在线一区| 国产精品久久久久久久久| 欧美成在线观看| 久久久久久久久综合| 午夜精品久久久久久久蜜桃app | 亚洲人成77777在线观看网| 久久久久中文| 午夜视频一区在线观看| 中文无字幕一区二区三区| 亚洲国产婷婷| 伊人婷婷久久| 激情91久久| 国产亚洲精品久久飘花| 国产精品网曝门| 国产精品乱码人人做人人爱| 欧美搞黄网站| 欧美国产精品一区| 欧美电影专区| 欧美韩日一区二区三区| 欧美xart系列高清| 欧美激情黄色片| 欧美国产日本| 欧美日韩精品在线视频| 欧美日本免费| 欧美日韩中文另类| 国产精品进线69影院| 国产精品日韩一区二区| 国产精品色一区二区三区| 国产精品男gay被猛男狂揉视频| 国产精品劲爆视频| 国产欧美一区二区三区沐欲| 国产欧美日本| 伊人久久大香线| 亚洲高清一二三区| 99精品热视频只有精品10| 亚洲视频导航| 午夜精品久久久久影视| 久久久久久伊人| 欧美激情在线狂野欧美精品| 亚洲人成小说网站色在线| 一本色道久久综合| 西西人体一区二区| 久久婷婷久久| 欧美日韩精品系列| 国产欧美日韩高清| 在线观看精品一区| 一区二区三区波多野结衣在线观看| 亚洲午夜日本在线观看| 性亚洲最疯狂xxxx高清| 久久永久免费| 亚洲美女淫视频| 久久超碰97人人做人人爱| 欧美国产精品人人做人人爱| 欧美日韩综合视频| 国内精品伊人久久久久av影院| 91久久夜色精品国产九色| 99成人精品| 久久蜜桃资源一区二区老牛| 亚洲国产精品尤物yw在线观看| 一区二区三区黄色| 久久久水蜜桃| 国产精品女同互慰在线看| 亚洲国产精品成人一区二区| 正在播放日韩| 免费久久精品视频| 亚洲香蕉成视频在线观看| 久久综合影音| 国产精品揄拍500视频| 日韩亚洲欧美成人一区| 久久精品动漫| 夜夜嗨av色一区二区不卡| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲人精品午夜| 久久精品视频免费播放| 国产精品免费小视频| 日韩午夜电影av| 美日韩精品视频|