The island uses height mapping, in order to achieve its look, with partial differentiation used to calculate the normals. It is also dynamically tessellated based on the distance from the camera position to the vertex. There are controls for the distance from which tesselation to start and the Level of Detail. The height map also features controls for its Amplitude or height as well as a normal multiplyer to make the normals behave better with the height.
Another vertex manipulation technique is used for the water, namely gerstner waves. I used the tutorial on CatLikeCoding to implement it. Which makes the vertices be closer to each other towards the top of the wave and further apart closer to the bottom, creating a water-like movement. I have added controls for the number of waves, as well as their properties, like wavelength, called length here, steepness and direction.
Wave tutorial from: https://catlikecoding.com/unity/tutorials/flow/waves/
For processing I have implemented Bloom and Depth of Field. For bloom I used the tutorial on LearnOpenGL. Bloom takes the bright pixels above a certain threshold, blurs them and adds them back to the original texture to simulate a glowing effect. While Depth of Field, takes in a blurred and a non-blurred texture along with the depth texture and interpolates between the two based on the depth difference between the middle of the screen and the current texel. The Depth of Field effect is calculated in a compute shader. There are controls for the bloom threshold, strength and blur amount. For depth of field we can control its power.
Bloom tutorial from: https://learnopengl.com/Advanced-Lighting/Bloom
In terms of lights and shadows I have implemented 3 types of lights, directional, spot and point lights. Directional and spot lights have shadows implemented.
Multiple lights can also cast shadows on the same object, take the heightmap for example. Here we can see the shadow from the directional lights and if we move the object slightly we can also spot the shadow from the spotlight. All lights have controls for their basic properties like diffuse, ambient and specular colours, specular power, direction and position, the last 2 are only where necessary.