OpenGL總結7 顏色與紋理共存

2021-10-04 07:31:58 字數 842 閱讀 1400

在使用opengl進行紋理貼圖後,我需要在上面畫一些線作為輔助,但是當我進行畫線的時候發現glcolor中的顏色會覆蓋到紋理上,導致紋理的顏色很奇怪,經過查詢資料和嘗試發現了問題所在。

首先,紋理在不使用的時候一定要進行關閉,因為如果不將紋理進行關閉,後面在繪圖的時候會影響到紋理。其次,要對顏色進行儲存,也就是壓棧glpushattrib,這樣對顏色進行儲存後才能保證畫線的顏色不會影響到其他影象。

參考**

//glfloat	fcurrentcolor[4];

//glgetfloatv(gl_current_color, fcurrentcolor);

glpushattrib

(gl_color_buffer_bit | gl_depth_buffer_bit | gl_current_bit)

;//這裡將顏色等屬性進行壓棧

gllinewidth

(3.0);

glbegin

(gl_lines)

;glcolor3fv

(linecolor)

;glvertex3f

(begin.x(

),0.0, begin.y(

));glvertex3f

(end.x(

),0.0, end.y(

));glend()

;glpopattrib()

;//最後要彈出

//glcolor4fv(fcurrentcolor);

注釋的三行**是另一種方式,可以用這三行**代替屬性的壓棧和出棧,它們的作用效果是一樣的。

注釋的**表示對顏色進行儲存,最後恢復到儲存的顏色。

OpenGL 7 紋理對映

紋理對映前,首先自定義讀取點陣圖的函式,其返回型別為aux rgbimagerec 該結構體定義在glaux.h中 aux rgbimagerec loadbmp char filename file fopen filename,r if file return null 載入失敗,返回null ...

複習 OpenGL 紋理對映 總結

今天系統的複習了一下opengl紋理對映 主要參考資料是這兩個 opengl 教程 總體來看,第二個教程更詳盡一些,比第乙個教程多介紹了一下 如何把 texture2d 物件,傳到 fragment shader 的 sampler2d 的 uniform 變數中。很久以前,自己總結過opengl ...

WebGL 顏色與紋理

1.紋理座標 紋理座標是紋理影象上的座標,通過紋理座標可以在紋理影象上獲取紋理顏色。webgl系統中的紋理座標系統是二維的,如圖所示。為了將紋理座標和廣泛使用的x y座標區分開來,webgl使用s和t命名紋理座標 st座標系統 紋理影象的四個角座標為左下角 0.0,0.0 右下角 1.0,0.0 右...