中級Shader教程24 兩種雨實現方式

2021-08-19 13:15:17 字數 1352 閱讀 3910

layout: post

title: 「中級shader教程24 兩種雨實現方式」

date: 2018-04-26 16:09:03

author: jiepeng tan

categories:

1.和下雨特效製作一樣,通過uv拉伸來呈現速度感,來表現雨

1.簡單版本

float2 ruv = uv /

float2

(_screenparams.x/_screenparams.y,

1.0)

;//原始uv

//寬高比正常uv

uv =

(ruv *

2.0-

1.0)

*float2

(_screenparams.x/_screenparams.y,

1.0)

;float2 st = uv *

float2(.5

+(ruv.y+

1.0)

*0.5

,.03)+

float2

(ftime*

.2-ruv.y*

.1, ftime*.2)

;//拉伸實現

float f =

tex2d

(_noisetex, st)

.y *

tex2d

(_noisetex, st*

.773

).x *

1.55

;f =

clamp

(pow

(abs

(f),

23.0)*

13.0

,0.0

,(ruv.y-.2)

*.14);

col +

=float3

(f,f,f)

;

2.有光照的版本
float3 hitpos =

raycastscene()

;float dis =1.;

for(

int i =

0; i < layernum; i++

) col +

= bri*f;

} dis +

=3.5;}

col =

clamp

(col,

0.0,

1.0)

;

3.raymarching版本

先將空間進行grid劃分(類似bouncedballs),讓後使用類似voronio實現方式對空間中的繪製長方體,加上前面提到的多層透明混合也可實現雨效果,不過效能會較為損傷

ubuntu 安裝redis兩種方式 教程

wget tar xzf redis 2.8.17.tar.gz cd redis 2.8.17 make make完後 redis 2.8.17目錄下會出現編譯後的redis服務程式redis server,還有用於測試的客戶端程式redis cli,兩個程式位於安裝目錄 src 目錄下 下面啟動...

常見程式設計問題之速算24點兩種解法

之前面試某大廠的時候碰到讓寫速算24點的程式,當時使用了保利排序,感覺寫的不是很好,這裡再總結一下。一.速算24點遊戲描述 巧算24點 是一種數學遊戲,遊戲方式簡單易學,能健腦益智,是一項極為有益的活動 巧算24點 的遊戲內容如下 一副牌中抽去大小王剩下52張,如果初練也可只用1 10這40張牌 任...

Android開發教程 底部Tab的兩種實現方式

第一種 下面的tabs.xml布局檔案中,整個布局是垂直顯示的,分為framelayout和tabwidget上下兩部分,在framelayout 布局裡面使用layout weight 1 而tabwidget沒有設定這個屬性,那就預設為0。那麼在這布局中,framelayout 就按比例分得整個...