Unity shader简单闪点 亮片

Unity shader简单闪点 亮片_第1张图片

v2f vert2 (appdata v)
{
    v2f o;
    o.vertex = UnityObjectToClipPos(v.vertex);
    o.uv = TRANSFORM_TEX(v.uv, _MainTex);

    return o;
}

float random (float2 st, float n) 
{
    st = floor(st * n);
    return frac(sin(dot(st.xy, float2(12.9898,78.233)))*43758.5453123);
}

fixed4 frag2 (v2f i) : SV_Target
{
    // fixed3 worldNormal = normalize(i.worldNormal);
    // fixed3 worldLightDir = normalize(UnityWorldSpaceLightDir(i.worldPos));
    // fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(i.worldPos));
    // fixed3 worldHalfDir = normalize(worldLightDir + worldViewDir);

    // sample the texture
    fixed4 col = random(i.uv.xy, 500);
    
    col.w = step(_FlashScale, col.w);
    col.w = (1 - step(_FlashHeight, i.uv.y)) * col.w;
    col.w = col.w * random(i.uv.xy, 5);
    col.xyz = lerp(_FlashColor, col.xyz, col.w);
    return col;
}      

你可能感兴趣的:(opengl)