bullet3/examples/ExampleBrowser/GwenGUISupport/GraphingTexture.h
erwincoumans ab8f16961e Code-style consistency improvement:
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
2018-09-23 14:17:31 -07:00

46 lines
1.2 KiB
C

#ifndef GRAPHING_TEXTURE_H
#define GRAPHING_TEXTURE_H
#include "LinearMath/btAlignedObjectArray.h"
struct GraphingTexture
{
int m_textureId;
//assume rgba (8 bit per component, total of 32bit per pixel, for m_width*m_height pixels)
btAlignedObjectArray<unsigned char> m_imageData;
int m_width;
int m_height;
GraphingTexture();
virtual ~GraphingTexture();
bool create(int texWidth, int texHeight);
void destroy();
void setPixel(int x, int y, unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha)
{
if (y >= 0 && y < m_height && x >= 0 && x < m_width)
{
m_imageData[x * 4 + y * 4 * m_width + 0] = red;
m_imageData[x * 4 + y * 4 * m_width + 1] = green;
m_imageData[x * 4 + y * 4 * m_width + 2] = blue;
m_imageData[x * 4 + y * 4 * m_width + 3] = alpha;
}
}
void getPixel(int x, int y, unsigned char& red, unsigned char& green, unsigned char& blue, unsigned char& alpha)
{
red = m_imageData[x * 4 + y * 4 * m_width + 0];
green = m_imageData[x * 4 + y * 4 * m_width + 1];
blue = m_imageData[x * 4 + y * 4 * m_width + 2];
alpha = m_imageData[x * 4 + y * 4 * m_width + 3];
}
void uploadImageData();
int getTextureId()
{
return m_textureId;
}
};
#endif //GRAPHING_TEXTURE_H