This is my Unity project that I created in my third year of University that taught me how to code basic to intermediate level shaders using CG/HLSL
This is the code for the shader I created to give a holographic effect to an object, using a fresnel effect.
This is the output and the code for the plasma shader effect I created that I then also used to create these simple water ripples that use intersectcting sin and cos waves to move the texture UV's.
This is the code for the vertex displacement for all the verties, and it works by getting the coordinates of every vertice you want to move and moving them to the current position of another sin wave along the x axis.
This is the that that makes the wave effect vertex displacement shader, it does so by once again creating a sin wave that animates across the xy UV coordinates but instead of multiplying the whole output by a magnification you include that in the length function.
This is the code that moves the vertices in a ring effect by moving creating a sin wave that is animated along the length of the xy uv coordites multiplied by a magnification number, this magnification number will choose how large the rings are and then eventually they will start to intersect.
These are the results of the outputs in order. The reason they look very triangulated is because the mesh I used in Unity didn't have many verticies in it.
This is the output of the normal map shader I wrote, it works by taking in the position of the objects vertices then changing the colour of them based pn their texture coordinate and the view direction.
This is the code for the normal shader, a lot of the functionality is built into Unity already so it looks far less comlicated than the maths actually is