Библиотека в стадии написания. Пока есть такие функции (уже побольше):
SetMulti(i: integer) - Установить условный множитель для библиотеки.
Дело в том, что MP не умеет передавать в библиотеку вещественные числа, поэтому их приходится передавать
как целые, но умноженные на определенный множитель. К примеру, 0.23 передаётся как 230.
По умолчанию множитель равен 1000.
Функции, использующие множитель: SetPerspective, Camera, Camera_Orient, Light.
SetWindow(x: integer; y: integer; w: integer; h: integer) - Установить окно, в котором будет выводиться
наша трёхмерная графика
SetPerspective(p1: integer; p2: integer; p3: integer) - Установить параметры перспективы 3D графики
По умолчанию, параметры приняты такие: 70, 0.1, 50
Лучше без надобности их не менять, но кому надо - пожалуйста
Animate(ms: integer) - Анимация трёхмерной M3G модели.
ms - время в миллисекундах (можно брать функцией GetRelativeTimeMs)
Camera(x: integer; y: integer; z: integer) - Начальная установка (инициализация) камеры для просмотра 3D сцены
x, y, z - координаты камеры
Camera_Orient(a: integer; b: integer; c: integer; d: integer) - Ориентация камеры
a, b, c, d - какие-то параметры. Сам пока не разобрался что они делают.
Light(x: integer; y: integer; z: integer) - Установить свет
x, y, z - координаты источника света
Paint - Нарисовать сцену (ничего не увидите пока не сделаете Repaint)
Repaint - Перерисовка сцены
Background(fname: string) - Загрузка фона для нашего мира. Имеется ввиду небо.
fname - имя файла из ресурсов с текстурой неба
Floor(fname: string; i: integer) - Загрузка текстуры для земли.
fname - имя файла из ресурсов с текстурой земли
i - параметр масштабирования текстуры.
ВНИМАНИЕ! Чтоб всё работало, надо ещё добавлять в проект файл Floor.class
Хотелось бы ещё загружать в мир свои M3G модели и как-то перемещать их.
Но пока что это не получается сделать. Может у кого-то больше опыта в данной области? Может, поможете?
Введение 3D графики -- это просто открывает новую эру в программировании на MP.