国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
3.5 透明度、混合和多重紋理

OpenGL ES提供了如此多的選項用來保存、映射,以及配置紋理,以至于這個主題常常會壓垮程序員。關(guān)于紋素顏色格式、紋理環(huán)境函數(shù)、取樣模式,以及細(xì)節(jié)級別存在一個天文數(shù)字的組合和排列。本節(jié)甚至?xí)榻B更多的選項,因此為了保持這個主題在可管理范圍內(nèi),專注于現(xiàn)代最常用的用例是必要的。

可以使用包含透明度元素的GL_RGBA 紋理格式來指定每個紋素的透明度。圖3-6顯示了一個擁有透明度顏色元素值的紋理,因此棋盤格圖案可以透過半透明的紋素顯示出來。通常一個或者更多個紋素會結(jié)合燈光和頂點顏色來決定每個片元的最終顏色和透明度。第4章會介紹燈光。每個片元產(chǎn)生的透明度都會影響片元怎么與一個幀緩存內(nèi)的現(xiàn)存內(nèi)容相混合。


 

當(dāng)紋理計算出來一個完全不透明的最終片元顏色時,這個片元顏色會簡單地替換任何在幀緩存的像素顏色渲染緩存內(nèi)現(xiàn)存的對應(yīng)的像素顏色。還有更有意思的混合方式。如果計算出來的片元顏色部分透明或者全透明,OpenGL ES會使用一個混合函數(shù)來混合片元顏色與像素顏色渲染緩存內(nèi)對應(yīng)的像素。

通過調(diào)用glEnable(GL_BLEND)函數(shù)來開啟混合。然后通過調(diào)用glBlendFunc(sourceFactor,destinationFactor)來設(shè)置混合函數(shù)。sourceFactor參數(shù)用于指定每個片元的最終顏色元素是怎么影響混合的。destinationFactor參數(shù)用于指定在目標(biāo)幀緩存中已經(jīng)存在的顏色元素會怎么影響混合。最常用的混合函數(shù)配置是設(shè)置sourceFactor為GL_SRC_ALPHA,設(shè)置destinationFactor為GL_ONE_MINUS_SRC_ALPHA,如下代碼所示:


 

GL_SRC_ALPHA用于讓源片元的透明度元素挨個與其他的片元顏色元素相乘。GL_ONE_MINUS_SRC_ALPHA用于讓源片元的透明度元素(1.0)與在幀緩存內(nèi)的正被更新的像素的顏色元素相乘。結(jié)果是,如果片元的透明度值為0,那么沒有片元的顏色會出現(xiàn)在幀緩存中。如果片元的透明度值為1,那么片元的顏色會完全替代在幀緩存中的對應(yīng)的像素顏色。介于0.0到1.0之間的透明度值意味著片元顏色的一部分會被添加到幀緩存內(nèi)對應(yīng)的像素顏色的一部分中來產(chǎn)生一個混合的結(jié)果。當(dāng)使用glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA) 時,在幀緩存中的最終顏色是用下面的方程式計算的:

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
深入了解OpenGL
【淺墨Unity3D Shader編程】之三 光之城堡篇:子著色器、通道與標(biāo)簽的寫法 & 紋理混合
顏色混合opengl
圖片Premultiplied Alpha到底是干嘛用的
RGBA alpha 透明度混合算法
WebGL 第八課 翻譯
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服