Создаю bitmap, пишу на нем строку, конвертирую в wxImage, и пытаюсь использовать как текстуру.
wxBitmap bmp(w, h);
wxMemoryDC gdc(bmp);
gdc.SetBrush(*wxWHITE_BRUSH);
gdc.Clear();
gdc.SetTextForeground(color);
gdc.SetFont(font);
gdc.DrawText(srt, 0, 0);
image = bmp.ConvertToImage();
//получаю текстуру
GLuint* ID = new GLuint[1];
glGenTextures(1, &ID[0]);
glBindTexture(GL_TEXTURE_2D, *ID);
int w1 = image->GetWidth(), h1 = image->GetHeight();
int glw1 = NextPow2(w1), glh1 = NextPow2(h1);
unsigned char *d = image->GetData();
unsigned char *a = image->GetAlpha();
unsigned char *e = new unsigned char[4 * w1 * h1];
if (d && e && a){
for (int p = 0; p < w1*h1; p++) {
e[4 * p + 0] = d[3 * p + 0];
e[4 * p + 1] = d[3 * p + 1];
e[4 * p + 2] = d[3 * p + 2];
e[4 * p + 3] = a[p];
}
}
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
glw1, glh1, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0,
w1, h1, GL_RGBA, GL_UNSIGNED_BYTE, e);
delete[] e;
// set texture parameters as you wish
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
// GL_CLAMP_TO_EDGE
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
return ID;
Но вместо картинки, какая-то рябь.
Для изображений, загруженных из файла - все работает отлично.
wxBitmap bit;
bit.LoadFile(bitmapsPath + imageName, wxBITMAP_TYPE_PNG);
image = bit.ConvertToImage();
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как сделать проверку, чтобы при вводе в Edit Control определенного значения, оно становилось красным и нельзя было нажать на кнопкуТо есть значение...
ЗдравствуйтеЗначит, задача состоит в том, чтобы переправить 3 рыцарей и 3 их оруженосцев на другой берег на лодке, в которую вмещается 2 человека
Задано текстовый файлОпределить номер заданного пользователем числа, если такого нет в строке, то сообщить об этом