| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Несколько объектов DirectX |
| Автор: Гость_001 16.6.2005, 12:23 | ||
Нужно вывести несколько объектов, за каждый объект отвечает свой класс. непонятно. как это реализуется. Наверное, в каждом классе должен быть определен буфер вершин для каждого объекта. А как быть с интерфейсом
Их тоже надо определять для каждого объекта внутри класса или они общие и глобальные для всех объектов? А как быть с инициализацией гшрафики, функция будет общей или в каждом классе - своя? Если можно, желательно привести пример реализации хотя бы одного класса (хотя бы смхематично). А то я и понятия не имею с чего начинать. |
| Автор: empter 16.6.2005, 19:08 |
| Интерфейсы определяешь глобально, один интерфейс для всех обьектов. Либо передаешь по ссылке, либо указываешь со спецификатором extern. У каждого класса свой VertexBuffer и IndexBuffer, соответственно функции рендеринга у каждого класса свои. Инициальзацию Direct3D проводишь один раз, общей функцией. |
| Автор: Гость_001 16.6.2005, 20:06 |
| Спасибо, сейчас попробую. |
| Автор: Гость_001 16.6.2005, 20:49 |
| Еще вопросик. Есть функции для вращения объекта вдоль трех осей. А есть ли функции для перемещения объекта вдоль каждой оси или соответствующие матричные преобразования надо делать ручками? |
| Автор: Guest 16.6.2005, 21:49 |
| Все, этот вопрос решен. Ноя так и не понял. LPDIRECT3D9 pDirect3D - общий для всех объектов LPDIRECT3DDEVICE9 pDirect3DDevice - тоже общий или для каждого объекта свой??????!!!!!!!!!!! Я пробовал делать общим - ничего не получается. И наоборот тоже ничего не получается. И вообще ничего не получается. Как же отображать по нескольку объектов одновременно!!!!!!!!!!1 |
| Автор: Leopard25 17.6.2005, 22:08 |
| А что не получается ? LPDIRECT3DDEVICE9 pDirect3DDevice - общий при создании класса или при инициализации передаёшь его в класс.... и всё работает.... Добавлено @ 22:13 У каждого объекта должен быть метод Draw() (или что-то подобное) и там где рисуешь всю сцену вызываешь этот метод для всех объектов.... |
| Автор: v_enom 19.4.2009, 18:31 |
| Мне остался не понятен вопрос: хочу нарисовать несколько 2д квадртов. мой квадрат - это класс, объект которого имеет данные о вершинах и индексах (все что надо чтобы записать в буфер вершин инфу). как нарисовать один квадрат через буфер вершин я знаю, это реализую.... а как мне нарисовать несколько отдельных квадратов-объектов? чтобы потом я мог потом вывести на экран 10 квадратов, щелкнуть по 1 из них и он удалился ???????? ну типо простая игра "убей квадратик мышкой". буфер вершин надо для каждого квадрата свой или один общий? |