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

還沒想好
還沒想好
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>
            欧美午夜三级| 精品福利av| 亚洲专区国产精品| 亚洲精品自在在线观看| 欧美日本韩国| 亚洲午夜一级| 欧美亚洲视频| 亚洲国产毛片完整版| 亚洲国产另类久久精品| 欧美国产日韩一区| 亚洲欧美在线另类| 欧美自拍偷拍午夜视频| 亚洲第一区色| 一本久道久久综合狠狠爱| 国产精品久久久久久久久搜平片| 欧美一区二区三区播放老司机| 欧美中文字幕在线| 亚洲精品一区二区在线观看| 一区二区三区偷拍| 国产夜色精品一区二区av| 欧美α欧美αv大片| 欧美激情精品久久久久| 亚洲欧美中文日韩v在线观看| 亚洲免费视频一区二区| 在线观看亚洲视频| 99re成人精品视频| 好吊视频一区二区三区四区| 亚洲二区在线视频| 国产精品视频网站| 亚洲黄色有码视频| 国产午夜精品久久久久久久| 亚洲国产精品久久久久| 国产欧美一区二区精品仙草咪 | 你懂的国产精品| 亚洲女人av| 欧美激情免费观看| 久久亚洲精品中文字幕冲田杏梨| 欧美日韩播放| 蜜桃av久久久亚洲精品| 欧美视频中文字幕在线| 欧美大片在线观看一区二区| 国产麻豆成人精品| 亚洲精品国产精品国产自| 好看的亚洲午夜视频在线| 亚洲精品综合在线| 亚洲国产高清一区| 亚洲欧美综合一区| 亚洲一区黄色| 欧美日韩综合视频网址| 欧美国产视频日韩| 国内精品伊人久久久久av一坑| 亚洲美女诱惑| 亚洲精品一区二区三区不| 久久国产精品99国产精| 小辣椒精品导航| 欧美视频一区二区三区…| 亚洲国产二区| 亚洲福利视频免费观看| 久久国产99| 久久精品2019中文字幕| 国产精品高潮粉嫩av| 日韩视频亚洲视频| 亚洲视频在线一区| 欧美日韩亚洲国产精品| 亚洲精品国久久99热| 日韩网站在线看片你懂的| 欧美成ee人免费视频| 蜜臀av性久久久久蜜臀aⅴ| 国产一区二区日韩精品欧美精品| 亚洲欧美国产一区二区三区| 欧美在线免费观看| 国产精品普通话对白| 亚洲欧美电影在线观看| 欧美一区二区视频网站| 国产毛片一区| 欧美伊人久久久久久久久影院| 羞羞视频在线观看欧美| 国产一区二区高清视频| 久久精品人人| 亚洲大胆人体在线| 日韩亚洲国产欧美| 国产精品国色综合久久| 这里只有精品视频在线| 久久av老司机精品网站导航| 国产视频在线观看一区二区| 久久精品最新地址| 欧美成人网在线| 日韩亚洲一区二区| 国产精品羞羞答答| 久久成人精品| 亚洲高清在线视频| 亚洲综合国产激情另类一区| 国产精品一级久久久| 久久成人免费网| 亚洲夫妻自拍| 欧美一级夜夜爽| 依依成人综合视频| 欧美日韩高清在线| 欧美一区二区精品在线| 欧美黄色免费网站| 亚洲午夜精品久久| 伊人久久大香线| 欧美日韩国产在线播放| 小黄鸭精品aⅴ导航网站入口| 欧美成人亚洲| 亚洲欧美文学| 亚洲人成77777在线观看网| 国产精品久久久91| 欧美成人dvd在线视频| 亚洲亚洲精品三区日韩精品在线视频| 久久精品视频亚洲| 亚洲午夜av电影| 亚洲成人自拍视频| 国产精品自拍三区| 欧美日韩国产三级| 久久久最新网址| 亚洲欧美日韩国产中文在线| 亚洲国产欧美精品| 久久久久国产一区二区| 一区二区三区欧美激情| 亚洲电影免费观看高清完整版在线 | 久久综合一区二区三区| 亚洲视频视频在线| 亚洲人成在线影院| 美日韩精品视频| 久久www成人_看片免费不卡| 亚洲视频每日更新| 日韩视频在线一区二区三区| 一区精品在线播放| 国产日韩亚洲欧美| 国产精品亚洲人在线观看| 欧美日韩精品免费观看视频| 毛片av中文字幕一区二区| 午夜亚洲影视| 亚洲欧美日本伦理| 亚洲女女女同性video| 一区二区激情视频| 99国产精品国产精品毛片| 亚洲日本激情| 亚洲黄色免费网站| 亚洲电影av| 亚洲福利视频网| 欧美国产日产韩国视频| 欧美黄色aaaa| 亚洲精品精选| 亚洲国产精品精华液网站| 亚洲二区在线视频| 亚洲黄色毛片| 亚洲乱亚洲高清| 99国产一区| 中文日韩欧美| 亚洲性色视频| 欧美一区二区在线看| 欧美一区二区三区四区高清| 久久精品30| 裸体素人女欧美日韩| 欧美国内亚洲| 欧美日韩在线三区| 国产精品亚发布| 国产在线欧美日韩| 亚洲韩日在线| 一区二区三区久久网| 亚洲欧美激情视频在线观看一区二区三区| 亚洲欧美999| 久久激情综合网| 欧美jizz19性欧美| 亚洲精品一二| 午夜综合激情| 欧美成人精品高清在线播放| 欧美日韩国产一区二区三区| 国产精品二区影院| 激情欧美国产欧美| 日韩午夜在线观看视频| 亚洲欧美视频一区二区三区| 久久亚洲不卡| 日韩一级裸体免费视频| 欧美一区二区三区免费看 | 亚洲视频精品| 久久久久久久久久久成人| 欧美激情国产高清| 国产欧美精品一区| 亚洲国产精品精华液网站| 亚洲一区欧美一区| 欧美大香线蕉线伊人久久国产精品| 亚洲精品一区在线观看| 欧美一区二区三区免费观看视频| 榴莲视频成人在线观看| 国产精品日本精品| 亚洲韩国精品一区| 久久精品99无色码中文字幕 | 久久精品成人欧美大片古装| 欧美韩国一区| 亚洲欧美日韩精品在线| 欧美伦理影院| 极品尤物久久久av免费看| 亚洲一区一卡| 亚洲欧洲精品一区二区三区波多野1战4 | 久久爱另类一区二区小说| 欧美日韩日韩| 亚洲精品日韩精品|