OpenGL學習 一些雜碎事

2022-04-28 11:06:14 字數 968 閱讀 3485

最近用了乙個多月的opengl,深感做graphics對程式設計能力的要求和image processing不是乙個檔次的。opengl的使用需要對其有著深入了解才不容易出問題,否則乙個細節上的疏忽都有可能讓你跪了。一些小問題整理下吧,有些我也不知道答案,只找到了原因,但不知道為什麼。

1.關於opengl的座標系:

特別要指出的是繪圖時候(0,0)點在螢幕中心(沒有做變換的前提下),而紋理座標的(0,0)點卻在左下角,有的時候需要做相應的座標轉換。

2.opengl下紋理的尺寸:

據說紋理的尺寸只能是2的冪,而且紋理的最大尺寸和顯示卡引數有關,但是也有文章說現如今的顯示卡貌似沒有2的冪這個規定了,但是我在使用過程中發生了詭異的問題,因此還是遵循這個約定吧。

3.紋理的使用方法:

紋理也是記憶體中的一塊區域,因此其操作和vbo有點相似呢,在這篇文章中給出了這種對比關係。紋理的使用時不要忘了glenable(gl_texture_1d);以及 glbindtexture(gl_texture_2d, texid);

4.關於繪圖更新

可以簡單呼叫glutpostredisplay函式使得當前繪圖強制更新一次

5.關於glenable(gl_depth_test)

某個時候發現在螢幕上繪製東西的時候不起作用,原因就是這個函式,這個函式的作用是:用來開啟更新深度緩衝區的功能,也就是,如果通過比較後深度值發生變化了,會進行更新深度緩衝區的操作。啟動它,opengl就可以跟蹤再z軸上的畫素,這樣,它只會再那個畫素前方沒有東西時,才會繪畫這個畫素。

6.關於一維紋理的使用

一維紋理和二維紋理很相似,有的時候計算會用到一維紋理。參考:和

7.關於shader使用中的問題

紋理的設定要放在shader設定前面,否則shader找不到紋理。另外若不使用shader的時候需要注釋掉shader初始化以及shader賦值的語句,只是注釋前者的話shader也會發生作用,猜測是opengl內部有個預設的shader(純猜測!)。

LTE的一些雜碎概念

對於協議中摘抄出的部分內容不是很會翻譯 cell id 3 cell group number cell number 1rb 12 re 7 symbol 當使用正常字首時 12 re 6 symbol 當使用擴充套件字首時 ack nack 3 bits dl phich carry ack n...

學習CSS一些事(上)

p.s 這是我在學習中總結出來知識,如有不對,請多包涵。謝謝。css樣式 行內樣式,內部樣式,外部樣式,他們的優先順序是 行內,內部,外部,遵循就近原則。一 html css布局分為三大類,一是流式布局,二是浮動布局,三是絕對定位布局。1 流式布局 流式布局,如同水經過不同通道,呈現出不一樣的方式。...

一些人,一些事,一些

我覺得這是國內it企業浮躁和傳統的官本位性質決定的,導致國內企業都本末倒置。要想改變命運,我覺得有以下出路 1.不做技術了,改做混混 混混的概念很廣泛的,比如銷售 經理 幹部 皮包公司之類其實都屬於這類。中國就是這樣,越浮越掙錢,只有混混才能發財。要不更進一步,做流氓,廣義的流氓,也很不錯。2.專心...