DrawSetTextureRGBA: Difference between revisions
Jump to navigation
Jump to search
void ISurface::DrawSetTextureRGBA(int id, const unsigned char *rgba,
m (added class) |
m (→Initialization) |
||
Line 4: | Line 4: | ||
===Initialization=== | ===Initialization=== | ||
unsigned char abPic[128 * 256 * 4]; | unsigned char abPic[128 * 256 * 4]; | ||
*128 is height | |||
*256 is width | |||
*4 is RGBA | |||
===Raw Data=== | ===Raw Data=== | ||
for (j = 0; j < 128; j++) // up/down traverse | for (j = 0; j < 128; j++) // up/down traverse |
Revision as of 20:55, 15 July 2006
void ISurface::DrawSetTextureRGBA(int id, const unsigned char *rgba,
int wide, int tall, int hardwareFilter, bool forceReload)
This is a function that you should use to draw raw RGBA data to the HUD, for example when you are rendering a mask.
Sample
Initialization
unsigned char abPic[128 * 256 * 4];
- 128 is height
- 256 is width
- 4 is RGBA
Raw Data
for (j = 0; j < 128; j++) // up/down traverse { for (i = 0; i < 256; i++) // left/right traverse { int offset = (j * 256 + i) * 4; char *dst = ((char*)abPic) + offset; dst[0] = (unsigned char)255;//red dst[1] = (unsigned char)255;//green dst[2] = (unsigned char)255;//blue dst[3] = (unsigned char)255;//alpha } }
Set Up Texture ID
m_iHudTexture=surface()->CreateNewTextureID(); surface()->DrawSetTextureRGBA(m_iHudTexture,(unsigned char*)abPic,128,256,false,true); surface()->DrawSetColor(Color(255,255,255,128)); surface()->DrawTexturedRect(0,0,GetWide(),GetTall());