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

還沒想好
還沒想好
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 閱讀(534) | 評論 (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 閱讀(294) | 評論 (0)編輯 收藏
記錄從VC6 到 VC8遇到的問題和解決辦法
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變動很大,
// 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;
}

竟然有這么大的區別,同時看不懂VC8為什么要那么作

posted @ 2008-03-15 02:57 MDnullWHO 閱讀(994) | 評論 (0)編輯 收藏
最近在用VS 2005寫代碼,非常痛苦,VS2005是SB作的,邊寫邊罵,總是感覺VC8的界面是弱智設計的,浪費了太多了不必要的經歷
VC6 我只有一點不爽,沒有SOLUTIONG 的概念,幾個工程合在一起的時候太笨拙了
想不出來,界面咋變得那么SB了,保持VC6的風格不好么,不過MS攻關能力真是夠強大,那么多OPEN SOURCE放棄了VC6,開始只發布VC8的工程文件了
posted @ 2008-03-12 21:07 MDnullWHO 閱讀(437) | 評論 (6)編輯 收藏
僅列出標題  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久久久久久一区| 午夜在线播放视频欧美| 亚洲午夜羞羞片| 国产一区二区精品| 美女视频黄a大片欧美| 久久亚洲精品一区二区| 亚洲国产专区校园欧美| 亚洲电影中文字幕| 欧美激情五月| 翔田千里一区二区| 久久国产精品色婷婷| 亚洲国产综合视频在线观看| 亚洲激情在线激情| 国产精品免费一区二区三区在线观看 | 麻豆精品传媒视频| 一区二区三区视频免费在线观看| 亚洲天堂成人在线视频| 国内精品久久久久影院 日本资源| 久久综合九色九九| 欧美日本在线视频| 欧美一区三区三区高中清蜜桃| 久久精品视频99| 亚洲人成网站色ww在线| 亚洲新中文字幕| 在线播放日韩欧美| 亚洲天堂成人| 91久久综合| 午夜精品av| 99www免费人成精品| 午夜激情一区| 夜夜精品视频一区二区| 亚洲一区三区在线观看| 伊人男人综合视频网| 亚洲精品一区二区三区蜜桃久| 国产欧美日本在线| 日韩亚洲欧美成人一区| 国产美女诱惑一区二区| 亚洲国产精品成人久久综合一区| 国产精品一页| 亚洲日本成人| 亚洲国产日韩一区| 亚洲欧美日韩国产综合在线| 亚洲人在线视频| 久久久精品一品道一区| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲欧美伊人| 欧美理论视频| 欧美激情亚洲| 亚洲高清一二三区| 欧美中文字幕在线| 欧美在线看片| 国产精品美女久久久久久久| 亚洲国产女人aaa毛片在线| 国产尤物精品| 午夜视频久久久| 香蕉久久精品日日躁夜夜躁| 欧美福利专区| 亚洲国产精品一区二区第四页av| 国产亚洲在线观看| 羞羞漫画18久久大片| 性色av一区二区三区| 欧美视频一区二区三区四区| 亚洲免费观看高清完整版在线观看熊 | 国产日韩欧美精品| 亚洲一区二区三区四区在线观看 | 亚洲久久一区| 欧美精品乱码久久久久久按摩| 免费在线亚洲欧美| 亚洲国产精品电影| 欧美va亚洲va香蕉在线| 欧美成人性网| 日韩网站在线观看| 欧美三区不卡| 亚洲一区欧美| 久久精品国产清自在天天线| 国产一区二区三区高清播放| 午夜精品av| 免费成人在线视频网站| 亚洲国产精品久久久久秋霞不卡| 久久亚洲风情| 亚洲美女一区| 亚洲欧美激情诱惑| 国产日韩欧美不卡在线| 久久丁香综合五月国产三级网站| 久久综合网络一区二区| 在线观看日韩欧美| 欧美日产国产成人免费图片| 亚洲午夜免费视频| 久久伊人免费视频| 99re这里只有精品6| 国产精品ⅴa在线观看h| 欧美一级大片在线免费观看| 久久综合久久久| 99精品视频免费| 国产精品视频免费在线观看| 久久精品久久99精品久久| 亚洲激情小视频| 欧美在线网址| 亚洲欧洲美洲综合色网| 国产精品久久久久久久久果冻传媒 | 亚洲一区图片| 欧美电影专区| 香蕉久久夜色精品国产| 亚洲第一在线综合网站| 欧美精品在线观看播放| 亚洲欧洲99久久| 亚洲国产成人精品久久| 午夜激情久久久| 亚洲欧洲精品天堂一级 | 欧美综合国产| 91久久精品国产91久久性色| 午夜精品久久久久久| 亚洲黄色一区二区三区| 国产精品日韩精品| 欧美大片一区二区| 欧美亚洲三区| 一级日韩一区在线观看| 免费不卡中文字幕视频| 亚洲欧美日韩中文在线制服| 亚洲第一区在线| 国产日韩欧美在线一区| 欧美日韩在线一区二区三区| 老司机免费视频久久| 欧美一区二粉嫩精品国产一线天| 日韩一级在线观看| 亚洲激情影视| 欧美激情亚洲| 欧美91视频| 葵司免费一区二区三区四区五区| 亚洲欧美精品伊人久久| 一本色道综合亚洲| 亚洲激情视频在线播放| 精品动漫一区二区| 国产亚洲精品福利| 国产精品影片在线观看| 欧美视频中文字幕在线| 欧美日韩国产一区二区三区地区| 美女日韩在线中文字幕| 久久视频一区二区| 久久精品在线视频| 久久高清福利视频| 久久国产精彩视频| 久久久99国产精品免费| 欧美专区在线观看一区| 欧美亚洲免费高清在线观看| 亚洲综合色激情五月| 亚洲综合不卡| 午夜精品一区二区在线观看| 亚洲免费婷婷| 性欧美18~19sex高清播放| 性色av香蕉一区二区| 欧美伊人久久久久久久久影院| 午夜免费久久久久| 久久精品人人爽| 久久视频精品在线| 蜜桃av一区二区在线观看| 美日韩精品免费| 欧美激情中文字幕一区二区| 欧美日韩高清在线一区| 欧美日韩成人一区二区三区| 欧美日韩123| 国产精自产拍久久久久久| 狠狠色综合网站久久久久久久| 影音先锋日韩精品| 99riav1国产精品视频| 亚洲一区二区精品在线| 久久久精品tv| 亚洲成人在线视频播放| 99v久久综合狠狠综合久久| 亚洲视频一区在线| 久久久久**毛片大全| 欧美国产成人精品| 国产美女精品一区二区三区| 在线播放日韩| 亚洲在线观看免费视频| 久久一区二区三区四区五区| 欧美激情小视频| 亚洲一区中文| 免费在线看成人av| 国产精品久久久久国产a级| 国产在线观看91精品一区| 亚洲精品欧美激情| 欧美一区1区三区3区公司| 欧美成人午夜激情视频| 亚洲永久免费观看| 免费国产一区二区| 国产欧美精品日韩精品| 亚洲国产日韩精品| 久久激情一区| 日韩一区二区免费看| 久久久噜久噜久久综合| 国产精品久久999| 亚洲国产精品成人久久综合一区| 亚洲欧美日韩精品久久| 亚洲国产日本| 久久精品官网| 国产精品手机在线| 亚洲另类自拍| 免费在线播放第一区高清av|