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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод одинаковых объектов, [Direct3D] 
:(
    Опции темы
Teplovoz
Дата 21.7.2006, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Задача такова: надо вывести красные шарики в порядке, указанном на приложенном рисунке. (т.е. решётка)

Я делаю так: создаю меш сферы и потом в цикле вывожу его. 

Код

VOID Render(){
  D3DXMATRIX matrix;

  pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(0,0,255), 1.0f, 0);
  pd3dDevice->BeginScene();
    for(int i=-40;i<=40;++i)for(int j=-40;j<=40;++j){
      D3DXMatrixTranslation(&matrix,i*10.0f,j*10.0f,0.0);
      pd3dDevice->SetTransform(D3DTS_WORLD, &matrix);
      pMesh->DrawSubset(0);}
  pd3dDevice->EndScene();
  pd3dDevice->Present(NULL, NULL, NULL, NULL);
}

 


Хочу узнать альтернативные варианты решения поставленной задачи, т.к. меня не удовлетворяет скорость работы приложения. 
Может здесь использовать функцию клонирования меша (если да, то как), или создать один меш, в котором все будут все шарики (тогда нужен будет только один вызов ф-ии DrawSubset())... 

p.s. Если я хочу вывести меш в конкр. точке, то обязательно вызывать в BeginScene/EndScene функции D3DXMatrixTranslation(...) и pd3dDevice->SetTransform(D3DTS_WORLD,...) ??? 

Заранее спасибо.... 
Желательны примеры
 smile  

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  untitled.jpg 13,04 Kb
PM MAIL   Вверх
empter
Дата 21.7.2006, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фанат
*


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

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



Наиболее быстрым, но и наиболее сложным методом будет техника Instancing
так за один DIP можно вывести до 512 обьектов пример есть в SDK начиная помоему
с April 2005  
PM MAIL MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

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

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


 




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


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

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