diff options
Diffstat (limited to 'src/BetterBase.java')
-rw-r--r-- | src/BetterBase.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/BetterBase.java b/src/BetterBase.java new file mode 100644 index 0000000..2e233ee --- /dev/null +++ b/src/BetterBase.java @@ -0,0 +1,49 @@ + +import com.jogamp.opengl.util.gl2.GLUT; +import javax.media.opengl.GL2; +import javax.media.opengl.glu.GLU; +import java.awt.Color; + +/** + * Base class that provides basic bindings to the ugly JOGL interface. This + * works around the limitations imposed by JOGL. + */ +abstract class BetterBase { + + /** + * OpenGL context. + */ + protected static GL2 gl; + + /** + * OpenGL Utility instance. + */ + protected static GLU glu; + /** + * OpenGL Utility Toolkit instance. + */ + protected static GLUT glut; + + public static void setGL(GL2 gl) { + BetterBase.gl = gl; + } + + public static void setGLU(GLU glu) { + BetterBase.glu = glu; + } + + public static void setGLUT(GLUT glut) { + BetterBase.glut = glut; + } + + /** + * Utility method to set color. + * + * @param color An AWT color. + */ + static void setColor(Color color) { + // contains four RGBA color components (floats in range 0 to 1) + float[] rgba = color.getRGBComponents(null); + gl.glColor3fv(rgba, 0); + } +} |