原创 openGL的光照與材料(一)

真實感圖形繪製是計算機圖形學的一個重要組成部分,它綜合利用數學、物理學、計算機科學和其它科學知識在計算機圖形設備上生成象彩色照片那樣的具有真實感的圖形。一般說來,用計算機在圖形設備上生成真實感圖形必須完成以下四個步驟:一是用建模,即用一定

原创 MFC單文檔SDI

首先我們瞭解到的是   圖(一) theApp 是唯一一個在程序形成的時候就存在的全局變量,它屬於CstockAppApp類,而CstockAppApp 繼承於CwinApp類,我們看一下MSDN中CwinApp的繼承關係如下:   圖(

原创 MFC多線程編程

一、問題的提出 編寫一個耗時的單線程程序:   新建一個基於對話框的應用程序SingleThread,在主對話框IDD_SINGLETHREAD_DIALOG添加一個按鈕,ID爲IDC_SLEEP_SIX_SECOND,標題爲“延時6秒

原创 openGL的初始化設置

1. 材料和光源 2. 深度 在現實生活中,一個實心物體擋在另外一個實心物體的前面, 後面的那個物體有部分會被遮蓋掉 那麼opengl裏面如何模擬這個情況呢? 每個物體的每個像素都有一個深度緩存的值(在0到1之間,可以想象成是z軸的距離

原创 VS中加載靜態庫的配置

在VS工程中,移植c/c++工程的基本步驟:     1、添加工程的頭文件目錄:工程---屬性---配置屬性---c/c++---常規---附加包含目錄:加上頭文件存放目錄。     2、添加文件引用的lib靜態庫路徑:工程---屬性--

原创 Socket 分包解包

對於基於TCP開發的通訊程序,有個很重要的問題需要解決,就是封包和拆包.下面就針對這個問題談談我的想法,拋磚引玉.若有不對,不妥之處,懇求大家指正.在此先謝過大家了.   一.爲什麼基於TCP的通訊程序需要進行封包和拆包. TCP是個"

原创 RTTI使用原理

運行時識別RTTI CRuntimeClass 是記錄類信息的型錄,每個需要RTTI的類都需要一個型錄。 通過 DECLARE_DYNAMIC在類聲明中聲明型錄對象, 通過IMPLEMENT_DYNAMIC在類定義中定義型錄對象。 可以通

原创 vs2010項目屬性配置

vs2010使用方案管理項目,一個解決方案下可包含多個項目。 默認情況下,項目屬性的設置的目錄起點爲項目配置文件所在的位置,實際上就是項目頭文件和源文件所在的位置。 vs2010中默認建立C++項目,則解決方案總目錄下包含一個sln和一個

原创 基於WinInet API的HTTP編程

主要步驟: 1. 用InternetCheckConnection判斷是否接通外網 2. 用InternetOpen初始化一個應用程序,以使用 WinINet 函數 3. 用InternetConnect創建一個特定的對話 4. 調用一個

原创 動態鏈接庫的創建和使用

一、創建新的動態鏈接庫(DLL)項目 從“File”菜單中,選擇“New”,然後選擇“Project…”。 如下圖: 在“項目類型”窗格中,選擇“Visual C++”下的“Win32”。 在“模板”窗格中,選擇“Win32 Con

原创 對話框中顯示bmp

以前寫的圖像處理軟件不是從頭寫的,這次從頭寫個圖像處理軟件,遇到的第一個難題竟然是無法在對話框工程中打開一幅新的圖片,以前短短的幾行代碼現在被無限擴展,琢磨N久,終於成功.拿出來和大家分享菜鳥的成果...回去好好補補對話框指針的知識 注

原创 載入和顯示紋理

glBindTexture()函數在渲染的時候調用,需要注意,一定不能放在glBegin()和glEnd()函數對中,否則函數的調用無效。下面就總結一下怎樣在OpenGL中載入和顯示紋理。 1、在初始化階段,調用glGenTextures