mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-14 13:50:04 +00:00
ab8f16961e
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files. make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type. This commit contains no other changes aside from adding and applying clang-format-all.sh
74 lines
1.3 KiB
C++
74 lines
1.3 KiB
C++
#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);
|
|
}
|