#include "GraphingTexture.h" #include "../OpenGLWindow/OpenGLInclude.h" #include GraphingTexture::GraphingTexture() :m_textureId(0), m_width(0), m_height(0) { } GraphingTexture::~GraphingTexture() { destroy(); } void GraphingTexture::destroy() { //TODO(erwincoumans) release memory etc... m_width = 0; m_height=0; glDeleteTextures(1,(GLuint*)&m_textureId); m_textureId=0; } bool GraphingTexture::create(int texWidth, int texHeight) { m_width = texWidth; m_height = texHeight; glActiveTexture(GL_TEXTURE0); m_imageData.resize(texWidth*texHeight*4); for(int y=0;y>5; GLubyte* pi=&m_imageData[y*texWidth*4]; for(int x=0;x=y)//x<2||y<2||x>253||y>253) { pi[0]=0; pi[1]=0; pi[2]=255; pi[3]=255; } else { pi[0]=255; pi[1]=0; pi[2]=0; pi[3]=255; } pi+=4; } } glGenTextures(1,(GLuint*)&m_textureId); uploadImageData(); return true; } void GraphingTexture::uploadImageData() { glBindTexture(GL_TEXTURE_2D,m_textureId); assert(glGetError()==GL_NO_ERROR); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_width,m_height,0,GL_RGBA,GL_UNSIGNED_BYTE,&m_imageData[0]); glGenerateMipmap(GL_TEXTURE_2D); assert(glGetError()==GL_NO_ERROR); }