總的來說把渲染出來的結果(texture),類似於又用ps處理了一下。方法就是把不同的指令碼加在攝像機上,指令碼和shader共同使畫面具有不同的效果。
onrenderimage介面和bilt函式的使用。
建立基類posteffectsbase,配置一些check函式。
調整亮度、飽和度、對比度的實現:分別在指令碼中定義3個對應的變數作為變化範圍,賦值給shader,在shader中的片元著色器中,對每個片元進行計算,達到調整效果。
邊緣檢測實現:卷積的介紹(卷積核,卷積計算,卷積的意義,梯度),使用給定的卷積核計算梯度(卷積計算每乙個紋素),在片元著色器中使用得到的梯度作為比例(0-1)將原先的color與邊緣顏色進行混合(lerp函式),最後同樣使用lerp混合2張含有原圖資訊/替換背景為純色的效果圖。
高斯模糊實現:高斯方程的引入,二維高斯核轉化為2個一維的權重分布(橫向和縱向分開,在shader中使用2個pass分別計算),使用實現明確的權重分布(總和為1),將每個片元周圍(引數控制,甚至可以取到相鄰更遠的片元參加運算)的片元rgb值與其相乘,得到結果(這個結果可以多次重複計算,增加模糊程度);以上2個pass都進行了命名,方便在其他shader中使用。
bloom效果實現:用乙個閾值,在第1個pass中將亮度超過閾值的部分減去閾值,其餘部分變為0;第23個pass將上一步得到的區域進行高斯模糊(通過name命名呼叫);第4個pass將前幾步的結果和原圖混合,得到最終效果。
運動模糊實現:為了模仿**效果,使用累計快取的方法,將多張渲染中的rgb資訊進行混合(提前設定了a通道值),原有a通道則保留不變(原文為「不希望a通道的值寫入渲染紋理」,暫且這樣理解的)。
Shader入門精要讀書筆記3
笛卡爾座標系 標準正交基 左 右手座標系 點 向量 向量的運算 點積叉積 矩陣 矩陣的運算 矩陣變換 線性變換 縮放 旋轉 仿射變換 合併了線性變換和平移變換 齊次座標 縮放矩陣 旋轉矩陣 zxy 平移矩陣 依次 座標空間 父空間 子空間 模型空間 物件空間 世界空間 觀察空間 相機空間 裁剪空間 ...
Shader入門精要讀書筆記4
unity版本號和環境 建立場景,shader 材質 球體 簡單shader中每一行 的作用 使用語義 例如sv position 作為輸入輸出 sv position sv target 頂點 片元著色器輸出 結構體的引入,並用於著色器間資訊傳遞 頂點著色器插值後送給片元著色器 propertie...
Shader入門精要讀書筆記5
漸入佳境 光照 光源 方向,輻射度 吸收 散射 散射 折射 投射 反射 高光反射 specular 反射 漫反射 diffuse 折射 吸收 反射 出射度 輻射度 光照模型 brdf 標準光照模型 亦可稱為phong光照模型 blinn phong光照模型 標準光照模型 4部分 以下總結均基於此模型...