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

還沒(méi)想好
還沒(méi)想好
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 @ 2010-07-20 11:25 MDnullWHO 閱讀(536) | 評(píng)論 (0)編輯 收藏
1): #define YY_NO_UNISTD_H
2): http://stackoverflow.com/questions/2793413/unistd-h-related-problem-when-compiling-bison-flex-program-under-vc

isatty is used by the lexer to determine if the input stream is a terminal or a pipe/file. The lexer uses this information to change its caching behavior (the lexer reads large chunks of the input when it is not a terminal). If you know that your program will never be used in an interactive kind, you can add %option never-interactive to you lexer. When the program is run with user input, use %option interactive. When both uses are desired, you can either generate an interactive lexer, which gives a performance loss when used in batch mode, or provide your own isatty function.

flex.exe --never-interactive
posted @ 2010-07-05 10:23 MDnullWHO 閱讀(298) | 評(píng)論 (0)編輯 收藏
記錄從VC6 到 VC8遇到的問(wèn)題和解決辦法
1) msvcr80d.dll 找不到
 1)) manifest WIN32 set Yes, 2)) ignore msvcrt.lib
 /*
 

Hi there,

I read every post in this thread without any help in my case.

The problem turned out: The DEBUG version was trying to link with BOTH msvcr80.dll and msvcr80d.dll.

Check if this is the case for you using the "dependency walker" on your executable. If these two are both loaded, then you got the same problem as I did.

The solution is to set "Properties->Linker->Input->Ignore Specific library" to "msvcrt.lib".

 

More details below:

I was compiling and running a program that uses opencv library. One of the libraries in opencv (highgui to be exact) was linking with non-debug versions of some graphics libraries even in its debug version. Apparently this was OK before. 

This resulted in my debug version program linking with both msvcr80.dll and msvcr80d.dll. It appears this is a problem since the manifest only mentions one of these libraries and the other one (msvcr80.dll) appears not to be found causing the error mentioned in this thread. Why no-one in this thread mentioned that this could be the case is beyond me. I found out about this using "dependency walker" on the .exe that I compile and/or the highgui100d.dll that I load from the library.

That is the reason the complaint is about msvcr80.dll and not msvcr80d.dll in VS8!!!

The fix is to re-compile highgui100d.dll (debug version) with Properties->Linker->Input->Ignore Specific library set to singly "msvcrt.dll".

Just wanted to add this so other people do not waste time as I did...

Hakan

*/

2) MFC 
 MFC 從VC6到V8變動(dòng)很大,
// VC8
LRESULT CDialogBar::HandleInitDialog(WPARAM, LPARAM)
{
 Default();  // allow default to initialize first (common dialogs/etc)

 // create OLE controls
 COccManager* pOccManager = afxOccManager;
 if ((pOccManager != NULL) && (m_pOccDialogInfo != NULL))
 {
  if (!pOccManager->CreateDlgControls(this, m_lpszTemplateName,
   m_pOccDialogInfo))
  {
   TRACE(traceAppMsg, 0, "Warning: CreateDlgControls failed during dialog bar init.\n");
   return FALSE;
  }
 }

 return FALSE;
}

//VC6
LRESULT CDialogBar::HandleInitDialog(WPARAM, LPARAM)
{
 Default();  // allow default to initialize first (common dialogs/etc)

 // create OLE controls
 COccManager* pOccManager = afxOccManager;
 if ((pOccManager != NULL) && (m_pOccDialogInfo != NULL))
 {
  if (!pOccManager->CreateDlgControls(this, m_lpszTemplateName,
   m_pOccDialogInfo))
  {
   TRACE0("Warning: CreateDlgControls failed during dialog bar init.\n");
   return FALSE;
  }
 }

 return TRUE;
}

竟然有這么大的區(qū)別,同時(shí)看不懂VC8為什么要那么作

posted @ 2008-03-15 02:57 MDnullWHO 閱讀(997) | 評(píng)論 (0)編輯 收藏
最近在用VS 2005寫(xiě)代碼,非常痛苦,VS2005是SB作的,邊寫(xiě)邊罵,總是感覺(jué)VC8的界面是弱智設(shè)計(jì)的,浪費(fèi)了太多了不必要的經(jīng)歷
VC6 我只有一點(diǎn)不爽,沒(méi)有SOLUTIONG 的概念,幾個(gè)工程合在一起的時(shí)候太笨拙了
想不出來(lái),界面咋變得那么SB了,保持VC6的風(fēng)格不好么,不過(guò)MS攻關(guān)能力真是夠強(qiáng)大,那么多OPEN SOURCE放棄了VC6,開(kāi)始只發(fā)布VC8的工程文件了
posted @ 2008-03-12 21:07 MDnullWHO 閱讀(441) | 評(píng)論 (6)編輯 收藏
僅列出標(biāo)題  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 最新国产成人在线观看| 午夜一区二区三视频在线观看| 久久午夜av| 亚洲视频图片小说| 欧美国产日韩一区二区| 国产一区二区三区成人欧美日韩在线观看 | 在线视频国产日韩| 亚洲一区二区黄色| 亚洲成色777777在线观看影院| 在线成人黄色| 欧美淫片网站| 一级成人国产| 欧美成人一区二区在线| 亚洲午夜精品17c| 午夜精品久久久久久| 国产精品国产三级国产aⅴ9色| 亚洲高清在线| 欧美成人一区二区三区片免费| 亚洲影院在线| 国产精品日韩| 亚洲自拍电影| 亚洲午夜一二三区视频| 国产精品国产三级国产普通话99| 欧美一二区视频| 久久综合激情| 亚洲电影av在线| 99综合视频| 欧美午夜视频在线| 亚洲一区二区三区在线视频| 香蕉久久夜色精品国产| 国产视频在线观看一区二区| 欧美福利视频在线| 国产精品午夜在线| 亚洲国产精品第一区二区| 欧美黄色免费网站| 久久国产精品久久久久久电车| 亚洲国产精品久久久久秋霞影院 | 免播放器亚洲| 亚洲国产欧美一区二区三区久久 | 亚洲人成网站在线播| 亚洲午夜在线观看| 亚洲精品一二三| 亚洲日本中文字幕免费在线不卡| 欧美**字幕| 宅男精品视频| 亚洲一区二区在线免费观看视频 | 国内成人在线| 欧美va天堂| 欧美日韩国产小视频在线观看| 久久久久久一区二区| 老司机凹凸av亚洲导航| 欧美自拍偷拍| 国产精品亚洲综合| 一本久久综合亚洲鲁鲁五月天| 亚洲国产福利在线| 久久久久久伊人| 亚洲一级片在线观看| 欧美成人资源| 亚洲人成人77777线观看| 影音先锋中文字幕一区| 欧美在线一二三四区| 久久爱www| 国产午夜一区二区三区| 欧美一级电影久久| 亚洲精品国产精品国产自| 久久精品国产精品亚洲精品| 亚洲精品日本| 欧美成人中文字幕| 亚洲日本中文字幕| 亚洲一区二区三区在线视频| 欧美天堂亚洲电影院在线观看| 久久久久久久97| 欧美片在线观看| 久久五月激情| 亚洲风情亚aⅴ在线发布| 久久免费黄色| 久久久久久久久久久久久久一区| 国产欧美精品| 一本久道久久综合狠狠爱| 999在线观看精品免费不卡网站| 午夜精品视频网站| 久久久久www| 亚洲日本乱码在线观看| 欧美福利视频| 宅男噜噜噜66一区二区| 欧美在线亚洲综合一区| 亚洲高清在线播放| 欧美日韩视频不卡| 亚洲精品国产系列| 亚洲综合色激情五月| 国产一区二区久久| 欧美大片一区二区三区| 一区二区三区av| 久久久夜夜夜| 99这里有精品| 欧美日本国产| 亚洲欧美日本国产有色| 亚洲午夜精品一区二区| 国产日韩免费| 欧美激情女人20p| 欧美国产丝袜视频| 亚洲国产精品国自产拍av秋霞 | 亚洲性xxxx| 狼人社综合社区| 一区二区三区无毛| 久久久亚洲精品一区二区三区 | 91久久精品国产91久久| 亚洲国产精品免费| 欧美午夜精品久久久久久孕妇| 性色一区二区三区| 亚洲欧洲中文日韩久久av乱码| 欧美亚洲一区二区三区| 亚洲人成网站色ww在线| 国产主播一区二区| 国产精品av一区二区| 久久亚洲私人国产精品va媚药| 亚洲天堂视频在线观看| 亚洲成人在线网| 毛片一区二区| 欧美中文在线字幕| 一本大道av伊人久久综合| 亚洲国产精品激情在线观看| 国产日韩欧美日韩| 国产精品vvv| 欧美日韩国产综合视频在线观看中文| 久久福利一区| 久久er精品视频| 亚洲欧美福利一区二区| 亚洲无吗在线| 一本久久综合亚洲鲁鲁五月天| 欧美激情一区在线观看| 久久在线播放| 久久精品人人做人人综合| 亚洲欧美一区二区激情| 韩日精品视频一区| 欧美日本高清| 欧美精品999| 欧美好吊妞视频| 欧美国产日韩精品免费观看| 老司机午夜精品| 麻豆精品国产91久久久久久| 久久婷婷国产综合国色天香| 欧美一级在线亚洲天堂| 午夜性色一区二区三区免费视频| 一本色道久久综合亚洲精品按摩 | 另类av导航| 欧美~级网站不卡| 蘑菇福利视频一区播放| 欧美成人高清| 亚洲欧洲免费视频| 亚洲卡通欧美制服中文| 久久久久久久综合日本| 久久久国产亚洲精品| 久久久久久亚洲精品中文字幕| 久久精品成人| 欧美 日韩 国产在线| 欧美国产日韩视频| 亚洲日本视频| 这里只有精品视频| 欧美亚洲日本一区| 久久亚洲欧美| 欧美日韩国产欧| 国产欧美在线播放| 狠狠综合久久av一区二区小说| 在线观看欧美一区| 99亚洲一区二区| 小处雏高清一区二区三区| 久久午夜激情| 亚洲免费观看| 亚洲国产三级| 亚洲天堂网在线观看| 欧美专区在线| 欧美激情精品久久久六区热门 | 禁断一区二区三区在线| 亚洲国产精品一区在线观看不卡| 亚洲精品自在在线观看| 在线观看精品视频| 在线天堂一区av电影| 欧美中日韩免费视频| 亚洲国产精品久久久久久女王| 一区二区三区免费观看| 久久国产毛片| 欧美精品在线免费播放| 国产乱码精品1区2区3区| 国产欧美精品va在线观看| 亚洲青涩在线| 久久精品91久久香蕉加勒比 | 午夜伦理片一区| 蜜桃av一区二区| 另类av一区二区| 亚洲一区www| 欧美国产精品中文字幕| 国产综合激情| 欧美一级片久久久久久久| 亚洲人线精品午夜|