+ outline.vertices = std::vector<glm::vec3>({
+ { 0.0f, 0.0f, 0.0f }, { 1.0f, 0.0f, 0.0f },
+ { 1.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 0.0f },
+ { 1.0f, 1.0f, 0.0f }, { 0.0f, 1.0f, 0.0f },
+ { 0.0f, 1.0f, 0.0f }, { 0.0f, 0.0f, 0.0f },
+ { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 1.0f },
+ { 1.0f, 0.0f, 0.0f }, { 1.0f, 0.0f, 1.0f },
+ { 1.0f, 1.0f, 0.0f }, { 1.0f, 1.0f, 1.0f },
+ { 0.0f, 1.0f, 0.0f }, { 0.0f, 1.0f, 1.0f },
+ { 0.0f, 0.0f, 1.0f }, { 1.0f, 0.0f, 1.0f },
+ { 1.0f, 0.0f, 1.0f }, { 1.0f, 1.0f, 1.0f },
+ { 1.0f, 1.0f, 1.0f }, { 0.0f, 1.0f, 1.0f },
+ { 0.0f, 1.0f, 1.0f }, { 0.0f, 0.0f, 1.0f },
+ });
+ outline.colors.resize(24, { -1, -1, -1 });
+ outline.Invalidate();
+
+ m_handle = program.UniformLocation("M");
+ v_handle = program.UniformLocation("V");
+ mv_handle = program.UniformLocation("MV");
+ mvp_handle = program.UniformLocation("MVP");
+ light_position_handle = program.UniformLocation("light_position");
+ light_color_handle = program.UniformLocation("light_color");
+ light_power_handle = program.UniformLocation("light_power");