Time of Update: 2018-12-05
上一篇博文 使用PyInstaller2將Python指令碼轉化為可執行檔(下-進階使用)
Time of Update: 2018-12-05
string sql = "Select * from Orders"; string DBConfig_sql = @"Data Source=WAN-9013A0BB35C\SQL2005;Initial Catalog=Northwind;User ID=sa"; DataSet ds = new DataSet(); SqlConnection sqlCon = new SqlConnection(DBConfig_sql);
Time of Update: 2018-12-05
前篇的架構中,有一個事件處理函數:virtual bool HandleEvent( IEvent* pEvent );這個回呼函數用於在自己的應用程式中響應各種事件, IEvent的定義如下:class IEvent {public:virtual std::wstring GetEventName( ) = 0;virtual eEVENT GetEventType( ) = 0; };主要用到GetEventType來擷取事件類型,目前支援的有:enum eEVENT {
Time of Update: 2018-12-05
關於類的小筆記#-*- encoding: utf-8 -*-# 這是本書330頁13.1關於類,子類,繼承的例子,加上了一些注釋# ---- (1)定義類(和方法)class AddrBookEntry(object): # 定義了類AddrBookEntry,類名通常用大寫字母開頭# | | |# 關鍵字 | 參數,如果沒有父類(基類),這裡的(object)可以省略# 類名
Time of Update: 2018-12-05
在解決多語言版本問題中,很多解決方案看似採取了一個非常“聰明”的方法。一份特定語言版本的文字檔案,UI採取載入的方式顯示。這是一個比較通用的解決方案,但是在遊戲中不再適用。為什嗎?遊戲是種藝術體現形式,它是有“風格”的。當我們遇到“從右往左讀”的文化習慣,或者兩個漢字變成N個字元的時候,那些符號就變得擁擠,不合時宜起來。另外在展現形式上,字型的風格化還不夠靈活。比如水墨風格的遊戲,字型要保持風格一致的話,多語言設定檔就不再起作用。美術必須手工重設一份。也許一般的應用軟體,尚可使用語言設定檔進行“
Time of Update: 2018-12-05
在HLSL中聲明變數的文法如下:[Storage_Class] [Type_Modifier] Type Name[Index] [: Semantic] [: Packoffset] [: Register]; [Annotations] [= Initial_Value]Storage_Class:提示編譯器該變數的範圍與生命週期,可按任意方式排列。ValueDescriptionexternMark a global variable as an
Time of Update: 2018-12-05
class HotelRoomCalc(object): 'Hotel room rate calculator' def __init__(self, rt, sales = 0.085, rm = 0.1): '''HotelRoomCalc default arguements: sales tax == 8.5% and room tax == 10% ''' self.salesTax = sales
Time of Update: 2018-12-05
用UDK最基本的三個uc: GameInfo, Pawn, Controller. 關於相機:Camera 官方技術文檔Camera的一個樣本 優勢在於網上的教程大多都是從UTPawn繼承,這個直接從GamePawn繼承. 關於角色:Actor Component角色官方技術文檔 如何建立一個模組化的pawn 假如一個人物模型頭,髮型,身體這些是分開的,這個就很具參考價值.Actor Tick
Time of Update: 2018-12-05
預設情況下,Matrix是Column-major的。也就是說矩陣的每一列儲存在一個常量寄存器中。如果是Row-major的話。矩陣的每一行會被存在一個常量寄存器中。我們可以使用#pragmapack_matrix 指示符, 或者 row_major 與 col_major關鍵字來指定矩陣的主相片順序。行矩陣的相片順序(一行為一個寄存器):11121314212223243132333441424344 列矩陣的相片順序(一行為一個寄存器):112131411222324213233343142
Time of Update: 2018-12-05
雖然讀取了3ds檔案,但是3ds檔案裡並不包含頂點法線。為了計算光照,我們需要手工計演算法線。過程如下:三個不共線點構成一個三角形:計算方法:向量ab與向量ac的叉乘得到過點a垂直於三角形abc所在平面的一條直線,這條垂線就是頂點a的法線。下面就是代碼:【修正了法線計算bug,2012.04.04】 1 void CModel3ds::CalcNormals() 2 { 3 for(int i = 0; i<m_PolygonNum; ++i) 4 { 5
Time of Update: 2018-12-05
首先,你需要一個很簡單的首頁。內容隨便放。其次,準備另一個頁面,這個頁面你可不要小瞧,12306全靠這個頁面才獲得今天的“成功”。首頁上的所有點選連結都要指向這個頁面,那麼這個頁面如何做那??請看:把這張圖加到第2個頁面。好了,12306完成了,做一個12306就是這麼簡單!不要自卑不要氣餒,就算你是天天出去賣菜的大媽,只要肯按照這個步驟做,一個12306也不過如此。12306123061230612306123061230612306123061230612306123061230612306
Time of Update: 2018-12-05
在DX9時代,很多渲染瓶頸就出現在狀態與資源的更新,大量本該簡化的Draw調用。雖然DX10後對draw進行了一些最佳化,但是還不足以讓你可以忽略draw的調用方式與次數。我們應該在應用程式的調試版本中恰當使用debug runtime,根據debugRT提供的效能警告來最佳化程式。為什麼說draw調用的方式很影響效能呢?因為每當你調用一次draw,都會牽一髮而動全身,影響到其他狀態的更新。一般draw都會引起如下狀態的變動:1.const
Time of Update: 2018-12-05
銀彈是個好東西,但是在生活中,在項目中我們真的離不開它嗎?比如參數傳引用還是傳指標,比如“++i”還是“i++”,甚至是java和c++的效率比較。它們之中,總能分出伯仲。但是,喪失了那小數點後n位的效率提升,你的產品就能讓使用者興奮,真的讓使用者感受到在高速公路上馳騁的快感嗎?有的人覺得指標很不錯,我的看法是:如果人人都會走鋼絲,那麼走鋼絲就不算是絕技,而且人人也不需要都會走鋼絲。你何必為了因為C#是記憶體回收型記憶體管理機制就覺得用C++的指標就勝人一籌呢?用指標,你要考慮如何釋放,如何防止
Time of Update: 2018-12-05
先來瀏覽幾幅照片:看到燈光附近的光暈了嗎?這種效果是人眼或者器材接收光線時候由於光的傳播路徑而導致的物理現象,照片中夜景下這種現象最容易被發現,下面給出一副更加明顯的bloom效果:燈光的亮度模糊成一片,如果這個效果運用的好,會給照片增色不少。遊戲中如果運動得到,會給人更加真實的體驗。好了,下面看看現實中一副bloom不明顯的照片:注意燈光,其實還是有bloom效果的,不過沒有前兩幅畫面明顯與誇張。也許,給這幅加上更強烈的bloom效果,畫面會更加夢幻?!說做就做,下面說說步驟:我們渲染多幀,每
Time of Update: 2018-12-05
最簡單的光照就是在vertex shader中根據光照模型和法線計算光照,這種方法不能很好變現物體表面細節。後來誕生了Per-pixle lighting,把光照的計算延遲到每個像素上計算。大家耳熟能詳的bump
Time of Update: 2018-12-05
在地形渲染中,貼圖是一個比較重要的環節,如果精度太低,地形看起來很假。如果做高精度的貼圖,人工的話成本高,而且不靈活。所以採用Procedural texture方法讓電腦幫你完成這項工作即省事,又靈活。先來看看利用Procedural
Time of Update: 2018-12-05
問題是這樣:有兩根不均勻分布的香,香燒完的時間是一個小時,你能用什麼方法來確定一段15分鐘的時間?一個細微差別:有兩根不均勻分布的香,每根香燒完的時間都是一個小時,你能用什麼方法來確定一段15分鐘的時間?首先這題,不知道從哪來的,然後這題,被流傳後在關鍵地方缺字少字,最終讓很多同學百思不得其解。如果是2根香燒完總時間是1小時,那麼方法是分別將兩根香都撇成兩半,這四根香同時燒兩頭,燒完就是15分鐘。依據是假設兩根香為A,B,A+B = 60;要15分鐘時間就除以4;那麼A/4 = A/2 × 1/
Time of Update: 2018-12-05
概述:這是一篇關於FX Composer 2的快速指引性文章,非常推薦你有耐心去讀一讀,裡面有些FX Composer 2新添加的東西。翻譯 by: Baesky ____________________________________________________________________________建立一個Effect 當你第一次運行FX Composer2時,StartPage頁將會出現。這個頁面為你訪問一些常用功能提供便利。
Time of Update: 2018-12-05
由於顯示器是由離散的柵格組成的,所以在顯示圖形時候就會有“鋸齒”產生。為瞭解決這個問題,人們想到了一個方法去“反走樣(anti-aliasing)”。它叫“超級採樣(supersampling)”,工作方式就如它的名字蘊含的一樣,需要"超級"的能力才能工作的很好.當用這種技術時候,"後備緩衝(back buffer)"和"深度緩衝(depth
Time of Update: 2018-12-05
很多優秀的貼子已經講述了學習遊戲開發的方方面面.從羅列書籍到該具備的基礎知識都十分詳細.但是看過後你有否發出這樣的感歎:天哪, 我要看上百萬的文字和代碼, 學那麼多平時沒想過的數學理論才行麼? 比起"告訴你在哪裡,用什麼餌料,什麼魚竿,如何釣到魚",我們更需要的是否是"如何在我常去的水域更好的釣到魚?"呢?如果您說yes,請繼續看下去.----------------------------------------------------------------------