Показать сообщение отдельно
Старый 03.03.2009, 02:20   #6
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Lib_m3g - Ну полный 3D

Библиотека в стадии написания. Пока есть такие функции (уже побольше):

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.
Вложения
Тип файла: zip Lib_d3.zip (2.8 Кб, 1592 просмотров)
Тип файла: zip M3G_demo.zip (66.7 Кб, 1686 просмотров)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
german1010 (07.07.2009), IDOL 1234 (07.12.2009)