最近在學習shader,這個算是這段時間的乙個小的回顧吧
先簡單的說明一下,我們是希望通過兩個pass通道進行渲染,第乙個pass處理頂點的放大,以及方法之後的外部貼圖,後乙個pass混合前乙個渲染的顏色值,做出乙個類似於兩個圓套接的乙個樣子。。。**如下
最終這個長得跟個桃子一樣的就是實現目標了
****************************************===以下為講解****************************************====
我們需要注意的就是第乙個pass裡面的 zwrite off 這句話,試想一下,假設我們不關閉深度寫入,那麼我們知道,我們第乙個pass執行完畢之後頂點資料肯定是要在第二個pass之前的(因為放大了x倍),所以就會導致我們第二個pass裡面的所有片源都會被第乙個pass遮擋,所以,在這裡我們要把第乙個pass的深度寫入關閉。。。
頂點沒什麼好說的,沒做什麼操作
而片元裡面。。。或許已經有小夥伴發現了,兩個pass片元**其實差不多。。。對,這個**其實是通過世界方向上的頂點來和相機的座標進行乙個點乘,求出頂點與相機的角度形成的cos值,計算得出的角度來進行乙個從中部到邊緣的乙個透明到加深的乙個**塊,而使用這種**的原因則是因為我們的blend採用的 blend srcalpha one 也就是乙個顏色相加操作,如果我們只用同乙個**塊不進行任何引數上的修改的話,那麼,由於兩個渲染的頂點不同,就會出現第乙個pass渲染的顏色把第二個pass上的顏色覆蓋的情況發生,所以為了防止這種情況發生,我們為兩個pass分別用了同樣的一套**,不同的引數實現。。。(感覺不用在講解了,這個地方都說完了 = = )
shader實現的「地表最強護盾」,沒有之一
重要事情 菜鳥的新頭像來了,注意了是原創的,原創,原創,原創,原創 愉快的週末已經完了,又要開始奮鬥了,come on!大家注意了奧,菜鳥又給大家帶來了乙個不要錢的炫酷效果 護盾 從效果中可以看到,整個效果分為三部分 護罩,底盤,星星。接下來菜鳥就三部分分別說一下 護罩的實現原理 vec4 frag...
Shader 各種Shader效果的合集
1.the fresnel effect 參考 實用的shader shader heroshader character a通道標記陣營區域,1 表示有陣營顏色區域,0 表示非陣營顏色區域 emission emission range 0,1 0 自發光 shadowlevel shadow l...
shader程式設計
2010 03 13 16 56 來自 組長 獨孤殘雲 至此shader的基本實現方法已經告一段落了,想進一步學習,強烈推薦nvidia 把http developer.download.nvidia.com shaderlibrary webpages shader library.html上的s...