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

還沒想好
還沒想好
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>
            欧美精品电影| 国产精品99免费看| 亚洲黄色天堂| 亚洲高清不卡av| 欧美精品色一区二区三区| 亚洲精品精选| a91a精品视频在线观看| 欧美日韩在线视频一区二区| 亚洲性xxxx| 午夜精品亚洲一区二区三区嫩草| 国产亚洲综合性久久久影院| 美女视频黄a大片欧美| 欧美不卡视频| 中文精品在线| 欧美一区亚洲二区| 久久精品午夜| 亚洲精品欧美一区二区三区| 日韩视频在线观看一区二区| 国产欧美日韩精品专区| 欧美a级在线| 欧美日韩一区二区三区在线 | 欧美色另类天堂2015| 午夜一区二区三区不卡视频| 久久精品一区| 中国av一区| 久久精品二区三区| 一本色道久久综合亚洲91| 亚洲免费影视| 99在线热播精品免费| 午夜精品亚洲| 国产精品99久久99久久久二8| 欧美一级日韩一级| 亚洲精品视频在线观看免费| 性欧美办公室18xxxxhd| 夜夜嗨av色一区二区不卡| 亚洲图片在区色| 亚洲精品久久久久久久久| 亚洲资源av| aa级大片欧美| 久久亚洲一区| 久久九九精品| 国产精品日韩一区| 亚洲精选大片| 亚洲国产综合在线看不卡| 亚洲欧美日韩综合aⅴ视频| 国产精品女人网站| 亚洲国产成人不卡| 黄色在线一区| 欧美一区二区三区的| 亚洲午夜精品久久| 欧美猛交免费看| 嫩草影视亚洲| 伊人久久亚洲美女图片| 亚洲男人的天堂在线| 亚洲色图自拍| 欧美日韩无遮挡| 亚洲精品欧美日韩专区| 亚洲国产aⅴ天堂久久| 久久精品人人爽| 久久久久久亚洲综合影院红桃 | 欧美88av| 欧美福利视频在线观看| 欧美第一黄网免费网站| 国产亚洲精品一区二区| 亚洲精品久久久久| 亚洲第一区在线观看| 欧美中文字幕在线播放| 久久国产毛片| 国产亚洲一区二区三区在线观看| 亚洲视频一区| 香蕉久久精品日日躁夜夜躁| 国产精品久久久久久久免费软件 | 欧美一区二区大片| 国产精品久久久久影院亚瑟| 亚洲少妇自拍| 久久爱另类一区二区小说| 国产欧美精品一区二区三区介绍| 午夜精品国产| 久久尤物视频| 亚洲人成在线播放| 欧美日韩一卡二卡| 亚洲在线免费观看| 久久电影一区| 亚洲高清精品中出| 欧美精品亚洲二区| 亚洲网站在线观看| 久久久成人网| 亚洲精品午夜| 国产精品日韩精品| 久久精品官网| 亚洲日本aⅴ片在线观看香蕉| 亚洲深爱激情| 国产日韩综合一区二区性色av| 久久久97精品| 亚洲美女av网站| 久久三级视频| 一区二区三区久久精品| 国产老肥熟一区二区三区| 免费视频久久| 一区二区欧美在线| 国产一区二区三区在线观看免费视频 | 在线观看国产成人av片| 欧美国产第二页| 亚洲一区二区三区免费视频| 欧美.日韩.国产.一区.二区| 亚洲视频一起| 在线播放中文一区| 国产精品视频网| 欧美国产亚洲视频| 欧美中文字幕在线视频| 亚洲精选视频免费看| 久久综合色天天久久综合图片| 亚洲另类自拍| 红桃av永久久久| 国产精品女人毛片| 欧美久久久久久蜜桃| 久久国产精品99久久久久久老狼| 日韩网站在线| 最新国产拍偷乱拍精品| 久久久国产一区二区三区| 宅男在线国产精品| 亚洲欧洲日韩在线| 国精品一区二区三区| 国产精品免费一区豆花| 欧美日韩国产黄| 欧美成人免费全部| 久久久久亚洲综合| 欧美一区二区在线观看| 一区二区三区四区在线| 最新日韩在线| 91久久久精品| 亚洲高清视频在线| 欧美黄色精品| 欧美不卡激情三级在线观看| 久久久蜜桃一区二区人| 久久国产精品久久w女人spa| 亚洲欧美精品中文字幕在线| 亚洲视频免费| 一二三区精品| 亚洲视频播放| 一区二区三区免费网站| 一本综合久久| 亚洲午夜激情在线| 中文精品视频一区二区在线观看| 日韩亚洲一区二区| 99国产一区二区三精品乱码| 99精品国产一区二区青青牛奶| 亚洲人成网站精品片在线观看| 亚洲日本成人| 亚洲美女毛片| 在线视频你懂得一区二区三区| 一区二区三区高清在线观看| 中文久久乱码一区二区| 亚洲一区国产一区| 亚洲欧美日韩国产综合| 欧美一区影院| 久久综合中文字幕| 欧美激情一二区| 亚洲国产一区在线观看| 亚洲精品中文字幕有码专区| 亚洲视频一区二区免费在线观看| 亚洲线精品一区二区三区八戒| 亚洲一区久久久| 久久久久五月天| 欧美金8天国| 国产精品私人影院| 国内精品视频一区| 亚洲欧洲一区二区在线播放| 一本色道久久88精品综合| 亚洲在线观看| 久久综合影视| 91久久精品国产91性色tv| 一本综合精品| 久久国产一区二区| 欧美激情在线有限公司| 国产精品热久久久久夜色精品三区| 国产亚洲欧美一级| 亚洲美女尤物影院| 久久成人精品| 亚洲精品美女免费| 香蕉亚洲视频| 欧美日韩国产美| 一区二区三区在线不卡| 一区二区三区欧美日韩| 久久精品在线免费观看| 亚洲欧洲精品一区二区三区| 香蕉成人啪国产精品视频综合网| 男人的天堂成人在线| 国产欧美日韩另类一区| 亚洲精品日产精品乱码不卡| 欧美专区在线观看一区| 91久久黄色| 久久免费少妇高潮久久精品99| 国产精品激情偷乱一区二区∴| 亚洲成人在线网站| 欧美一区二区三区另类| 亚洲毛片一区二区| 免费成人小视频| 韩国v欧美v日本v亚洲v| 亚洲在线一区二区|