原创 使用Huffman方法對字符進行編碼

1.字符編碼有兩種方式:定長編碼和變長編碼。定長編碼如ASCII碼,每一個字符都是由固定長度的二進制數據表示的。變長編碼時,字符是可以由不同長度的二進制數據表示的。在變長編碼時,爲了保證解碼時能有唯一的解碼結果,編碼必須爲前綴碼。(前綴碼

原创 opengl編程錯誤及解決方案

錯誤1:如下藍色部分表示:這是變量的定義位置不正確造成的,需要把變量name定義在函數的開頭部分。因爲有些編譯器要求變量必須定義在函數 的開頭。 2.使用glGetString(GL_VERSION)函數的返回值是null,原因是在使用

原创 OpenGL點陣字體繪製終極解決方案

http://www.360doc.com/content/12/0406/11/1016783_201355491.shtml 事情總在變化, opengl迎來了3.3以及4.1的進化, 相信今後的擴充也會朝着這個方向. 對於字體渲染方

原创 opengl:顯示列表

GLuint glGenLists(GLuint range); glNewList(GLuint a); glEndList(); glListBase(GLuint base);設置list地址的偏移量.默認爲0. glC

原创 opengl代碼段

1.在顯示圖形時,窗口大小產生變化時,讓圖形始終顯示在窗口的中心位置,同時能夠完整的顯示。 我們1)在世界窗口中創建圖形時將圖形按照原點位置創建,2)根據w與h的大小關係,設置投影模型的left,right,bottom,top屬性,使其

原创 使用圖像處理子集時的錯誤及其解決方案

1.readImage.C函數的修改結果如下: #include <stdio.h> #include<gl/GLUT.H> GLubyte* readImage( const char* filename, GLsizei* wid

原创 vs2010實現編譯連接運行

程序在運行之前要經過編譯連接運行三個步驟,vs2010環境下當點擊ctrl+F5時,此環境做了以下工作。 編譯 預處理:vs將cpp文件中的註釋忽略,將宏轉化等,同時包含頭文件等。在包含頭文件時,vs根據路徑尋找相關的頭文件(<a.h>代

原创 c風格字符串和string使用的一些注意點

1.對於c風格字符串,通常有如下幾種賦值方法(字符串(雙引號括起來的)都是以'\0'結尾的!!) char p[]="abcde";這裏“abcde”是個常量字符串,存儲在常量區。字符串的結尾都是帶‘\0’的,只是沒有顯示而已,p是個數組

原创 遞歸的思考

理論上的概念 1.函數的主要成分是一個循環,則此種解法叫做迭代,而當函數是通過不斷調用自己解決問題的,那麼此種解法就叫做遞歸。2.遞歸既浪費時間,又浪費空間,所以遞歸的效率很低,在要求高性能、低內存的算法上遞歸不適用。要轉換爲迭代方法。3

原创 計算機組成原理

1.加法器是如何計算不同類型變量的加法的 分析:加法器的功能就是計算而已,其有兩個輸入端,當兩個輸入端都有數據時,其就進行計算並將結果輸出。輸入到加法器的兩端的數據格式是統一的(可能都是有符號的補碼形式)。這就是說,各種類型的變量相加,這

原创 opengl像素格式和RC管理

http://hi.baidu.com/dem_simulation/item/7e45bc4086bb59a461d7b9c6 1.寫在前面 由於OpenGL被設計成獨立於硬件,獨立於窗口系統,因此OpenGL的用戶不需要考慮如何對計

原创 在Win32下使用OpenGL

1.win32程序的框架是winMain+WndProc。winMain中創建窗口同時實現消息循環,WndProc中實現的是消息的處理。 2.win32程序運行時的過程主要是1:創建窗口2:捕獲窗口中的消息並處理 win32下要使用Ope

原创 opengl繪製在屏幕座標中固定位置的座標軸模型

得到的繪圖結果如下圖所示,座標軸的原點位置永遠固定在屏幕座標的左下角爲起點(50,50)處。同時根據鼠標的移動,座標軸模型會在其原點上旋轉。 1

原创 消息的處理流程

mfc控件消息,已經是封裝好的東西了,消息類型分爲多種,有WM開頭的windows消息,還有自己通過添加的ON_COMMAND消息等等; 添加消息,如果是WM消息,就實現相應的虛函數,若是ON_COMMAND消息就建立相應的消息映射

原创 回調函數 與 回調機制

http://wenku.baidu.com/view/1051b757ad02de80d4d84027.html 1.  什麼是回調函數    回調函數(callback Function),顧名思義,用於回調的函數。  回調函數只是