четверг, 7 февраля 2013 г.

динамический массив в tmemorystream

  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 Разработка игр

Комментариев нет:

Отправить комментарий