Так, пора что-то написать.
Только без рисунков пока!
Хочу начать с мешей и иже с ними.
У нас 2 вида ресурсов-мешей: ландшафт и модельки.
1. Сериализация, загрузка данных с ресурсов. Будет набор классов, в которых содержатся сырые данные, структурированные. Например, в mpr есть свои материалы. Но суть одна: это некий поток данных, которые нужно причесать. Например, в mpr нет вершин. А в fig есть, но их нужно извлекать с учётом некоторых параметров.
2. Создание мешей из сериализованных данных. Меш - хранилище вершин, нормалей, ..., анимаций в удобном виде (редактирование?).
3. Конкретные экземпляры, использующие один меш (по мере возможности...).
4. Визуализация. Хотелось бы хранить вершины где-то поблизости с памятью видеокарты. В OGL это могут быть буферы вершин или списки. Для этого будет создан класс, скрывающий конкретную реализацию хранения вершин. Он то и будет отсылаться на рендеринг.
Это общая структура, без деталей. Хз, хоть какое-то начало))
Добавил: v1s0r [mergetime]1267724716[/mergetime]
А вообще, если хорошо подумать, запихнуть уровень и модели под один интерфейс не получится (и надо ли?). В меше модели должны храниться "запакованные" вершины, чтобы делать из них экземпляры с разными характеристиками (рост, вес, ...).
Надо чтобы кто-нибудь настучал по башке, пока не натворил дел...
Только без рисунков пока!
Хочу начать с мешей и иже с ними.
У нас 2 вида ресурсов-мешей: ландшафт и модельки.
1. Сериализация, загрузка данных с ресурсов. Будет набор классов, в которых содержатся сырые данные, структурированные. Например, в mpr есть свои материалы. Но суть одна: это некий поток данных, которые нужно причесать. Например, в mpr нет вершин. А в fig есть, но их нужно извлекать с учётом некоторых параметров.
2. Создание мешей из сериализованных данных. Меш - хранилище вершин, нормалей, ..., анимаций в удобном виде (редактирование?).
3. Конкретные экземпляры, использующие один меш (по мере возможности...).
4. Визуализация. Хотелось бы хранить вершины где-то поблизости с памятью видеокарты. В OGL это могут быть буферы вершин или списки. Для этого будет создан класс, скрывающий конкретную реализацию хранения вершин. Он то и будет отсылаться на рендеринг.
Это общая структура, без деталей. Хз, хоть какое-то начало))
Добавил: v1s0r [mergetime]1267724716[/mergetime]
А вообще, если хорошо подумать, запихнуть уровень и модели под один интерфейс не получится (и надо ли?). В меше модели должны храниться "запакованные" вершины, чтобы делать из них экземпляры с разными характеристиками (рост, вес, ...).
Надо чтобы кто-нибудь настучал по башке, пока не натворил дел...
Windows - аналог плохо понятых механизмов Unix
Use Linux - open your mind
Use Linux - open your mind