Time of Update: 2018-12-05
文章目錄 1. type-generic macros的技術現狀C1X之type-generic macros C1X系列:type-generic macros by 林海楓http://blog.csdn.net/linyt/archive/2010/10/25/5966485.aspx承蒙轉載,請保持本文的完整性,請匆用於商業用途。type-generic macros在新的C1X草案又稱為Generic
Time of Update: 2018-12-05
好,現在你已經看完了整個說明,讓我們把每一步的操作寫在一起: 把起始格添加到開啟列表。 重複如下的工作:a) 尋找開啟列表中F值最低的格子。我們稱它為當前格。b) 把它切換到關閉列表。c) 對相鄰的8格中的每一個?如果它不可通過或者已經在關閉列表中,略過它。反之如下。 如果它不在開啟列表中,把它添加進去。把當前格作為這一格的父節點。記錄這一格的F,G,和H值。
Time of Update: 2018-12-05
應同事需要,對接手的3D模組做了此效能測試,發現vector<>::size()的專屬時間居然高踞十大。查看代碼後發現,幾乎所有的for迴圈都是類似如下寫法:for(size_t i=0; i<vector<>.size(); i++){...}於是,將大部分迴圈更改成如下代碼:size_t nCount = vector<>.size();for(size_t i=0; i<nCount; ++i){...}而後,發現效率提升了接近10%!!!
Time of Update: 2018-12-05
近日流年不利,被CPU和顯卡的相容問題折騰得人都老了.先是AddressU = Wrap;AddressV = Wrap;出問題.在ATI的已知的顯卡上,當圖片的尺寸不是二的冪次方的時候,效果跟Clamp模式一樣.想起野豬跟我說的ATI和NVadie在處理BUG上的態度的差異,我暗自詛咒ATI快倒掉!然後又是QueryPerformanceCounter 在部分AMD的CPU上不能正常工作.導致公司至少5個人為此挨罵,焦頭爛額.http://channel9.msdn.com/ShowPost.
Time of Update: 2018-12-05
事情起因是這樣的:很久很久以前,前離職同事留下一套完備的粒子系統,boss不滿意 ,要找人重新寫之。 先說說前同事的粒子系統:一套通用的粒子系統,發射器/效果器/渲染器/粒子池,兼顧2D和3D粒子,實現得相當不錯,美術可以用它完成絕大部分效果,而且效果很酷!非常不錯的粒子系統。
Time of Update: 2018-12-05
如何類比《WORD》的視窗形式重點:在CChildFrame上做文章。1、利用嚮導產生一個多文檔應用程式
Time of Update: 2018-12-05
在CPU多核的今天,考慮如何利用多核的問題已經擺在了每個程式員的面前。對一個稍微有點經驗的程式員而言,OMP無疑是最快的捷徑,並且收效非常高,基本能提升1.8倍的效率(雙核CPU)。 耐著性子把OMP的介紹文章看完了,在3D應用中實踐起來,收效很明顯,骨骼計算,皮膚計算,頂點座標/紋理座標/法線插值上用得得心應手,一時興起,把關鍵區段的計算用SSE指令重新寫過後,總體得到了大約4倍的效率提升。 在這個過程中,發現了一些問題:
Time of Update: 2018-12-05
最近在寫64位彙編,設定編譯命令是件繁瑣而又重複的勞動。網上也有不少文章介紹怎麼樣編譯64位彙編的,但都覺得複雜,有的還需要下載其他的彙編軟體,最囧的是:有篇文章給出的下載下來的檔案乾脆就直接是木馬!既然我們使用VS系列,就不要捨近求遠了。使用MS提供的ml64,安全放心,也無相容性問題。下面開始說明怎麼樣設定:一、在vc的安裝目錄下,找到“VCProjectDefaults/masm.rules”,複製出來,改個名字,用記事本等純文字編輯器開啟二、masm.rules的前面幾行的內容如下:&l
Time of Update: 2018-12-05
需求: 根據當前像素的Depth計算出其View空間的Position先說一種慣性思維的方法: 既然知道depth是怎麼算出來的, 那麼進行逆運算回去不就得到position了?先說說depth是怎麼出來的:Vertex shader:output.position = mul(input.postion, matWorldViewProject);output.depth.xy = output.position.zw;Pixel shader(輸出z/w):return input.dept
Time of Update: 2018-12-05
看到我的《評C/C++實戰之記憶體管理》(http://www.csdn.net/develop/read_article.asp?id=11385)有8xx點的人氣,感到非常的欣慰。應網友的要求,現將原始碼貼上如下這些代碼實現了以下功能:1。記憶體配置、記錄和釋放。2。記憶體配置位置,包括檔案名稱,行號記錄。3。記憶體流失檢測並指出導致泄漏的代碼位置,通過指出檔案名稱,行號和分配次數(用VC的條件斷點功能然後跟蹤出去,就能尋找到導致泄漏的代碼)。4。指標錯誤使用檢測。包括指標丟失,記憶體越界
Time of Update: 2018-12-05
先講一個Windows視窗的問題。眾所周知,Windows視窗API要求註冊視窗,RegisterClass和CreateWindow函數註冊和建立視窗,要在註冊的時候填充WNDCLASSEX結構,寫入自己實現的視窗訊息處理函數,這個處理函數的原型:LRESULT CALLBACK WindowProc( HWND , UINT , WPARAM , LPARAM );
Time of Update: 2018-12-05
諸如這樣的問題http://social.msdn.microsoft.com/Forums/ar-SA/vcgeneral/thread/a4490504-956f-44d0-a39c-3a4bd36a4aacI have the following lines of code in my header file of a C++ CLR application:#include<cliext/vector>using namespace cliext;...vector <
Time of Update: 2018-12-05
用驢子拖了個<<Drakensang>>, 想把資源弄出來利用一下這遊戲是用N2+N3做的, 檔案格式什麼的, 還是N2的到N2的代碼裡找了下, 果然有讀取NPK檔案的代碼想想自己全部解壓出來太麻煩, 不如做個查看器但是從頭自己做一個性價比不是很高, 再加上我是TC的死忠那麼, 就做個像MPQ那樣的外掛程式好了 NPK的檔案包格式, 看完N2的注釋就明白了, 無非就是把檔案一個個都拼了起來資料區段就是FourCC+Size+Data的這種Chunk結構,
Time of Update: 2018-12-05
找了許多資料,最官方的是這個。這個是SUN官方的解釋。JOGL or Java3D? Jan 15, 2005 6:34 AM Sun does both Java3D and JOGL it seems to me, but they are separate too it seems.Which would you prefer for a game applet?Java3D- requires manual
Time of Update: 2018-12-05
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font Definitions */ @font-face{font-family:宋體;panose-1:2 1 6 0 3 1 1 1 1
Time of Update: 2018-12-05
主要工作有三:一、資料群組織。根據3D模型得到一個PathMesh,這個PathMesh裡記錄了三角形與邊的鄰接資訊,邊與三角形的鄰接資訊,邊的端點,邊的方程(用於求解線段最短距離)。從而間接知道邊與邊的鄰接資訊。路徑點除了首尾,都通過邊來計算。這個資料容易得到。二、路徑搜尋演算法。一開始使用A*演算法,路徑不是很好。因為評估函數不好寫,評估函數只能描述兩個點之間的空間距離,但是無法描述上下樓很難到達這樣的資訊。所以,A*演算法總會先走到目標點的樓下,然後在繞道到目標點。後來改用廣度優先搜尋,效
Time of Update: 2018-12-05
首先聲明,我J2ME是菜,主要是搞伺服器端東東的,這個問題的產生是因為要參加挑戰杯,我同學提出的,他J2ME開發相當有經驗.總的來說,我大概分析有以下這幾個方面. 第一,手機效能有瓶頸,我同學告訴我,他寫程式很容易把重量級的類產生多個執行個體,浪費效能,雖然是認為原因,可以避免,但我想,就好象C++的解構函式一樣,為什麼不能讓機器去做呢,人總會犯錯誤的嘛...
Time of Update: 2018-12-05
引擎狀態監聽(觀察者) 底層變化時, 需要高層UI做出反應. 這個有一個原則, 就是下層邏輯不能依賴上層邏輯, 所以通過一個介面進行訊息的派發. 如果是.net的話, 可以用delegate/event實現. C++的話, 可以自己用模板寫個delegate用, 效率比用介面高… 實體抽象(Factory 方法) 擴充性是很強, 但是…類太多了-_-. 這裡有種基於DLL的外掛程式模型可以學習. Factory 方法需要知道具體的工廠對象,
Time of Update: 2018-12-05
這是GAMEGEMS中的第三章的第一部分,番的不好。你可以直接閱讀原文。原本以為這是人工智慧的部分,看到一半才發現只是一個簡單的架構。如果你想學人工智慧,這裡沒有,就不要浪費時間了。由於本人水平有限,其中難免會出現原則性的錯誤,希望指正。關鍵字:有限狀態機器、狀態、輸入、狀態轉換、輸出狀態目前狀態一個有限狀態機器類在這篇文章中,我們建立了一個通用的有限狀態機器(FSM)的C++類。有限狀態機器是電腦科學和數學理論的抽象,它在許多的方面是很有用處的。這裡我們不去講解有限狀態機器的理論上的知識。而
Time of Update: 2018-12-05
由於代碼要相容64位系統,所以,跟指標有關聯的整數全部都是適用的INT_PTR和UINT_PTR類型。這兩個東西在32位系統下被定義成:__w64 int和__w64 unsigned int. 但是,VC的模板參數推導機制裡,似乎是沒有__w64這樣的修飾的,因此,所有的__w64 int被推導成類型int,執行個體化出int類型的模板。在參數傳遞的時候,由於傳遞的參數是__w64 int類型,就會導致64位代碼移植部分不停的唧唧歪歪吐出一大堆警告。又由於模板代碼的出錯資訊很難理解,VC8.0