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 就按比例分得整個...