В данном разделе вы можете получить расширенную справку по всем функциям Perfect Engine. Все материалы раздела удобно поделены на категории в соответствии со структурой движка.


ОПИСАНИЕ

PERFECT ENGINE.PAS
          класс TCamera
          класс TPerfectEngine

peRENDER_CANVAS.PAS
          класс TJPEGBitmap
peRENDER_OPENGL.PAS

peROUTINE.PAS

SaiLight@mail.ru   

vk.com/sailight

Загружает текстуру в память. Метод загрузки, хранения и поддерживаемые расширения файлов напрямую определяются используемым рендером. Возможно загружать, также, и анимированные спрайты.{/search}

public

Function fLoadTexture(vFileName: String; vIsAlpha: Boolean; vFrameSize: Integer = 0): Integer;

 


ПАРАМЕТРЫ

vFileName String имя файла загружаемой текстуры (локальное)
vIsAlpha Boolean имеет ли текстура прозрачность
vFrameSize Integer размер кадра при загрузке анимированного спрайта
Result Integer номер текстуры в массиве движка

ОПИСАНИЕ

Данная функция обеспечивает загрузку текстуры из файла в массив движка (хранилище текстур). Имя файла должно быть указано локально (папка с программой или любая вложенная папка), так как впоследствии объединяется для проверки правильности со свойством AppPath. Если текстура уже была загружена ранее, она больше не загружается. Также, текстура не загружается и при отсутствии поддержки рендером текстур данного расширения.*

 

В рендере peRender_Canvas параметр vIsAlpha отвечает за прозрачность текстуры. Если это значение равно True, то цветом прозрачности является цвет левого верхнего пикселя загружаемого изображения.** В peRender_OpenGL прозрачнные участки текстуры задаются альфа-каналом, и данный параметр не учитывается.

 

Параметр 'Размер кадра' обязателен при загрузке анимированного спрайта.*** Если это значение равно 0, текстура на кадры не разбивается, и использование для нее процедуры pDrawFrame(...) выведет ее на экран полностью. Для анмированного спрайта, также, есть возможность получения размера и общего количества кадров, используя свойство-массив Texture[i] класса TPerfectEngine.

 

В результате своего выполнения функция возвращает '-1', если текстура не была загружена или номер загруженного изображения в массиве. Важно помнить, что номер текстуры в массиве не является ее идентификатором в OpenGL или любой другой библиотеке. Данное значение указывает лишь на элемент массива текстур в хранилище TPerfectEngine, ссылающийся, в свою очередь, на соответствующий элемент массива внутри используемого рендера.

 


ПРИМЕЧАНИЯ

* Список поддерживаемых движком расширений напрямую зависит от используемого рендера. На данный момент можно отметить следующую зависимость:

- peRender_Canvas: .bmp; .jpg

- peRender_OpenGL: .bmp; .jpg; .tga; .png

 

 ** В анимированных спрайтах при включенном параметре vIsAlpha цветом прозрачности каждого кадра считается цвет левого верхнего пикселя всего изображения.

 

*** В данный момент (Perfect Engine v 2.0) движок поддерживает только квадратные кадры в анимированных спрайтах. При этом, кадры в загружаемом спрайте могут располагаться как в строку, так и в виде таблицы. Нумерация кадров ведется построчно, слева направо.

Perfect Light Design Project, 2015