| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > [DirectX] Изменить размер текстуры |
| Автор: FelikZ 16.2.2007, 20:47 |
| Как изменить размер текстуры? Я могу менять его при загрузке текстуры через "D3DXCreateTextureFromFileInMemoryEx", но в этом случае размер меняется только на: 16x16 32x32 64x64 128x128 и т.д, а мне нужно на пример 121x121? |
| Автор: Sartorius 16.2.2007, 21:07 |
| Но в D3D размер текстуры - это всегда степень двойки. Посмотри хотя бы здесь http://dan.mirgames.ru/Direct3D/ |
| Автор: FelikZ 16.2.2007, 21:26 |
| Не, пускай будет степень двойки! Я хочу ее отобразить в размерах не степени двойки... |
| Автор: FelikZ 16.2.2007, 22:53 |
| ЗЫ. Совсем забыл сказать, работаю со спрайтами |
| Автор: FelikZ 20.2.2007, 23:48 |
| Получилось |
| Автор: atavinta 31.1.2008, 14:59 |
| Не всегда. Загрузите проект atavin-ta.narod.ru/rubic.exe. Там основной размер текстуры 600*600, а тестовый вообще какой попало. Но степень двойки работает лучше. |
| Автор: FelikZ 3.2.2008, 17:35 |
| atavinta, археолог :?) с помощью settransform можна делать любые отображаемые размеры текстуры, но базовая все же должна быть кратна 2м. |
| Автор: atavinta 7.2.2008, 05:09 |
| Базовый тоже может быть любым, но степень двойки - рекомендуемый ряд. И почему археолог? Я это сам пытаюсь написать и проблема не в текстурах, а в управлении. 600*600 выбрана по причине миграции с GDI, использовавшемся для в первой версси для 2D отображения 8-ми ортогональных проекций, каждая из которых строго параллельна одной из граней. Для этой версии и сделаны основные текстуры, первичный тест проведен в этом разрешении и все работало. Потом я сделал ещё тектуры по проще и поменьше, только для тестов. Не помню точно, что оставил, толи толи 128*128, толи 132*132. Но тестил оба варианта и все работало. |