--- /dev/null
+#include <glm/glm.hpp>
+#include <vector>
+
+struct Light {
+ glm::mat4 trans;
+ glm::vec3 color;
+};
+
+struct Mode {
+ virtual void display(float d) = 0;
+ virtual void timer() = 0;
+ virtual void motion(int x, int y, int dx, int dy) = 0;
+ virtual void passiveMotion(int x, int y, int dx, int dy) = 0;
+ virtual void mouse(int button, int state, int x, int y) = 0;
+ std::vector<Light> getLights(float d) { return {}; }
+};