package net.torvald.terrarum import com.badlogic.gdx.Gdx import com.badlogic.gdx.utils.GdxRuntimeException import org.lwjgl.opengl.GL11 class TerrarumGLinfo { private var _initialised = false val MINIMAL_GL_VERSION = 320 var GL_VERSION = -1; private set get() = if (_initialised) field else throw UninitializedPropertyAccessException() var GL_MAX_TEXTURE_SIZE = -1; private set get() = if (_initialised) field else throw UninitializedPropertyAccessException() fun create() { _initialised = true val glInfo = Gdx.graphics.glVersion.debugVersionString GL_VERSION = Gdx.graphics.glVersion.majorVersion * 100 + Gdx.graphics.glVersion.minorVersion * 10 + Gdx.graphics.glVersion.releaseVersion println("GL_VERSION = $GL_VERSION") println("GL info:\n$glInfo") // debug info if (GL_VERSION < MINIMAL_GL_VERSION) { // TODO notify properly throw GdxRuntimeException("Graphics device not capable -- device's GL_VERSION: $GL_VERSION, required version: $MINIMAL_GL_VERSION") } GL_MAX_TEXTURE_SIZE = GL11.glGetInteger(GL11.GL_MAX_TEXTURE_SIZE) println("Maximum Texture Size: $GL_MAX_TEXTURE_SIZE") } }