+#include <GL/glew.h>
+#include <GL/glut.h>
+#include <stdio.h>
+
+#include "tentacle.h"
+
+static bool init();
+static void cleanup();
+
+static void display();
+static void keyboard(unsigned char key, int x, int y);
+
+/* XXX FIXME */
+static Tentacle tentacle;
+
+int main(int argc, char **argv)
+{
+ glutInit(&argc, argv);
+ glutInitWindowSize(800, 600);
+ glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
+
+ glutCreateWindow("ludu mice");
+ glutDisplayFunc(display);
+ glutKeyboardFunc(keyboard);
+
+ if (!init())
+ exit(1);
+
+ atexit(cleanup);
+
+ glutMainLoop();
+}
+
+static bool init()
+{
+ glewInit();
+ glClearColor(1.0, 1.0, 0.0, 1.0);
+
+ if (!tentacle.init()) {
+ fprintf(stderr, "Failed to initialize tentacle control points.\n");
+ return false;
+ }
+
+ return true;
+}
+
+static void cleanup()
+{
+}
+
+static void display()
+{
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ //XXX FIXME
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+
+ tentacle.draw();
+
+ glutSwapBuffers();
+}
+
+static void keyboard(unsigned char key, int x, int y)
+{
+ switch(key) {
+ case 27:
+ exit(0);
+ default:
+ break;
+ }
+}