+ untested ray-octree intersection (currently no option to visualize outcome)
+ Per voxel material coding
+ extended material by average calculation code and some operators
# disabled uniform block compression
# using T::UNDEFINED as concept instead of a variable
# renamed some the variables of SVON
# introduced new tree traversal syntax: Processor Concepts
+ dynamical updating the tree (worst case test scenario)
# bugfix in Model::Update removing voxels made wrong calculations (still seems wrong due to float arithmetic)
# increased performance by deleting empty tree nodes
# Tree get now allows node access - it is possible through iteration anyway (start traversal anywhere now possible)
# fix: lots of useless updates because of too low-level updates
Merge branch 'master' into PerVoxelMaterial

Conflicts:
	Monolith.vcxproj.filters
	dependencies/JoFileLib/include/file.hpp
	dependencies/JoFileLib/lib/Debug/jofile.lib
	dependencies/JoFileLib/lib/Release/jofile.lib
	src/gamestates/gsmain.cpp
	src/voxel/sparseoctree.hpp
+ more Vec3 and Vec4 constructors
+ Camera::GetRay
# made RayCast compile able (still work to do)
+ Ray transformation (multiply with matrix)
# model ray-casts convert ray to model space first
# ray cast to octree working
# improved mouse double click (position of last click must be close)
+ introduced expensive TraverseEx with neighborhood information (untested)
+ new type (Component) as octree data
+ new chunk builder algorithm (now optimal bound by O(k))
# tested and fixed TraverseEx
# fix: One component constructor created wrong solid flag
+ new material is used in update and for rendering (no BRDF so far)
removed deprecated textures
# specular BRDF
# removed a model center computation bug
# moved lighting to geometry shader (5.6ms -> 4.6ms on Nvidia, slower on Intel)