GI.TextureAddBlank

From SunFlurry wiki
Revision as of 08:53, 22 January 2025 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  TextureAddBlank (Общие функции текстур)
Объект:Атрибуты и функции текстур
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Неверные аргументы, системная ошибка.
Визуальность:Нет

Функция создает пустую с указанным именем, размерами и параметрами и возвращает ее уникальный номер.

Синтаксис

GI.TextureAddBlank(<Тип текстуры (INT)>,<Свойства текстуры (INT)>=0,<Ширина текстуры (INT)>,<Высота текстуры (INT)>,<Имя текстуры (STRING)>=""):<Уникальный номер текстуры (INT)>

Аргументы

  • <Тип текстуры (INT)> - Аргумент задает тип загружаемой текстуры. Возможны следующие значения типа:
    • 0: 2D текстура.
    • 1: 3D текстура.
    • 2: 1D текстура.
    • 3: 2D мультиэталонная текстура.
    • 4: Текстура куба.
  • <Свойства текстуры (INT)> - (необязательный аргумент) Аргумент задает дополнительные свойства загружаемой текстуры и представляет собой битовую маску. На данный момент используются следующие биты:
    • бит 0: Использовать множественное уменьшение для этой текстуры (mipmaps).
    • бит 1: Эта текстура будет сжата (compressed).
  • <Ширина картинки (INT)>,<Высота картинки (INT)> - Аргументы задают ширину и высоту создаваемой текстуры.
  • <Имя текстуры (STRING)> - (необязательный аргумент) Аргумент задает текстовое имя текстуры. В дальшейнем по этому имени текстуры можно искать или удалять. Если аргумент не задан, текстуре будет присвоено пустое имя.

Возвращаемое значение

Возвращается числовое значение -- системный уникальный номер текстуры для использования в других функциях.

Примеры

//Создать невидимое окно 200x200
aGI:=GI.Init(,,200,200);
//Создать пустую текстуру 200x200
аТекст:=aGI.TextureAddBlank(0,0,200,200);
//Используем новую текстуру для последующего вывода (вместо самого окна)
aGI.TextureUse(аТекст);
//Белый фон
aGI.glClearColor(1.0,1.0,1.0,1.0);
aGI.glClear(aGI.GL_COLOR_BUFFER_BIT or aGI.GL_DEPTH_BUFFER_BIT);
//Текстовая перспектива
aGI.TextWorldPerspective(1);
//Выводим текст "Проверка" на текстуру, начиная с точки 10,10 в верхнем левом углу текстуры с зеленой "тенью"
aGI.RenderText("Проверка","Arial,15,B,0000FF,,1",List.Create(1,аТекст,200,200),10,10,0.5,"1,1,00FF00,2");
//Сохраним тектуру в виде файла
aGI.TextureSavePicture(аТекст,2,"c:\testtexture.png","PNG");