Войти
Уголок tool-программФорум

1) Определим компоненты (2 стр)

Страницы: 1 2
#15
10:08, 4 окт 2007

bw
>если бы ты сделал статическую библиотеку и предоставил возможность извне определять "контекст отрисовки"
Так ведь оно так и сделано. Еще раз говорю - порт, это только ПРИМЕР использования DLL, сама DLL всего лишь выполняет обработку изображений, получая указатель на них. Единственное требование к платформе - процессор с поддержкой MMX.
Если бы у меня не было разделения на платформозависимую и независимую части, я бы сделал ActiveX DLL, куда включил ВСЁ, и портирование бы не требовалось.
Возможно ReadMe несколько сбило с толку, оно относится не столько к DLL, сколько к порту.
Я совершенно незнаком с программированием под линукс и пр. не виндоус платформы. Может ли такая динамическая библиотека оказаться там нерабочей?

#16
14:21, 4 окт 2007

Arxon
> поэтому никаких портов
Ну в общем смысле. Функции управления памятью, потоками и т.д. Под каждой платформой они реализуются по своему и поэтому не  могут быть "зашиты" в компоненты. Потребуется что-то вроде libc, который отдельно для каждой платформы будет реализовываться.
Mikle, DLL можно использовать только под виндой, либо в эмуляторах, либо в средах по типу Wine. Я говорил как упростить работу программистам, предоставляй свою библиотеку в виде .o (объектов, для линковки). Каким ты ассемблером пользуешься? Я думаю знаешь как это сделать.

..bw

#17
16:55, 4 окт 2007

bw
DLL скомпилирована в Power Basic, но написана полностью на асме, пробовал компилить в Delphi, но получается слишком большой файл, пробовал в СИ, но там ногу сломишь с этими "pragma", могу дать исходник.

#18
17:31, 4 окт 2007

bw,
>Функции управления памятью, потоками и т.д. Под каждой платформой они реализуются по своему и поэтому не могут быть "зашиты" в компоненты.
Согласен. Но стремление к максимальной минимизации кода порта здоровое стремление. Тем более что в компонентах которые я бы хотел порт вообще не требуется.
В томже компоненте скелетной анимации не будет работы с файлами например, и своего експортера из макса. Тоесть это не будет полностью готовая скелетная анимация, но будет набор деталей с помощю которой будет легко дописать экспортет из макса маи или еше чего, + надо будет дописать реализацию в движке, чтоб файлы читала итд.... Это своеобразная плата за то чтобы компонент был ЧИСТЫМ, мог заюзатся каждым. А если пойти путем создание собственной системы загрузки файлов системы потоков, и их портов, итд.... то дело придет в итоге к написанию нового движка. А этого совсем не хочется !

#19
19:09, 4 окт 2007

Но тот же компонент может проявить инициативу, например, выделить (запросить) память. Какой будет интерфейс этого метода? Linux, Windows и или свой? Подозреваю что свой. Значит потребуется портирование (я может не правильно использую этот термин, но надеюсь ты меня понимаешь) системной функции выделения памяти (буквально обертка её в интерфейс пригодныя для использования нашим компонентом). Затем будет компонент загрузки ресурса (опять без привязки к платформне), ему потребуется некий потоковый объект (файловый, возможно именованый). И опять этот потоковый объект будет реализовываться для каждой платформы отдельно.
Т.е. хочешь ты или не хочешь реализовывать платформозависимую функциональность, но интерфейсы (выделение памяти, работа с файлом), которые ведут к этой реализации, делать всеравно придется. Мы поняли друг друга :-) ?

Mikle, вышли на , покумекаю на досуге.

..bw

#20
19:21, 4 окт 2007

bw
>Т.е. хочешь ты или не хочешь реализовывать платформозависимую функциональность, но интерфейсы (выделение памяти, работа с файлом), которые ведут к этой >реализации, делать всеравно придется. Мы поняли друг друга :-) ?
Поняли :) Вопрос только в выборе функционала компонента и в определении его интерфейсов.

#21
13:34, 5 окт 2007

bw
Отправил.
Arxon
Под п.20 и я подпишусь.

#22
12:07, 30 ноя 2007

Mikle, я отписал в http://www.gamedev.ru/projects/forum/?id=68589&page=2.

..bw

Страницы: 1 2
Уголок tool-программФорум

Тема в архиве.