Войти
ПрограммированиеФорумГрафика

Виртуальные текстуры (комментарии) (5 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#60
23:57, 13 дек. 2012

The Andreyp
> не тратить время на декодинг
именно. то есть ты получаешь профит по скорости чтения данных за счет меньшего объема и не теряешь скорости на распаковке, как было бы с каким нибудь jpg или png.

The Andreyp
> а можно наверное через гл генерить
ага. и убить скорость загрузки текстур.
мипы тоже надо грзить заранее созданные. и даже больше - грузить надо поэтапно начиная с самых мелких мипов.
Тогда даже еще не загруженная текстура будет выглядеть не белым куском(а вернее черным и прозрачным), а будет выглядеть низкодетализированной. что гораздо более приемлемо. при этом мипы низкого разрешения очень маленькие по размеру и грузятся мгновенно, так что при быстром движении выглядеть будет ок и без тормозов.


#61
0:19, 14 дек. 2012

@!!ex
> то есть ты получаешь профит по скорости чтения данных за счет меньшего объема и
> не теряешь скорости на распаковке, как было бы с каким нибудь jpg или png.
ИМХО, выигрыш в размере файла перекроет практически любые затраты на распаковку, ибо скорость диска на порядки меньше скорости проца.

> Тогда даже еще не загруженная текстура будет выглядеть не белым куском(а вернее
> черным и прозрачным), а будет выглядеть низкодетализированной. что гораздо
> более приемлемо. при этом мипы низкого разрешения очень маленькие по размеру и
> грузятся мгновенно, так что при быстром движении выглядеть будет ок и без
> тормозов.
И для этого хорошо использовать какой-нибудь Progressive JPEG.

#62
12:34, 14 дек. 2012

}:+()___ [Smile]
Думаю в битве DXTC против JPEG суммарная скорость чтения + распаковки будет в пользу DXTC.
Хотя я для jpg,png использовал всякие DevIL'ы, может поэтому у меня скорость распаковки была низкая.

#63
16:14, 14 дек. 2012

чета я смутно представляю как я буду грузить через glCompressedImage

если у меня заливка byteArray всего кеша происходит 1 раз через subImage

то есть

byte *pagecache
for()
{
loadFromDisk(page)
pagecache+=page;
}

subimage(pagecache)

то есть так же получаю байт массив картинки dxtc оригинаьного изображения без мипов (0 мип) - дименшены походу будут такие же как если бы это был тга
так же заполняю pagecache +=0mip

и потом вконце делаю

glCompressedImage(pagecache) вместо subimage(pagecache)

??


ps
попробовал jpg через intel lpegLib
размер меньше но кодировка - так же по времени как и больший по размеру tga

надо все же копать в dds

#64
16:44, 15 дек. 2012

}:+()___ [Smile]
Правильно, так как DXTC нужно паковать к примеру lzo, который распаковывается со скоростью чтения ssd. Так получится огромный буст по сравнению с ненужными png, jpg

#65
13:21, 17 дек. 2012

проблема тут

у меня грузятся тайлы с бордером 66*66 - все ок .. фильтруецца биллинейно как полагается

в DDS не конвертица - юзаю nvDXT - не конвертит NON POT текстура

#66
13:27, 17 дек. 2012

The Andreyp
> в DDS не конвертица - юзаю nvDXT - не конвертит NON POT текстура
пользуюсь Paint.NET. Вполне спокойно сохраняет NONPOT текстуры как dds.

#67
13:28, 17 дек. 2012

он может все 100500 текстур переконвертить пачкой?

#68
13:46, 17 дек. 2012

The Andreyp
> он может все 100500 текстур переконвертить пачкой?
не в курсе. врядли.

#69
14:17, 17 дек. 2012

ну это жесть
у меня 100500 тга
я дожен буду руккми чтоли каждый конверить

если консольная то можно сделать ExecProcess() какйонить
ну судя по всему неконсрльная
)

#70
14:23, 17 дек. 2012

The Andreyp
squish возьми

#71
16:37, 17 дек. 2012

а чо такое raw DDS
без сжатия чтоли? никакого DXT ?
а толку - а читать потом его так же быстро чтоли?

и еще я не пойму - если у меня картинка в DXT1 (строилась с tga 66*66) - и мне не нужны миппамы
после загрузки этой ддс - он по идее пожат.... в памяти занимает меньше
я беру 0 слой - это будет оригинал
шир высота будет 66... получается и пикселов столько же... за счет чего тогда уменьшение... если передается уже типа пожатым в glComprImage ?


в сквише есть пример png->dds
и там тоже требования: << "image (dimensions must be multiples of 4)";
66 не делится на 4

#72
17:00, 17 дек. 2012

The Andreyp
> и там тоже требования: << "image (dimensions must be multiples of 4)";
а. ну да. печалька.
тут нчиего не сделать, это требование dxtc компрессии, сам алгоритм работает с группой по 4 пиксела.

#73
17:04, 17 дек. 2012

пц конечно.... попробую в фотошопе + devIL

просто блин делать этот бордер при загрузке - ваще некруто... скорость опять просядет.... хня какая-то

тогда придется из 2 зол выбирать меньшее.... придется с jpg идти
но если у меня нормалмап 32к на 32к - тут и жпг не вкатит - там тока tga

#74
17:08, 17 дек. 2012

The Andreyp
> попробую в фотошопе + devIL
да без разницы. ты просто не сделаешь dxtc компрессию, если у тебя размер картинки не соответствует требованиям.

The Andreyp
> тогда придется из 2 зол выбирать меньшее....
добавить еще два пустых пикселя по краю?

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.