ICE SHADER

cartoony ice shader with screen-space distortion

how it works

variables

distortion is based on a normal map, and the strength/color of the glowing edge can be changed in the material.

 

renderqueue + grabpass{}

the object is rendered in the transparent queue, and uses GrabPass{} to be able to use screen-space distortion.

 

screen-space distortion

the screen position is calculated in the vertex shader using the unity function ComputeGrabScreenPos().

then, the screen UV is calculated by dividing screenPos.xy by screenPos.w. After getting the normal, it is then added to the screen UV and multiplied a bit to get the distortion effect.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *