![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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