--- /dev/null
+#include "enums.h"
+#include "programstate.h"
+#include "strformat.h"
+
+using namespace std;
+
+ShaderState::ShaderState():
+ id(0),
+ source_changed(false),
+ compile_status(false),
+ pending_delete(false)
+{ }
+
+string ShaderState::describe() const
+{
+ return describe_enum(type, "");
+}
+
+
+ProgramState::ProgramState():
+ id(0),
+ shaders_changed(false),
+ link_status(false)
+{ }
+
+string ProgramState::describe() const
+{
+ return strformat("%d shaders", shaders.size());
+}