先Mark一下,後面有時間補上DEMOspa
1.畫航母大燈,手電筒(效果爲:透過黑色半透明層可看到下面的背景圖,僅圓圈部分)圖片
1)先畫圓圈class
2)再畫背景圖(大背景)方法
大背景設置 glBlendFunc bf = { GL_ONE_MINUS_DST_ALPHA, GL_ZERO };時間
2.給蛋糕塗奶油(效果爲:僅刷子部分可看到想要畫上去的部分,刷子疊加可看到塗上了一片奶油)co
1)先畫刷子new
2)再畫蛋糕(想要塗在原來蛋糕上的圖層)
蛋糕設置 glBlendFunc bf = { GL_DST_ALPHA, GL_ZERO };
3.放大鏡效果(效果爲:透過放大鏡能夠看到較大底下的效果)
1)首先你有一個放大鏡圓圈圖片
2)而後你須要構建兩個RenderTexture(大小均爲放大鏡圓圈大小),
the first 用來繪製放大後的背景效果(先繪製,後縮放爲1.5倍) ,此部分繪製方法爲先將RenderTexture座標轉換到你繪製的位置(glTranslatef(-x, -y, 0);,x,y爲放大鏡圓圈世界座標)而後疊加背景圖;
the second 用來顯示到你的場景當中(此RenderTexture爲圓圈和the first的差值,即放大後的效果),此部分繪製方法圓圈和first疊加(抽象出的二者座標必定要轉換到同一個座標系當中) second部分 兩個差值設置 glBlendFunc bf = { GL_DST_ALPHA, GL_ZERO };
show the second,good luck!
4.經常使用 glBlendFunc bf = { GL_ZERO, GL_ONE_MINUS_SRC_ALPHA};