123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #include "GraphingTexture.h"
- #include "../OpenGLWindow/OpenGLInclude.h"
- #include <assert.h>
- 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<texHeight;++y)
- {
- // const int t=y>>5;
- GLubyte* pi=&m_imageData[y*texWidth*4];
- for(int x=0;x<texWidth;++x)
- {
- if (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);
-
-
- }
|