![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
Гость_001 |
|
|||
Unregistered |
Нужно вывести несколько объектов, за каждый объект отвечает свой класс. непонятно. как это реализуется. Наверное, в каждом классе должен быть определен буфер вершин для каждого объекта. А как быть с интерфейсом
Их тоже надо определять для каждого объекта внутри класса или они общие и глобальные для всех объектов? А как быть с инициализацией гшрафики, функция будет общей или в каждом классе - своя? Если можно, желательно привести пример реализации хотя бы одного класса (хотя бы смхематично). А то я и понятия не имею с чего начинать. |
|||
|
||||
empter |
|
|||
![]() Фанат ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 20.5.2005 Репутация: 3 Всего: 4 |
Интерфейсы определяешь глобально, один интерфейс для всех обьектов. Либо передаешь по ссылке, либо указываешь со спецификатором extern. У каждого класса свой VertexBuffer и IndexBuffer, соответственно функции рендеринга у каждого класса свои. Инициальзацию Direct3D проводишь один раз, общей функцией.
|
|||
|
||||
Гость_001 |
|
|||
Unregistered |
Спасибо, сейчас попробую.
|
|||
|
||||
Гость_001 |
|
|||
Unregistered |
Еще вопросик. Есть функции для вращения объекта вдоль трех осей. А есть ли функции для перемещения объекта вдоль каждой оси или соответствующие матричные преобразования надо делать ручками?
|
|||
|
||||
Guest |
|
|||
Unregistered |
Все, этот вопрос решен.
Ноя так и не понял. LPDIRECT3D9 pDirect3D - общий для всех объектов LPDIRECT3DDEVICE9 pDirect3DDevice - тоже общий или для каждого объекта свой??????!!!!!!!!!!! Я пробовал делать общим - ничего не получается. И наоборот тоже ничего не получается. И вообще ничего не получается. Как же отображать по нескольку объектов одновременно!!!!!!!!!!1 |
|||
|
||||
Leopard25 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 17.4.2004 Репутация: нет Всего: нет |
А что не получается ?
LPDIRECT3DDEVICE9 pDirect3DDevice - общий при создании класса или при инициализации передаёшь его в класс.... и всё работает.... Добавлено @ 22:13 У каждого объекта должен быть метод Draw() (или что-то подобное) и там где рисуешь всю сцену вызываешь этот метод для всех объектов.... --------------------
Обдумай, верно ли и возможно ли то, что ты обещаешь, ибо обещание - есть долг. ( Конфуций ) |
|||
|
||||
v_enom |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 11.10.2006 Репутация: нет Всего: нет |
Мне остался не понятен вопрос:
хочу нарисовать несколько 2д квадртов. мой квадрат - это класс, объект которого имеет данные о вершинах и индексах (все что надо чтобы записать в буфер вершин инфу). как нарисовать один квадрат через буфер вершин я знаю, это реализую.... а как мне нарисовать несколько отдельных квадратов-объектов? чтобы потом я мог потом вывести на экран 10 квадратов, щелкнуть по 1 из них и он удалился ???????? ну типо простая игра "убей квадратик мышкой". буфер вершин надо для каждого квадрата свой или один общий? |
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |