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

隨筆 - 85  文章 - 47  trackbacks - 0

常用鏈接

隨筆分類

隨筆檔案

搜索

  •  

最新評論

1. 在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000、0001、0002等主鍵下,查找DriverDesc,內容為你要修改的網卡的描述,如“Realtek RTL8029(AS)-based PCI Ethernet Adapter”。
2. 如果在0001下找到了1中的DriverDesc,在其下,添加一個字符串,命名為NetworkAddress,其值設為你要的MAC地址(注意地址還是連續寫)。如:00E0DDE0E0E0。
3. 然后到其下Ndi\params中添加一項名為NetworkAddress的主鍵,在該主鍵下添加名為default的字符串,其值是你要設的MAC地址,要連續寫,如:000000000000。(實際上這只是設置在后面提到的高級屬性中的“初始值”,實際使用的MAC地址還是取決于在第2點中提到的NetworkAddress參數,這個參數一旦設置后,以后高級屬性中的值就是NetworkAddress給出的值而非default給出的了。)
4. 在NetworkAddress的主鍵下繼續添加名為ParamDesc的字符串,其作用為指定NetworkAddress主鍵的描述,其值可自己命名,如“Network Address”,這樣在網卡的高級屬性中就會出現Network Address選項,就是你剛在注冊表中加的新項NetworkAddress,以后只要在此修改MAC地址就可以了。繼續添加名為Optional的字符串,其值設為“1”,則以后當你在網卡的高級屬性中選擇Network Address項時,右邊會出現“不存在”選項。
5. 重新啟動你的計算機,打開網絡鄰居的屬性,雙擊相應網卡項會發現有一個Network Address的高級設置項,可以用來直接修改MAC地址或恢復原來的地址(選中不存在)。

For Windows 2000/XP

Method 1:
This is depending on the type of Network Interface Card (NIC) you have. If you have a card that doesn’t support Clone MAC address, then you have to go to second method.
a) Go to Start->Settings->Control Panel and double click on Network and Dial-up Connections.
b) Right click on the NIC you want to change the MAC address and click on properties.
c) Under "General" tab, click on the "Configure" button
d) Click on "Advanced" tab
e) Under "Property section", you should see an item called "Network Address" or "Locally Administered Address", click on it.
f) On the right side, under "Value", type in the New MAC address you want to assign to your NIC. Usually this value is entered without the "-" between the MAC address numbers.
g) Goto command prompt and type in "ipconfig /all" or "net config rdr" to verify the changes. If the changes are not materialized, then use the second method.
h) If successful, reboot your system.

Method 2:
This should work on all Windows 2000/XP systems
a) Go to Start -> Run, type "regedt32" to start registry editor. Do not use "Regedit".
b) Go to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}". Double click on it to expand the tree. The subkeys are 4-digit numbers, which represent particular network adapters. You should see it starts with 0000, then 0001, 0002, 0003 and so on.
c) Find the interface you want by searching for the proper "DriverDesc" key.
d) Edit, or add, the string key "NetworkAddress" (has the data type "REG_SZ") to contain the new MAC address.
e) Disable then re-enable the network interface that you changed (or reboot the system).

Method 3:
Use the program Etherchange from http://ntsecurity.nu/toolbox/etherchange/
posted @ 2008-08-31 00:16 w2001 閱讀(788) | 評論 (0)編輯 收藏
http://www.raytheon.com/newsroom/technology/rtn08_exoskeleton/

posted @ 2008-06-06 16:35 w2001 閱讀(159) | 評論 (0)編輯 收藏
1. 安裝firefox 2/3,先不要運行
2. 在其各自的快捷方式中添加命令參數"-profilemanager -no-remote"
3. 運行之,在配置文件管理器中分別為ff 2/3創建獨立的配置文件,比方說ff2、ff3
4. 然后,在各自的快捷方式中將命令行參數改為"-p ff2 -no-remote"和"-p ff3 -no-remote"
5. 至此,共存配置完畢,二者可以獨立或同時運行且互不影響....

http://www.blueidea.com/computer/soft/2008/5368.asp
http://www.firefox.net.cn/newforum/viewtopic.php?p=170719
posted @ 2008-05-27 02:15 w2001 閱讀(232) | 評論 (0)編輯 收藏
1. 安裝TortoiseSVN客戶端

2. 安裝服務器端svn-x.x.x-setup.exe

3. 手工創建svn儲存庫(repository),也可以用TortoiseSVN來做
svnadmin create F:\svn\

4. 配置svn儲存庫,使用密碼,設置用戶名/密碼
編輯/conf/svnserve.conf,
# [general]
password-db = passwd
編輯/conf/passwd,
# [users]
my_id = my_password

5. 手工后臺運行svn服務器,用TortoiseSVN測試一下成功否
svnserve -d -r F:\svn

6. 如果需要將svn配置成windows服務,安裝svnservice最簡單

7. 接下來,用TortoiseSVN簽入簽出吧

8. Apache就免了,不跨平臺開發的話,沒太多用

http://tortoisesvn.tigris.org/
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
http://svnservice.tigris.org/
posted @ 2008-05-18 18:46 w2001 閱讀(401) | 評論 (0)編輯 收藏
1. 啟用內存泄漏檢測

#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

當退出程序位置固定時,用:
_CrtDumpMemoryLeaks();

定義了_CRTDBG_MAP_ALLOC 時,會顯示內存塊類型和內存塊分配編號(在大括號內)。

當退出位置不固定時,用:
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );

該語句在程序退出時自動調用 _CrtDumpMemoryLeaks。必須同時設置 _CRTDBG_ALLOC_MEM_DF 和 _CRTDBG_ALLOC_MEM_DF 兩個位域。

2. 內存塊類型

“普通塊”是由程序分配的普通內存。
“客戶端塊”是由 MFC 程序用于需要析構函數的對象的特殊類型內存塊。MFC new 操作根據創建對象的需要創建普通塊或客戶端塊。
“CRT 塊”是由 CRT 庫為自己使用而分配的內存塊。CRT 庫處理這些塊的釋放,因此您不大可能在內存泄漏報告中看到這些塊,除非出現嚴重錯誤(例如 CRT 庫損壞)。

3. 內存泄露定位 - 在內存分配編號上設置斷點

先通過_CrtDumpMemoryLeaks查到泄露的內存塊分配號n,然后添加語句

_CrtSetBreakAlloc(n);

Debug程序運行后,將自動斷點至分配處

4. 內存狀態比較

_CrtMemCheckpoint( &s1 );
// memory allocations take place here
_CrtMemCheckpoint( &s2 );

if ( _CrtMemDifference( &s3, &s1, &s2) )
   _CrtMemDumpStatistics( &s3 );

5. CRT內存泄露誤報

在某些情況下,_CrtDumpMemoryLeaks 可能給出錯誤的內存泄漏指示。如果使用將內部分配標記為 _NORMAL_BLOCK 而不是 _CRT_BLOCK 或 _CLIENT_BLOCK 的庫,則可能發生這種情況。其結果是,_CrtDumpMemoryLeaks 無法區分用戶分配和內部庫分配。如果庫分配的全局析構函數在您調用 _CrtDumpMemoryLeaks 的位置之后運行,則每個內部庫分配都被作為內存泄漏進行報告。Visual Studio .NET 之前的早期版本的標準模板庫會導致 _CrtDumpMemoryLeaks 報告這樣的錯誤指示,但在最新版本中此問題已經得到解決。
posted @ 2008-05-10 04:40 w2001 閱讀(717) | 評論 (0)編輯 收藏
OpenGL VBO并不難,但是較繁瑣,其實其概念跟加載紋理是一樣的:

初始化階段:
1. glGenBuffersARB(1, &nVBOVertices); //生成一個句柄
2. glBindBufferARB(GL_ARRAY_BUFFER_ARB, nVBOVertices); //聲明該句柄為一個vbo句柄,并選擇之
3. glBufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(vertices), vertices,GL_STATIC_DRAW); //將頂點集上傳至server端

使用階段:
1. glEnableClientState(GL_VERTEX_ARRAY); //開始使用vbo
2. glBindBufferARB(GL_ARRAY_BUFFER_ARB, nVBOVertices);  //選擇當前使用的vbo
3. glVertexPointer(3, GL_FLOAT, 0, BUFFER_OFFSET(0));  //指定vbo頂點格式
4. glDrawArrays( GL_TRIANGLES, 0, g_pMesh->m_nVertexCount ); //畫吧
5. glDisableClientState(GL_VERTEX_ARRAY); //停止使用vbo

收尾階段:
1. glDeleteBuffersARB(1,&nVBOVertices); //刪除句柄,同時刪除server端頂點緩沖

再來看看紋理緩沖是怎么使用的,其實差不多:

初始化階段:
1. glGenTextures(1, &texID);//創建句柄
2. glBindTexture(GL_TEXTURE_2D, texID); //設置句柄類型
3. glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, img->GetWidth(), img->GetHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE, raw_rgba); //上傳紋理緩沖

使用階段:
1. glEnable(GL_TEXTURE_2D); //開始使用紋理緩沖
2. glBindTexture(GL_TEXTURE_2D, texID); //選擇當前使用的紋理緩沖
3. 發送頂點和紋理坐標,畫吧...省略
4. glDisable(GL_TEXTURE_2D); //停止使用紋理

收尾階段:
1. glDeleteTextures(1,&texID);//刪除句柄,,同時刪除server端緩沖

看到了么,這個概念是不是很相似?都是:

1. 創建句柄
2. 設置句柄類型
3. 上傳數據
4. 開始使用緩沖
5. 選擇句柄
6. 使用緩沖
7. 停止使用緩沖
8. 刪除句柄和緩沖
posted @ 2008-05-10 00:31 w2001 閱讀(8279) | 評論 (4)編輯 收藏

Jack Ritter, "An Efficient Bounding Sphere" in Graphic Gems (1990)

1. 在三維點集S中找到較遠的兩點,構成一個初始包圍球估計B0。該球可以如是求:遍歷S,求出其中x坐標最大/最小、y最大/最小及z最大/最小的3對點,然后取其中距離最大的一對,以其二點連線中點為球心C0,距離的一半為初始半徑R0
2. 然后再次遍歷S,逐一測試S中其他點是否處于B中;
3. 如果點Pk處于Bk中,則繼續測試下一個點Pk+1
4. 如果Pk不處于Bk中,則:作Bk的球心Ck與Pk的連線矢量(Ck,Pk),并反向延長至與Bk相交,交點為Qk,以連線(Qk,Pk)的中點為新的球心Ck+1,其距離的一半為新的球半徑Rk+1,構成新的包圍球Bk+1,不難發現,Bk與Bk+1相切于Qk
5. 上述過程迭代至所有S中的P點遍歷完為止。以上近似算法可擴展到n維空間。
6. 該算法特點:快速,且包圍球幾乎最小,雖不能保證絕對最小,但絕對優于基于包圍盒算出來的解



According to Jack Ritter a near-optimal sphere can be created by:
1) Finding the minimal and maximal vertices along each axis (x,y,z).
2) For those three pairs chose the one pair which has the largest distance.
3) The center of the sphere is the midpoint between those two vertices and its radius is half the distance between them.
4) Go through all vertices again, if you find a vertex whose distance (d) is greater than the radius (r), move the sphere towards this vertex by (d-r)/2 and then set the new sphere radius to (d+r)/2.

posted @ 2008-05-05 02:32 w2001 閱讀(1010) | 評論 (0)編輯 收藏
glut/glew簡單配置

1. 所有lib,丟C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib
2. 所有.h,丟C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\gl
3. 所有.dll和bin,丟C:\WINDOWS\system32
4. 把項目的Unicode去掉,包括Debug和Release(for glut)
5. 項目預編譯頭文件里面,添:
#include <GL/glew.h>
#include 
<GL/glut.h>
#pragma comment(lib,
"opengl32.lib")
#pragma comment(lib,
"glew32.lib")
#pragma comment(lib,
"glut.lib")
#pragma comment(lib,
"glut32.lib")
6. 開始玩....進一步參考簡單glut及glew程序模板

CxImage在OpenGl中的應用

注意,不能將CxImage::GetBits()直接用于OpenGL,否則會:
1. 紋理上下顛倒
2. 紋理中像素點格式為BGR
3. 不能用于GL_RGBA,只能GL_RGB,GetBits獲取不到Alpha分量

如果一定要用CxImage::GetBits(),必須進行如下操作:
1. CxImage::SwapRGB2BGR()
2. CxImage::Flip()

推薦在OpenGl全用CxImage::Encode2RGBA獲取Bitmap,用了之后啥麻煩事都沒了.....
posted @ 2008-05-01 16:24 w2001 閱讀(1922) | 評論 (1)編輯 收藏
First, think what you want these matrices do.
Let we have transformation matrices A and B . We want to transform vector V by both and get vector V'.
But above is not enough to specify what we want to do, as
first transform by A then transform by B
and
first transform by B then transform by A
are different. You can just try to play with rotations in real world.(get a cube, paint x,y,z on sides, etc.)

Now, more on how it's done:

first transform by A then transform by B
It is easy to see that this is accomplished by:
In openGL's convention:
V'=B*(A*V)
Note that it is same as
V'=(B*A)*V
so you can do it as
C=B*A;
V'=C*V;
In DX's convention:
V'=(V*A)*B
C=A*B;
V'=V*C;
(note: real operations done on memory is the same. It's just matter how we map matrix indices to memory)
As you see, V*A*B and B*A*V is kind of symmetrical. Same for consequently applied transforms like V*A*B*C*D*E*F or F*E*D*C*B*A*V

Now, write it down for "transform by B then transform by A" yourself to remember it better.

When you render something , you want points to be transformed by
matrix of object
matrix of parent object
matrix of grandparent object ...
matrix of camera
(and done by API, projection matrix)
From there you can find what order of multiplications you want. In OGL, you need to
m=matrix_of_camera*matrix_of_grandparent_objectmatrix_of_parent object*matrix_of_object;
...
then if you'll glLoadMatrix, OpenGL will do
vertice=m*vertice;

Some more notes: Let you have spacecraft with spacecraft-to-world matrix M
And you use OpenGL convention.
For example, to turn spacecraft around spacecraft's local X direction, you need to
M=M*axis_angle_to_matrix(Vector(1,0,0),angle);
(note: you need to reorthonormalize matrix if you do that incrementally)
To turn spacecraft around global X direction, you need to
M=axis_angle_to_matrix(Vector(1,0,0),angle)*M;


On openGL:

This sequence

glMatrixMode(GL_MODELVIEW);
glMultMatrix(A);
glMultMatrix(B);
glMultMatrix(C);
... render your mesh ...
works as if your mesh would be transformed by C,then B, then A
It makes lot of sense, if you for example want to render a robot with matrices giving positions of child nodes (fingers) relativelty to parent (arm), and arm are responsible for positioning fingers, you can do
RenderArm(){
glPushMatrix();
glMultMatrix(matrix_of_first_finger);
RenderFinger();
glPopMatrix();
glPushMatrix();
glMultMatrix(matrix_of_second_finger);
RenderFinger();
glPopMatrix();
}
and so-on(simplified example)
Then, you can have
glPushMatrix();
glMultMatrix(matrix_of_arm);
RenderArm();
glPopMatrix();

and it will work properly.

If you have more questions, ask.
posted @ 2008-04-30 22:05 w2001 閱讀(1425) | 評論 (2)編輯 收藏
等待
完美生活


posted @ 2008-02-06 22:49 w2001 閱讀(146) | 評論 (0)編輯 收藏
僅列出標題
共9頁: 1 2 3 4 5 6 7 8 9 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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成人老司机| 欧美成人午夜影院| 久久久国产一区二区三区| 亚洲每日更新| 国产一区 二区 三区一级| 国产欧美日韩综合精品二区| 欧美色播在线播放| 麻豆精品精品国产自在97香蕉| 欧美一区二区观看视频| 亚洲经典三级| 久久精品国产清高在天天线| 亚洲免费视频网站| 亚洲激情精品| 亚洲精品日韩综合观看成人91| 玖玖国产精品视频| 亚洲欧美国产不卡| 久久久999精品| 老司机精品视频网站| 久久中文字幕一区二区三区| 99在线精品视频在线观看| 亚洲第一视频| 噜噜噜91成人网| 亚洲专区在线视频| 免费久久99精品国产自| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 欧美日韩另类字幕中文| 国产精品国产亚洲精品看不卡15| 国产精品尤物| 91久久黄色| 一区二区三区视频在线| 久久人人97超碰国产公开结果 | 久久久欧美精品sm网站| 欧美/亚洲一区| 美女久久一区| 伊人夜夜躁av伊人久久| 亚洲美洲欧洲综合国产一区| 夜夜嗨av一区二区三区免费区| 亚洲欧美在线x视频| 久久精品电影| 欧美在线日韩精品| 欧美激情日韩| 欧美性做爰毛片| 亚洲国产日本| 久久精品中文| 欧美中文在线观看| 国产专区一区| 欧美国产精品va在线观看| 欧美揉bbbbb揉bbbbb| 亚洲国产精品va| 欧美黄色视屏| 欧美黄色免费| 99精品欧美一区二区三区综合在线 | 欧美四级电影网站| 国产精品私人影院| 先锋影音一区二区三区| 亚洲欧美成人在线| 国产麻豆午夜三级精品| 男人的天堂成人在线| 欧美日韩国产免费| 欧美伊人精品成人久久综合97| 亚洲午夜一二三区视频| 欧美视频日韩视频在线观看| 欧美一级大片在线观看| 亚洲欧美激情视频| 亚洲高清av| 久久久久国产精品一区二区| 亚洲色图综合久久| 欧美影视一区| 亚洲午夜一二三区视频| 亚洲欧美第一页| 一二三四社区欧美黄| 性欧美xxxx大乳国产app| 亚洲福利精品| 久久一区欧美| 久久婷婷国产综合尤物精品| 欧美不卡福利| 性刺激综合网| 国产日韩av高清| 亚洲视频中文字幕| 一本大道久久a久久精品综合| 国产精品影片在线观看| 农夫在线精品视频免费观看| 国产午夜久久久久| 日韩视频在线永久播放| 在线一区二区三区四区| 欧美日韩精品不卡| 蜜桃av一区二区| 国产精品豆花视频| 91久久精品一区| 亚洲综合欧美| 久久精品九九| 国产精品日韩在线观看| 亚洲视频在线播放| 一区二区三区精品| 国产欧美亚洲一区| 亚洲成人在线免费| 国产欧美一区二区三区在线老狼 | 99这里只有精品| 狠狠88综合久久久久综合网| 亚洲精品国产系列| 精品91久久久久| 99在线|亚洲一区二区| 狠狠色丁香婷婷综合影院| 日韩视频免费| 91久久精品国产91久久性色| 亚洲一区二区视频在线| 亚洲九九精品| 久久久综合网站| 久久国产乱子精品免费女 | 久久中文字幕一区| 性色一区二区三区| 欧美日韩在线观看视频| 欧美成人一区二区| 国产一区二区三区四区| 一区二区三区高清在线观看| 亚洲精品老司机| 欧美精品一区二区三区很污很色的 | 欧美精品一区二区三区蜜臀| 久久久精品动漫| 国产精品美女主播| 99视频精品免费观看| 日韩视频永久免费| 久久在线视频在线| 媚黑女一区二区| 国产一区二区| 午夜精品久久久久久久99黑人 | 欧美激情一区| 亚洲国产欧美一区二区三区丁香婷| 久久精品二区亚洲w码| 久久精品视频在线| 国精品一区二区| 午夜精品免费在线| 欧美影院久久久| 国产一区在线播放| 久久精品日韩欧美| 欧美不卡视频| 亚洲乱码精品一二三四区日韩在线| 欧美~级网站不卡| 亚洲精品乱码久久久久久黑人| 亚洲精品乱码久久久久久日本蜜臀| 久久这里有精品15一区二区三区| 欧美成人黑人xx视频免费观看| 91久久久亚洲精品| 欧美日韩免费看| 亚洲一区二区三区中文字幕在线| 久久国产精品72免费观看| 黑人巨大精品欧美黑白配亚洲| 久久亚洲私人国产精品va| 亚洲电影自拍| 亚洲无限乱码一二三四麻| 国产女同一区二区| 免费成人av在线看| 99热免费精品在线观看| 久久精品盗摄| 亚洲精品在线观看视频| 国产精品久久久久999| 久久精品91久久香蕉加勒比 | 日韩午夜精品视频| 久久成人18免费观看| 国产一区二区三区直播精品电影 | 免费黄网站欧美| 亚洲精品免费观看| 欧美一区深夜视频| 亚洲国产精品999| 欧美日韩亚洲一区三区| 久久成人国产精品| 亚洲日本视频| 久久精品视频免费观看| 日韩视频精品| 国外成人免费视频| 欧美午夜国产| 免费欧美网站| 欧美一级大片在线免费观看| 亚洲韩国一区二区三区| 久久精品91| 欧美人妖在线观看| 午夜在线观看免费一区| 亚洲国产欧美在线| 久久精品夜夜夜夜久久| 99re这里只有精品6| 一区二区在线不卡| 国产精品露脸自拍| 欧美精品成人| 久久一区二区视频| 欧美一区二区视频在线| 一级成人国产| 亚洲人成在线观看一区二区| 蜜桃av噜噜一区| 久久精品男女| 欧美一级理论性理论a| 日韩亚洲欧美高清| 亚洲茄子视频| 在线高清一区| 国产在线视频欧美| 国产亚洲一二三区| 国产欧美日韩亚洲一区二区三区 | 欧美国产一区在线| 免费国产自线拍一欧美视频|