#pragma once #include #include "GL/glew.h" #include #include #include "Shader.h" #include "ModelView.h" #include "Viewer.h" #include "Light.h" #include "SceneContext.h" #include "Models/Mesh.h" #include "imgui/stb_image.h" struct vertexAttr { GLfloat posX, posY, posZ; GLfloat r, g, b; }; class MyGlWindow { public: MyGlWindow(int w, int h); ~MyGlWindow(); void draw(); void setBgColor(float bgColor[3]); std::map shaders; std::map meshes; void resize(int w, int h); Viewer viewer; private: SceneContext _scnctx; int m_width; int m_height; float _bgColor[3]; GLuint _vaoHandle; GLuint _iboHandle; void textureSetup(); void shaderSetup(); void lightSetup(); void setup(); };