霧的簡單實現

2021-07-01 18:59:45 字數 1238 閱讀 3678

霧是黃色,遠處的霧更加濃,看不見物體的紋理,首先給出的是支援線性計算的頂點著色器,器**如下:

uniform mat4 umvpmatrix; //總變換矩陣

uniform mat4 ummatrix; //變換矩陣

uniform vec3 ulightlocation; //光源位置

uniform vec3 ucamera; //攝像機位置

attribute vec3 aposition; //頂點位置

attribute vec3 anormal; //頂點法向量

varying vec4 ambient;

varying vec4 diffuse;

varying vec4 specular;

varying float vfogfactor; //霧因子

//定位光光照計算的方法

void pointlight( //定位光光照計算的方法

in vec3 normal, //法向量

inout vec4 ambient, //環境光最終強度

inout vec4 diffuse, //散射光最終強度

inout vec4 specular, //鏡面光最終強度

in vec3 lightlocation, //光源位置

in vec4 lightambient, //環境光強度

in vec4 lightdiffuse, //散射光強度

in vec4 lightspecular //鏡面光強度

)//計算霧因子的方法

float computefogfactor()

void main()

介紹完頂點著色器後,下面接著是片源著色器:

precision mediump float;

varying vec4 ambient;

varying vec4 diffuse;

varying vec4 specular;

varying float vfogfactor; //霧因子

void main()

else

}

體積霧的一種簡單實現

場景裡面一開始加的是預設的opengl霧效,效果不太好,看起來立體感不強,然後打算加個體積霧效果,搜了一些體積霧的實現方式,發現略複雜,就想了種比較簡單的實現方式 1 在場景的垂直高度上,一般是z軸,建立若干個水平的平面,大小要比場景大,疊在一起之後看起來效果類似乙個立方體 我是從z的 5到20,建...

OpenCV實踐之路 暗通道去霧簡單實現

參考 環境引數 vs2010 opencv 2.4.13 i x 待去霧的影象 j x 無霧影象 a 全球大氣光成分 t 折射率 大氣傳遞係數 在無霧影象中,每乙個區域性區域都很有可能會有陰影,或者是純顏色的東西,又或者是黑色的東西。因此,每乙個區域性區域都很有可能有至少乙個顏色通道會有很低的值。把...

URP下快速實現高度霧

高度霧的實現思路非常簡單,通過深度圖還原出來的世界座標的y值來做fog的lerp引數。使用之前的體積光 的基礎上做了個加法,方便快速使用。如下 shader unlit volumetriclightingshader intensity intensity float 1 fogcolor fog...