Shader 模型沙粒化掉落

2021-08-19 16:12:27 字數 1294 閱讀 2379

geometry shader

基於 shader model 4.0的geometry shader.

vertex -> geometry -> fragment

#pragma geometry:dx10及以上,可以使用。#pragma target 4.0會自動開啟。

shader model 4.0

dx10中加入的新特性,引入geometry shader,可以操縱圖元。

1.確保unity playersetting -> graphics apis (for windows)選擇的了direct3d10以上,並且在第乙個。

2.效果如下:

_explospeed("explospeed",float) = 0.4 // 風化速度

}subshader

lod 100

pass

;struct v2g

;struct g2f

;sampler2d _maintex;

float _speed;

float _accelerationvalue;

float _starttime;

float _floory;

float _explospeed;

[maxvertexcount(1)]

void geom(******** v2g in[3], inout pointstreampointstream)

else

temppos = mul(unity_worldtoobject, worldpos).xyz

; o.vertex = unityobjecttoclippos(temppos);

o.uv = (in[0].uv + in[1].uv + in[2].uv) / 3

; }

fixed4 frag (g2f i) : sv_target

endcg}}

}

模型描邊shader

這個材質的思路實現在於畫兩個pass 在第1 個pass剔除物體的背面,而在第2 個pass在vertex shader 中把頂點在投影空間利用法線沿著邊緣的方向微微擴張,然後再次剔除物體正面,這樣就留下物體描邊。shader unlit outline outline outlinewidth f...

shader之模型選中效果

unity 兩個pass pass1 將物體放大,用指定顏色 你要求的邊緣顏色 渲染 pass2 物體正常渲染 後邊渲染的會遮擋住前面渲染的,最後就出現邊緣選中的效果了 shader unlit outlineeffect 主要的目標紋理變數 outlinewidth width float 1.2...

Shader基本光照模型 菲涅爾模型

shader lijia fresneltest fresnelbase fresnelbase range 0 1 1 fresnelscale fresnelscale range 0 1 1 fresnelindensity fresnelindensity range 0 5 5 fresn...