Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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
Получилось smile Ответ оказался простым Sprite->SetTransform

Автор: 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. Но тестил оба варианта и все работало.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)