Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Direct3D [Delphi, C++ Builder, Windows]


VolanD ©   (2004-10-21 15:11:00) 

Здрасти, вот в процессе программирования возникло два вопроса:

1)Как выводить объекты с разными текстурами? Создавать для каждого свой vertex buffer?

2)Как создать свой источник света (лампочку) ?


NailMan   (2004-10-21 16:23:00) [1]

Все надо смотреть в документации к SDK.

2) структура D3DLIGHT9, IDirect3DDevice9.SetLight, IDirect3DDevice9.LightEnable, D3DCAPS9 - DWORD MaxActiveLights

1) Зачем несколько буферов? Если грузишь .X, то все очень просто: в цикле устанавливаешь материалы и соответственно текстуры используемые в материалах меша и делаешь Drawsubset в каждой итерации. Как пользоваться мешами смотри в том же SDK. Примеров там масса, так как почти все примеру пользуют .X

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

А вообще если ты не разбираешься в ресурсах DirectX(не знаешь как сделать аналоги ID3DXMesh), то пользуй его самого, т.е.  ID3DXMesh и не мучайся.

---
WBR, NailMan aka 2:5020/3337.13


Наверх

Титульная страница Поиск, карта сайта Написать письмо