<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在之前OpenGL Shader-抗鋸齒實現文章中所介紹的那樣:為了抗鋸齒效果可以用smoothstep
函數對繪製形狀進行平滑過渡來實現。其中也提到了當smoothstep
函數中入參a
和b
範圍過大時就會出現漸變效果。如OpenGL Shader-抗鋸齒實現中所展示的效果:
看到這個效果後似乎可以利用smoothstep
函數中a
和b
入參取大範圍來實現不一樣的特效能力。例如可以使用該特點來實現類似於老電影中遮罩效果,在檢視邊緣出現一層朦朧遮罩中間最亮四周有一層淡淡的陰影效果。
實現原理其實就是利用smoothstep
函數入參使用大範圍值,在繪製圓基礎上改造處理。底色使用白色vec3(1.)
,陰影遮蓋使用黑色vec3(1.)
就能達到陰影遮罩效果了。
void main() { vec2 uv = gl_FragCoord.xy / iResolution.xy; vec4 texture = texture(iChannel2,uv); uv -= 0.5; uv.x *= iResolution.x/iResolution.y; float m = 0.4; m = smoothstep(m-0.2,m+0.2,length(uv) - 0.2); vec3 pixel = mix(vec3(1.),vec3(0.),m); gl_FragColor = vec4(pixel,1.0); }
除了採用smoothstep
函數實現外,下面還有一種方法也能實現陰影遮罩效果。如下glsl
所示 對顏色向量vec4 texture
和vignette
相乘,相當於改變色值通道亮度達到明暗對比;同時對於取值uv.y-0.5
可以理解越接近中心取值越接近為0,那麼計算得出的vignette
就越大約接近為1。
void main() { vec2 uv = gl_FragCoord.xy / iResolution.xy; vec4 texture = vec4(1.); float vigAmt = 4.0; float vignette = (1.0-vigAmt*(uv.y-0.5)*(uv.y-0.5))*(1.0-vigAmt*(uv.x-0.5)*(uv.x-0.5)); texture *= vignette; gl_FragColor = texture; }
通過對照也能發現採用圓形公式實現遮罩是有一定圓弧趨勢,而另一種遮罩是偏向矩形,在特效效果上略有差異。以此類推肯定還可以根據這種方式來實現星型,愛心等形狀遮罩。
smoothstep
vignette
最後可以增加一個time
時間入參,通過vigAmt
值不斷變化vignette
強弱來實現忽明忽暗的效果,會有一種在看老電影的感受。
#define time iTime void main() { vec2 uv = gl_FragCoord.xy / iResolution.xy; vec4 texture = texture(iChannel2,uv); float vigAmt = 4.0 + 0.3 * sin(time + 5.0 * cos(time*5.0)); float vignette = (1.0-vigAmt*(uv.y-0.5)*(uv.y-0.5))*(1.0-vigAmt*(uv.x-0.5)*(uv.x-0.5)); texture *= vignette; gl_FragColor = texture; }
到此這篇關於OpenGL Shader實現陰影遮罩效果的文章就介紹到這了,更多相關OpenGL Shader陰影遮罩內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45