GI.Init

From SunFlurry wiki
Jump to: navigation, search
  Init (Общие функции объекта GI)
Объект:Объект GI
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Неверные аргументы, системная ошибка при инициализации, неподдерживаемая спецификация
Визуальность:Да

Функция позволяет создать и инициализировать новый объект GI для окна, экранного элемента или окна, задаваемого системным указателем (см. Form.Handle). Если первый аргумент пустой или опущен, объект инициализируется без окна, все действия с ним будут происходить без вывода информации на экран. В этом режиме можно, к примеру, нарисовать картинку средствами графической системы и сохранить ее в файл. Также для такого режима необходимо указать размеры скрытого окна объекта, поэтому, третий и четвертый аргументы используются для указания размеров, тогда как в обычном режиме они описывают свойства объекта.

Синтаксис

GI.Init(<Указатель на окно или объект окна (INT,FORM)>,<Тип спецификации (STRING)>=OGL,<Режим объекта или ширина объекта без окна (INT)>,<Режим буферизации или высота объекта без окна (INT)>):<Новый объект (GI)>

Аргументы

  • <Указатель на окно или объект окна (INT,FORM)> - (необязательный аргумент) Указывает на окно (или визуальный элемент окна) с помощью объекта или системного указателя. Если аргумент пустой или не задан, новый инициализируемый объект GI будет не визуальным (не будет виден на экране) и третий и четвертый аргументы должны задавать его размеры в точках, иначе третий и четвертый аргументы задают режим визуального объекта и его буферизации соотвественно.
  • <Тип спецификации (STRING)> - (необязательный аргумент) Аргумент задает тип графической спецификации. На данный момент доступна только спецификация OpenGL, которая будет использована по умолчанию, либо может быть задана с помощью значения аргумента "OGL" или "OpenGL".
  • <Режим объекта или ширина объекта без окна (INT)> - (необязательный аргумент) Для визуального объекта (см. описание первого аргумента выше) данный аргумент задает режим прорисовки. Доступны два значения режима: 0 -- (по умолчанию) режим обновления экрана системой и запросами на обновление, 1 -- режим выделенного цикла обновления. Для дополнительной информации по режимам, см. статью Объект GI. Для невизуальных объектов задает ширину в точках невидимого окна, для которого будет происходить рисование.
  • <Режим буферизации или высота объекта без окна (INT)> - (необязательный аргумент) Для визуального объекта (см. описание первого аргумента выше) данный аргумент задает режим буферизации. Доступны два значения режима: 0 -- объект не использует второй буфер (не рекомендуется, может привести к миганию), 1 -- (по умолчанию) объект использует второй буфер. Для дополнительной информации см. описание системной функции SwapBuffers. Для невизуальных объектов задает высоту в точках невидимого окна, для которого будет происходить рисование.

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

Функция возвращает новый объект GI.

Примеры

//Инициализация объекта ''GI''
aGI:=GI.Init(Form.Окно,,1);

//Автоматически захватывать мышь
aGI.MouseMode(1);

//Указание на функции обработчиков событий
aGI.LinkEvent("ONDRAW","OnDraw",1,СпКоорд);
aGI.LinkEvent("ONNEWINPUT","OnNewInput",1,СпУскор);

//Включить режим фильтрации MSAA
aGI.AntiAliasing(1);

//Включить режим ограничения кадров по развертке экрана
aGI.FrameLimiter(1);

//Включить 3D перспективу, FOV 90
aGI.WorldPerspective(0,90,0.1,1000);

...