Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

КАК ЗАГРУЗИТЬ картинку, размеры которой не кратны степени 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, но сам не пробовал...


Наверх

Титульная страница Поиск, карта сайта Написать письмо