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

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

Текстуры в Direct3D [C++ Builder, Windows]


VolanD666 ©   (2005-03-16 16:15:00) 

Привет ,пиплы. Вот на одном сайте прочитал, что текстурыдля Direct3D должны быть не только 2^, но и еще и квадратные, хотя я без проблем вставлял 512х256. Это правда?


Sphinx   (2005-03-17 20:41:00) [1]

> VolanD666   (17.03.05 20:21) [9]

По идее должна...хотя какой формат использует при загрузке D3DX для меня неизвестно...ну не пользуюсь я ей для этих целей...а вообще DX не поддерживает 8-ми битный формат, значит идет преобразование ВМР 8-мь бит или в 16 (R5G6B5, A1R5G5B5) или, что вероятней в A8R8G8B8.


VolanD666   (2005-03-17 20:21:00) [2]


> А если создавать текстуру в ручную, то несоблюдение размеров
> вызывает ошибку...хотя сильно и не эксперементировал...

Ага, я пробовал уже. Не берет и все тут.
А вот у меня в процессе программирования возник вот такой вопрос:

Есть ли разница создавать текстуру из 8-битной или 24-битной BMP
(я имею в виду размер, занимаемый IDirect3DTexture8 в памяти)?


Sphinx   (2005-03-17 12:22:00) [3]

> cyborg ©   (17.03.05 10:45) [7]
Если грузить при помощи D3Dx то можно, вреде бы "лишние" пиксели помечаются как прозрачные, но не пробовал.
А если создавать текстуру в ручную, то несоблюдение размеров вызывает ошибку...хотя сильно и не эксперементировал...
Про OGL не знаю...


cyborg   (2005-03-17 10:45:00) [4]

Слышал(или читал), что при загрузке в видеопамять текстура всё ранво оптимизируется под размеры кратные двойки.

К примеру загружаешь текстуру 100х90 в видео она растянется на 128х128. Так лучше сразу уж сделать 128х128 и не париться.


Гостъ   (2005-03-16 18:33:00) [5]

Ежели стороны кратны 2 то грузится шустрее, вот.


A22   (2005-03-16 17:52:00) [6]

степень двойки, не степень двойки - это проблемы железа...


Zak3D[@Tm]   (2005-03-16 17:44:00) [7]

VolanD666
Как сказал DeadMeat это действительно враньё.
Могу сказать следёющее, по карйней мере в OpenGL использование текстур со сторонами кратными двойки предпочтительней(это отражается на fps), но использовать текстуры со сторонами не кратными двойке тоже можно, нужно только немного подкорректировать координаты текстуры, а точнее перевернуть её "вверх ногами".


NailMan   (2005-03-16 17:04:00) [8]

Нет, не обязательно(хотя квадратные вроде как предпочтительней) - главное чтобы стороны были степенями двойки.

---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13


DeadMeat   (2005-03-16 16:58:00) [9]


Это в OpenGL жесткиеограничения.



Враньё всё это.


SergeyR   (2005-03-16 16:43:00) [10]

Враньё всё это. У меня DirectX хавает и 300х300.
Это в OpenGL жесткие ограничения.


Наверх

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