OpenGL implementation of Jesper Persson master thesis : Volume-Preserving Deformation of Terrain in Real-Time.
Link to paper : http://www.diva-portal.org/smash/get/diva2:1333403/FULLTEXT01.pdf
- Visual Studio 2019
- OpenGL 4.5
I used my little engine for this implementation, I hope the code is explicit enough to be easily moved to another framework.
Open the solution Snow.sln, set the Project property Debugging/Working Directory to $(OutDir) and everything should be ready to go.
When the viewport is focused (just click inside the viewport window) you can rotate the camera by holding the shift key and draging the mouse with the left button down.
You can zoom by holding the shift key and draging verticaly the mouse with the right button down. You can also use the mouse wheel to zoom.
You can change the orbit center of the camera by selecting an object in the Outliner list and pressing the F key.
The majority of the settings are in the Snow panel of the editor.
If you wish to tweak the blurs or the bloom, you can select the corresponding resource (Normal Map Blur for example) in the Resources list, their properties will be appear in the Details window.
For the drag float boxes, you can hold the alt key to change the values slower.
The scene should be composed of several objects :
- Animated boots
- Spot the cow
- Fences
- Lantern
- Ball
You can find the detailed explanation here.