原创 中級Shader教程28 GameUI 血瓶

1.實現原理 1.顏色公式 col = a + b* cos(2*PI * (c*t + d)) 更多的顏色變換: 比如彩虹的顏色公式: col = .6 + .6 * cos( 6.3 * uv.y / _Sc

原创 中級Shader教程00 01工具推薦

書籍推薦 數學知識 Mathematics for 3D Game Programming and Computer Graphics (Third Edition) opengl Packt.OpenGL 4 Shading L

原创 中級Shader教程26 三種Caustic實現方式

0.提要 Caustic的的特徵是高光集中而且扭動,模擬的是由於水面的扭動導致陽光的折射集中產生的效果, 如圖,本篇講述的是三種模擬算法,並非由光線追蹤精確計算得到。 v2f vert (appdata v){ v2f o

原创 中級Shader教程25 兩種漣漪實現方式

1.實現 1.空間劃分+相鄰grid之間採樣實現 其中 y = sin(31.*t) * smoothstep(-0.6, -0.3, t) * smoothstep(0., -0.3,t) 圖形解析爲: // create b

原创 中級Shader教程23 voronoi算法

1.基本Voronoi算法 1.在空間中擺放衆多的樣本點 points 2.對空間中的每個像素pixel,計算pixel到points的最短距離 minDist 3.根據minDist進行着色 僞代碼: float3[] poin

原创 中級Shader教程21 優化:用shader分攤CPU壓力

粒子大規模渲染優化 0.優化總覽 大規模粒子渲染,和動畫系統優化一樣,需要優化和權衡的是GPU和CPU的負載,同樣技巧也相似。 動畫系統的優化 1.DrawCall的減少    Batch 單個模型頂點數量太多,可以合批的數量不

原创 中級Shader教程20 3D雲

1.前置知識鏈接 1.Noise和FBM請參考這篇文章中給出的鏈接 2.ranymarching 框架 3.多層透明疊加渲染 1.分析&實現 1.使用常規raymarching +倒退+ 多層疊加透明渲染 1.常用FBM *分

原创 中級Shader教程16 水渲染

1.前置知識鏈接 1.Noise和FBM請參考這篇文章中給出的鏈接 2.ranymarching 框架 2.分析 1.基本形狀構造 這裏利用了Noise本身隨機的同時也連續的特性來模擬水面的變動 1.使用FBM來實現水面的基本

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

1.思想 1.和下雨特效製作一樣,通過UV拉伸來呈現速度感,來表現雨 2.實現 1.簡單版本 float2 ruv = uv / float2(_ScreenParams.x/_ScreenParams.y,1.0);//原始uv //

原创 中級Shader教程27 三種窗前雨滴效果

本篇主要技術點有: 柵格化屏幕空間 函數設計技巧:”湊” 2D旋轉 .代碼實現: 0. 柵格化 float aspectRatio = 4.0;//每一行雨滴的寬高比 float tileNum = 5;//平鋪數量 u

原创 中級Shader教程10 shader建模工具--SDF

1.作用 SDF (Sign Distance Functions)主要思想是計算點到目標模型的最近距離. 在RayMarching中,如果已知射線點到場景中的左右物體的最短距離,就可以知道我們是否已經碰到的了物體,如果沒有碰到場

原创 中級Shader教程15 地形渲染

1.前置知識鏈接 1.FBM請參考這篇文章中給出的鏈接 2.ranymarching 框架 2.抽取地形shader 通用函數   在處理類地形raymarching的過程中,爲了優化,在raycast階段會有一個大循環,爲了性能

原创 中級Shader教程12 跳動的小球

1.實現原理 1.空間劃分 2.SDF 2.源碼 簡單代碼如下: // create by JiepengTan 2018-04-14 // email: [email protected] Shader "FishManS

原创 中級Shader教程19 動態霧

1.前置知識鏈接 1.Noise和FBM請參考這篇文章中給出的鏈接 2.ranymarching 框架 2.實現原理 1.利用FBM來模擬空間霧的密度分佈 2.通過raymarch 距離根據密度從前到後多層顏色混合 這裏的Noi

原创 中級Shader教程09 3D Raymarch框架

終於,我們暫時結束了2D,進入了令人興奮的3D!! 在2D的屏幕中,繪製3D場景—-升維進化!相信我,當你搞定了3D,再回頭看2Dshader,你會想起一句廣告詞,so easy!媽媽再也不用擔心我們的shader了. 1.3