OpenGL圖形編程-顏色_第1頁(yè)
OpenGL圖形編程-顏色_第2頁(yè)
OpenGL圖形編程-顏色_第3頁(yè)
OpenGL圖形編程-顏色_第4頁(yè)
OpenGL圖形編程-顏色_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、OpenGLOpenGL編程指南(第編程指南(第7 7版)版)1第四第四章顏色章顏色顏色計(jì)算機(jī)顏色RGBA和顏色索引模式指定顏色和著色模型2/38顏色 人類(lèi)視網(wǎng)膜細(xì)胞(3種錐細(xì)胞)分別對(duì)紅光、綠光、藍(lán)光敏感。3/384.1顏色 OpenGL顏色模式 RGB(RGBA)模式)模式在RGB模式下,所有的顏色定義全用R、G、B三個(gè)值來(lái)表示,有時(shí)也加上Alpha值(與透明度有關(guān)),即RGBA模式。 顏色表模式顏色表模式在顏色表模式下,每一個(gè)象素的顏色是用顏色表中的某個(gè)顏色索引值表示,而這個(gè)索引值指向了相應(yīng)的R、G、B值。4.1計(jì)算機(jī)顏色 用于存儲(chǔ)存儲(chǔ)所有像素顏色的內(nèi)存稱(chēng)為顏色緩沖區(qū) R、G、B值的范圍

2、從0.0(無(wú))到1.0(完全強(qiáng)度)5/384.2RGBA每個(gè)像素都存儲(chǔ)顏色數(shù)據(jù)的數(shù)量由幀緩沖區(qū)的位平面(bitplane)以及硬件的解釋決定的。 硬件為R、G、B和A成分保留一定的位平面,并一般采用整數(shù),而不是浮點(diǎn)數(shù)存儲(chǔ)位平面常常被均勻地劃分 8位存儲(chǔ)可存儲(chǔ)0255,對(duì)應(yīng)的RGBA值=位平面值/255. glGetIntegerv() 函數(shù)GL-RED-BITS、GL-GREEN_BITS、GL_BLUE_BITS、GL_ALPHA_BITS 和 GL_INDEX_BITS 人 眼 對(duì) 顏 色 強(qiáng) 度 的 感 知 并 不 是 線 性 的 。6/384.2 RGBA 在RGBA模式中,硬件分配一

3、定數(shù)量的位面給R、G、B和A成分(每個(gè)成分的數(shù)量不一定一樣) R、G、B的值通常以整型存儲(chǔ),而不是浮點(diǎn)數(shù),并且它們被擴(kuò)展成可以方便存儲(chǔ)和獲取的位數(shù)。7/384.2 RGBA抖動(dòng)抖動(dòng) 抖動(dòng)是一種使用混合多種顏色來(lái)創(chuàng)造出另一種顏色效果的技術(shù)8/384.3 顏色索引模式 在顏色索引模式下,OpenGL使用一個(gè)顏色表(或查找表),就像用一個(gè)調(diào)色板來(lái)調(diào)出場(chǎng)景需要的各種顏色。 在RGBA模式中,每個(gè)像素的顏色是獨(dú)立于其它像素的。 顏色索引模式中,相同索引值的像素共享相同的顏色表位置。如果顏色表中的內(nèi)容改變了,那么相同索引值的像素將改變顏色。9/384.3 顏色索引模式用顏色索引用顏色索引模式的情況:模式的

4、情況: 假如你正導(dǎo)入一個(gè)已經(jīng)存在的程序,它主要使用顏色索引模式,也許不轉(zhuǎn)為RGBA模式會(huì)更容易一些。 假如你只有很少的位面可用,RGBA模式對(duì)于陰影的過(guò)渡將顯得非常粗糙。 顏色索引模式可以實(shí)現(xiàn)一些特殊的技巧,例如顏色映射動(dòng)畫(huà)和層次繪圖 10/384.3 顏色索引模式切換顯示模式 大多數(shù)窗口系統(tǒng)不會(huì)允許這么容易的切換。 解決辦法是創(chuàng)建多個(gè)窗口,每個(gè)使用不同的顯示模式。然后你控制窗口的顯示與不顯示11/384.4 指定顏色和著色模型 OpenGL 維 護(hù) 一 種 當(dāng) 前 顏 色 ( 在 RGBA 模 式 下 ) 或 一 個(gè) 當(dāng) 前 顏 色 索 引 ( 在 顏 色 索 引 模 式 下 ) 。set

5、color(RED) draw_item(A); draw_item(B); set_color(GREEN ) : Set_color(BLUE) ; draw_item(C) ; 項(xiàng) 目 A 和 B 是 用 紅 色 繪 制 的 , 項(xiàng) 目 C 是 用 藍(lán) 色 繪 制 的 。12/384.4 指定顏色和著色模型RGBARGBA用glColor*()來(lái)定義當(dāng)前顏色,其函數(shù)形式為:void glColor(red,green,blue,alpha);void glColorv(V); 函數(shù)名中的x表示參數(shù)的數(shù)目,當(dāng)它等于3的時(shí)候,三個(gè)參數(shù)分別代表R、G、B值,alpha值缺省為1.0;當(dāng)它等于4

6、的時(shí)候,還包括了Alpha值,其范圍從0.0到1.0。超過(guò)范圍進(jìn)行截取。 函數(shù)名中的t指定參數(shù)數(shù)據(jù)的類(lèi)型,可以取b、d、f、i、s、ub、ui或us,它們分別代表字節(jié)型、雙精度型、浮點(diǎn)型、整型、短整型、無(wú)符號(hào)字節(jié)型和無(wú)符號(hào)短整型。 還有一個(gè)函數(shù)glColor3ub,這個(gè)版本使用的顏色分量的取值范圍是0到255之間的無(wú)符號(hào)數(shù)。第二個(gè)表達(dá)式:第二個(gè)表達(dá)式: v 表表 示示 畚畚 數(shù)數(shù) 是是 否否 為為 一一 個(gè)個(gè) 特特 定定 數(shù)數(shù) 據(jù)據(jù) 類(lèi)類(lèi) 型型 的的 數(shù)數(shù) 組組 指指 針針 。 4.4 指定顏色和著色模型RGBARGBA用glColor*()來(lái)定義當(dāng)前顏色,其函數(shù)形式為:void glColo

7、r(red,green,blue,alpha);void glColorv(V); 函數(shù)名中的x表示參數(shù)的數(shù)目,當(dāng)它等于3的時(shí)候,三個(gè)參數(shù)分別代表R、G、B值,alpha值缺省為1.0;當(dāng)它等于4的時(shí)候,還包括了Alpha值,其范圍從0.0到1.0。超過(guò)范圍進(jìn)行截取。glClampColor()可以指定是否截取 函數(shù)名中的t指定參數(shù)數(shù)據(jù)的類(lèi)型,可以取b、d、f、i、s、ub、ui或us,它們分別代表字節(jié)型、雙精度型、浮點(diǎn)型、整型、短整型、無(wú)符號(hào)字節(jié)型和無(wú)符號(hào)短整型。 還有一個(gè)函數(shù)glColor3ub,這個(gè)版本使用的顏色分量的取值范圍是0到255之間的無(wú)符號(hào)數(shù)。第二個(gè)表達(dá)式:第二個(gè)表達(dá)式: v 表表 示示 畚畚 數(shù)數(shù) 是是 否否 為為 一一 個(gè)個(gè) 特特 定定 數(shù)數(shù) 據(jù)據(jù) 類(lèi)類(lèi) 型型 的的 數(shù)數(shù) 組組 指指 針針 。 OpenGL顏色模式 顏色表模式在顏色表模式(Color_IndexMode)下,可以調(diào)用glIndex*()函數(shù)從顏色表中選取當(dāng)前顏色,其函數(shù)形式為:void glIndexsifd (TYPEc);void glIndexsifdv (TYPE*c);參數(shù)值c用于設(shè)置當(dāng)前顏色索引值,即調(diào)色板號(hào),若值大于顏色位面數(shù)時(shí)則取模。 4.4 指定顏色和著色模型顏色索引模式4.4

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論