Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Размеры текстуры


Автор: CPlusPlusFAN 22.7.2007, 10:19
Здравствуйте! Все говорят об использовании текстур и ясно, что их размеры должны быть степенью двойки. Но вот непонятно, какой минимальный и максимальный размер может быть у этой самой текстуры. Я понимаю, что может быть от 1 до сколько хватит памяти, но какие размеры текстуры использовать целесообразно, например карта может быть настолько мала, что выгоднее её генерить без файла или настолько большой, что может описывать весь ландшафт, но её долго грузить.

Автор: FelikZ 22.7.2007, 11:12
CPlusPlusFAN, все зависит от разрешения экрана. Если твоя программа будет работать в режиме 640x480, то тебе нету смысла делать текстуры 512x512....

например Half-Life 2(не точно, тк уже не помню, но примерно) качество текстур, настраевые в опциях:
низкое кач - 128x128
среднее - 256x256
высокое - 512x512

Автор: CPlusPlusFAN 22.7.2007, 16:31
А имею в виду не с точки зрения разрешения экрана (его считать любым), а с точки зрения целесообразности использования...

Автор: FelikZ 23.7.2007, 10:05
Цитата(CPlusPlusFAN @  22.7.2007,  16:31 Найти цитируемый пост)
 а с точки зрения целесообразности использования...

512x512 (ну или там 512x128....)
самое оно, больше не нужно, меньше можно - если картинка нечеткая...

Добавлено через 4 минуты и 47 секунд
А вообще зависит от задачи... Если ты делаешь текстуры для игры(стены, земля и т.д.) то там нужно думать над каждой текстурой в отдельности. Например есть каменная дорога, зачем делать текстуру 512x512, если можно обойтись 128x128 и эффект будет тот же(на большей будет просто больше камней, а качество такое же как и у маленькой), маленькая "расклонируется" и будет выглядеть так же как и большая...

Автор: CPlusPlusFAN 23.7.2007, 11:09
Вроде 32х32 тоже используются. А от 1024 будут тормоза? Т.е. начиная от 1024 выгоднее загружать частями?

Автор: FelikZ 23.7.2007, 13:57
Цитата(CPlusPlusFAN @  23.7.2007,  11:09 Найти цитируемый пост)
Вроде 32х32 тоже используются.

Ну например, тебе нужна текстура деревяной ручки... зачем делать огромную текстуру на меленькую ручку? берем 32x32 и экономим как память так и время отрисовки   smile 

Цитата(CPlusPlusFAN @  23.7.2007,  11:09 Найти цитируемый пост)
 А от 1024 будут тормоза? Т.е. начиная от 1024 выгоднее загружать частями?

Скажем, нету надобности в таких размерах(во всяком случае невидел) smile


Автор: Dronchik 24.7.2007, 14:35
А если нужна большая текстура, то создай несколько буферов и загрузи одну и туже текстуру

Автор: Rickert 31.7.2007, 04:57
Цитата(FelikZ @  23.7.2007,  13:57 Найти цитируемый пост)
Скажем, нету надобности в таких размерах(во всяком случае невидел)

Про технологию megaTextures от Кармака слышали? 32000 х 32000 px

Автор: Solomon 31.7.2007, 17:05
Цитата(FelikZ @  23.7.2007,  12:57 Найти цитируемый пост)
Скажем, нету надобности в таких размерах(во всяком случае невидел)

В 2D игрушках частенко встречаются...

Цитата

Т.е. начиная от 1024 выгоднее загружать частями?

ну скорость загрузки от этого не изменится.. что ты допустим в оперативу  полметра+полметра зальеш, что 1 метр... просто иногда когда в игре есть скролин, то частями выгоднее делать из за то что можно не рисовать части кот не видно.. так как процес проресовки неплохо тормозит...

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