![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
КАК ЗАГРУЗИТЬ картинку, размеры которой не кратны степени 2?
WondeRu © (2003-11-11 08:35:00)
Здравствуйте!
В OpenGL загружаю текстуры с.о.:
with BMinfo.bmiHeader do begin
FillChar (BMInfo, SizeOf(BMInfo), 0);
BMinfo.bmiHeader.biSize := sizeof (TBitmapInfoHeader);
BMinfo.bmiHeader.biBitCount := 24;
BMinfo.bmiHeader.biWidth := Bitmap.Width;
BMinfo.bmiHeader.biHeight := Bitmap.Height;
fxmin:=0;
fxmax:=Bitmap.Width;
fymin:=0;
fymax:=Bitmap.Height;
ImageSize := biWidth * biHeight;
BMinfo.bmiHeader.biPlanes := 1;
BMinfo.bmiHeader.biCompression := BI_RGB;
MemDC := CreateCompatibleDC (0);
try
GetMem (Data, ImageSize * 3);
except
GrEvents.OnError("Ошибка выделения памяти для текстуры");
end;
GetDIBits (MemDC, Bitmap.Handle, 0, biHeight, Data,
BMInfo, DIB_RGB_COLORS);
For i := 0 to ImageSize - 1 do begin
Temp := Data [I * 3];
Data [I * 3] := Data [I * 3 + 2];
Data [I * 3 + 2] := Temp;
end;
if PlanLst.Count<>0 then
glTexImage2d(GL_TEXTURE_2D, 0, 3, biWidth,
biHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, Data);
Вопрос: КАК ЗАГРУЗИТЬ картинку, размеры которой не кратны степени 2?
Спасибо!
Сергей А (2003-11-12 06:13:00) [1]
Вроде-бы можно с помощью gluBuild2DMipMaps, но сам не пробовал...