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

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

Текстуры в DelphiX [Delphi, Windows]


Lin1 ©   (2002-10-29 02:43:00) 

Народ. Допустим я объявил текстуру

FTexture: array[0..0] of TDirect3DTexture;

И хочу из файла

"Ashen.jpg" (512*256)

загрузить эту текстуру.

При попытке
MeshFrame.SetTexture(FTexture[0])
ошибка.
Нужен IDirect3DRMTexture<.CODE>

Как мне наложить текстуру на объект запускаемый из х-файла?
Если никак, то хоть как мне создать этот объект текстурированым?
Как мне создать IDirect3DRMTexture<.CODE> из этого файла.


3d[Power]   (2002-10-29 19:09:00) [1]

Не знаю как для д3дрм, но для d3d8 нуна юзать D3DFVF_TEX1, и для каждого вертекса указывать его координаты на самой текстуре.


Sapersky_   (2002-10-29 16:48:00) [2]

Во-первых. "FTexture: array[0..0] of TDirect3DTexture;" - это массив (array) текстур, неопределённой длины (нужно выделять память в процессе исполнения). Надеюсь, ты в курсе? :)
Во-вторых. Что за TDirect3DTexture? Зачём оно? См. пример wrap (в комплекте DelphiX) - там используется именно IDirect3DRMTexture, и все счастливы.
В-третьих. Если в x-файле указана текстура и текстурные координаты, и эта текстура лежит в той же директории в виде .bmp или .ppm, то она при загрузке .x (IDirect3DRMMeshBuilder.Load) загрузится и будет рисоваться автоматически (за что я в своё время так любил D3DRM :)). Если .jpeg - нужно вручную грузить через JpegImage или ещё как-то, вручную создавать IDirect3DRMTexture... в общем, муть. Или вот ещё такой извращенский метод - загрузить как jpeg, сохранить как bmp, загрузить через D3DRM. Зато работает :).


Наверх

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