result.Width:=Right-Left;
result:=TGLE_Image.Create;
if ((Right<=Width) and (Left>=0)) and ((Top<=Height) and (Bottom>=0))then begin
function TGLE_Image.CopyRect(Top, Bottom, Right, Left: Integer): TGLE_Image;
Но если выташить кусок произвольного размера то там КАКА...
Если CopyRect'у указать всю базовую картинку все хорошо она полностью переносится в новую и отображется верно.
Проблема возникла в CopyRect - простое копирование куска массива в новую картинку с новым размером.
procedure SaveToStream(Stream:TMemoryStream);
function GLELoadTGAFromFIle(filename: String):Boolean;
function GLELoadJPGFromFile(filename: String):Boolean;
function GLELoadBMPFromFile(filename: String):Boolean;
PixelData:array of Cardinal;
PixelData = {434324, 432432423, 54533, 5453453....} размером Width * Height
Сейчас для описания цвета текстуры используется одномерный динамический массив PixelData:array of Cardinal; в котором каждый элемент равен цвету пикселя.
Возникла необходимсоть грузить изображения (карты) большого физического размера > 50мб. Отсюда динамическое разбиение на куски размера = максимально возможному.
Пользовательwww12 апр. 200922:56
Помогите разобраться с текстурированием [OGL + Delphi]
/ / / Помогите разобраться с текстурированием [OGL + Delphi]
Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
Помогите разобраться с текстурированием [OGL + Delphi] / Форум / Программирование игр / GameDev.ru Разработка игр
Комментариев нет:
Отправить комментарий