mirror of
https://github.com/bulletphysics/bullet3
synced 2024-12-14 22:00:05 +00:00
89c2a729ce
Fixes in RobotControlExample Disable gravity by default in PhysicsServer
47 lines
1.1 KiB
C
47 lines
1.1 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
|
|
|