Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Несколько объектов DirectX 
:(
    Опции темы
Гость_001
Дата 16.6.2005, 12:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Нужно вывести несколько объектов, за каждый объект отвечает свой класс. непонятно. как это реализуется. Наверное, в каждом классе должен быть определен буфер вершин для каждого объекта. А как быть с интерфейсом
Код

LPDIRECT3D9                 pDirect3D          = NULL;      // Главный Direct3D обьект
LPDIRECT3DDEVICE9           pDirect3DDevice    = NULL;      // Устройство

Их тоже надо определять для каждого объекта внутри класса или они общие и глобальные для всех объектов? А как быть с инициализацией гшрафики, функция будет общей или в каждом классе - своя?

Если можно, желательно привести пример реализации хотя бы одного класса (хотя бы смхематично). А то я и понятия не имею с чего начинать.
  Вверх
empter
Дата 16.6.2005, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фанат
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 20.5.2005

Репутация: 3
Всего: 4



Интерфейсы определяешь глобально, один интерфейс для всех обьектов. Либо передаешь по ссылке, либо указываешь со спецификатором extern. У каждого класса свой VertexBuffer и IndexBuffer, соответственно функции рендеринга у каждого класса свои. Инициальзацию Direct3D проводишь один раз, общей функцией.
PM MAIL MSN   Вверх
Гость_001
Дата 16.6.2005, 20:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо, сейчас попробую.
  Вверх
Гость_001
Дата 16.6.2005, 20:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Еще вопросик. Есть функции для вращения объекта вдоль трех осей. А есть ли функции для перемещения объекта вдоль каждой оси или соответствующие матричные преобразования надо делать ручками?
  Вверх
Guest
Дата 16.6.2005, 21:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Все, этот вопрос решен.

Ноя так и не понял.

LPDIRECT3D9 pDirect3D - общий для всех объектов
LPDIRECT3DDEVICE9 pDirect3DDevice - тоже общий или для каждого объекта свой??????!!!!!!!!!!!

Я пробовал делать общим - ничего не получается. И наоборот тоже ничего не получается. И вообще ничего не получается.


Как же отображать по нескольку объектов одновременно!!!!!!!!!!1
  Вверх
Leopard25
Дата 17.6.2005, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 17.4.2004

Репутация: нет
Всего: нет



А что не получается ?

LPDIRECT3DDEVICE9 pDirect3DDevice - общий

при создании класса или при инициализации передаёшь его в класс....
и всё работает....
Добавлено @ 22:13
У каждого объекта должен быть метод Draw() (или что-то подобное)
и там где рисуешь всю сцену вызываешь этот метод для всех объектов....
--------------------
Обдумай, верно ли и возможно ли то, что ты обещаешь, ибо обещание - есть долг. ( Конфуций )
PM MAIL ICQ   Вверх
v_enom
Дата 19.4.2009, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 11.10.2006

Репутация: нет
Всего: нет



Мне остался не понятен вопрос:
хочу нарисовать несколько 2д квадртов.

мой квадрат - это класс, объект которого имеет данные о вершинах и индексах (все что надо чтобы записать в буфер вершин инфу).

как нарисовать один квадрат через буфер вершин я знаю, это реализую....

 а как мне нарисовать несколько отдельных квадратов-объектов? чтобы потом я мог потом вывести на экран 10 квадратов, щелкнуть по 1 из них и он удалился ????????
ну типо простая игра "убей квадратик мышкой".


буфер вершин надо для каждого квадрата свой или один общий?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0757 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.