Fixes that some shader permutations could get generated multiple times.
Adds that thrown blocks and items are correctly lit - either using deferred or forward shading. Cleaned up various things on the way. Also copied block shader which gets used as a material to a new shader. The new shader solely uses deferred shading.
Adds that the "under water effect" is activated a bit later when animated water is activated (the camera position is slightly offset along the positive y-axis).
Adjusts that the light camera gets repositioned more frequently.
Fixes that specular lighting for water was added while calculating the overall brightness (and not at the end). Also reduces specular intensity a bit.
Adds new skyband inscattering technique which can be used to generate distance fog fitting for the current skysphere in all directions. Moves inscattering calculation from the chunk shader (per vertex) to the combine shader (per pixel).

* Tweaks inscattering settings accordingly
Fixes that the flickering block light effect was more or less invisible and adds some minor cleanups here and there.
Adds normal/bump mapping support - normal map atlas support is missing though...

* Adds simplified tangent space calculation to the chunk shader
* Adds normal mapping support to the chunk shader
* Adds a setting to the rendering config which can be used to enable/disable normal mapping
* Adds an example stone normal map
* Fixes that the Lambertian lighting helper method could return values < 0
* Adds a shader helper method which can be used to generate normalized texture coordinates from an arbitrary atlas texture position
* Adds various cleanups in the shaders that I made while I was at it
Updates menu and loading background images.
Adds various rendering related fixes, additions and tweaks.

* Adds the zNear and zFar clipping distances as camera parameters (which are sent to all shaders)
* Cleans up and adjusts depth calculations in various situations
* Adjusts inscattering and depth of field parameters
Fixes broken Oculus VR support since the addition of deferred shading pipeline.
Adds support for Parallax Mapping (can be manually enabled via the config file).

* Adds Parallax Stone block for testing purposes
Fixes #623.
Adds some minor cleanups in the light geometry pass fragment shader.
Adds support for the automated generation of height- and and normal map texture atlases and some minor fixes. All you have to do is create a new tile texture png with the suffixes "Height" or "Normal". If you like to specify a explicit name for the asset, you can use the "tileNormal" and "tileHeight" members of the Block Definition class. So a normal map for a stone block can be created by adding a "StoneNormal.png" texture to the assets directory.

* Adds support for sampling height and normal map texture atlases to the chunk fragment shader
* Removes parallax stone texture because it forced a texture atlas size of 4096*4096. Back to 256*256...
* Fixes a shader compile issue on the lower visual settings
Revision of the "books" mod.
* Made bookcases stackable
* when destroyed, bookcases drop their content - be careful with 99-er stacks ;)
* consistent naming (bookshelf -> bookcase)
* package structuring
Drastically reduces intensity of block light.
Adds some minor shader cleanups and fixes that blocks without available normal maps in the atlas were not correctly lit with normal mapping enabled.

* Sets the default background texture color for the normal texture atlas to r=0.5, g=0.5, b=1.0 which equals the unit vector [0.0, 0.0, 1.0] when being decoded in the chunk shader
* Reduces flickering light effect - no more ghosts turning your torches on and off to scare you at night
Adds minor cleanups and tweaks ocean waves settings.
Introduced MapGenerators that consists of several ChunkGenerators.
MapGenerators/ChunkGenerators can now be placed in mods.
CreateNewWorldUI modified to dynamically load MapGens.