I’ve created a game engine from scratch featuring a tiny world. This project aimed to demonstrate my understanding of 3D graphics programming and the principles of perspective, lighting, and texturing. I had a lot of fun implementing the water. It features Fresnel Effect, samples skybox and terrain for realistic reflections and uses depth buffer information to achieve soft edges. I wrote the project purely in Java and OpenGL, and the source code is available on git.
Furthermore, this is a personal live project meaning it will be constantly updated with new stuff as I keep learning new techniques and would want to practically apply them somewhere. Specifics and more details about the project, and how to run it on your local machine are uploaded to the webpage provided in the link. Enjoy!
Source code for curious ones.