#pragma once #include "glew.h" #include #include #include class GPUProgram { public: //member GLuint mProgram;//gpu resource id std::stack mAttachedShaders; std::map mLocations; public: GPUProgram(); ~GPUProgram(); void DetectAttribute(const char*attributeName); void DetectUniform(const char*uniformName); GLint GetLocation(const char*name); void AttachShader(GLenum shaderType, const char*shaderPath); void Link(); };