Replace 3D texture in landscape shader by a 2D texture array
authorArmin Burgmeier <armin@arbur.net>
Thu, 17 Sep 2015 01:41:19 +0000 (21:41 -0400)
committerArmin Burgmeier <armin@arbur.net>
Thu, 17 Sep 2015 01:45:30 +0000 (21:45 -0400)
commit790219ac7eeb0be340c5063dff6944abcf520f7a
treec68ec8b9f01fbe6140731503518d9659ecd0640e
parent061305c0c7fc20da85c820ade53899d52ceffcb0
Replace 3D texture in landscape shader by a 2D texture array

A texture array is conceptionally what should be used in this case. One
advantage of this is that we don't have to generate mipmaps ourselves but can
let the graphics driver take care of it. Same for selection of the mipmap
level. This would even allow to choose different mipmap levels for different
textures.

This is a somewhat experimental change since it makes OpenGL 3.0 a hard
requirement for OpenClonk. I expect that this is fine, but if this causes
failures during landscape creation on common hardware/drivers we should
revisit.
planet/Graphics.ocg/LandscapeShader.glsl
src/graphics/C4Shader.h
src/landscape/C4LandscapeRender.cpp
src/landscape/C4LandscapeRender.h