![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как хранить текстуры? [VC, Windows]
VolanD666 © (2006-01-29 09:06:00)Здрасти, программеры! Нужен ваш совет :)
Раньше я хранил все свои текстуры в двоичном файле в виде последовательность BMP. Тогда при загрузке я считывал BMP'шки и преобразовывал их в текстуры D3D. А теперь я вот подумал, а зачем мне это, если можно считывать напрямую в текстуру, без BMP. Конечно файл увеличится в размере, но тогда быстрей грузиться будет?
RGB_S3TC_DXT1_EXT (2006-02-01 05:34:00) [1]GTA хранит текстуры в сжатом виде, и грузит их примертно так : glCompressedTexImage2DARB(GL_TEXTURE_2D, J, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, W, H, 0, DataSize, Data)
где,
GL_COMPRESSED_RGB_S3TC_DXT1_EXT - метод сжатия.
W H - высота, ширина текстуры.
Data - данные.
DataSize - размер данных.
К сожалению GLScene не умеет загружать сжатые текстуры, для этого она их сначала расжимает, потом загружает, а потом опять сжимает. Что скорость работы совсем не увеличивает, а качество текстур из-за этого возможно даже и ухудшается. Если кто найдёт способ, как загружить уже сжатые текстуры ( без расжатия ) - будет большой молодец.
MeF Dei Corvi (2006-01-30 13:49:00) [2]
> Мелкософт специально для этого придумал формат DDS
Пишу под OGL :) Так что мелкософт мне не указ. :)
Sapersky (2006-01-30 13:43:00) [3]а сама текстура "выдрана" из памяти видеокарты(то есть уже с нормальным размером+аппаратная компрессия+мипмапы).
Мелкософт специально для этого придумал формат DDS.
MeF Dei Corvi (2006-01-30 09:16:00) [4]
> но затрачивается время на преобразование bmp-> D3DTexture
а нафиг в bmp хранить :)
У меня в файле хранятся общие сведения о текстуре (формат и прочее) и текстура, причём файл запакован Zlib-ом, а сама текстура "выдрана" из памяти видеокарты(то есть уже с нормальным размером+аппаратная компрессия+мипмапы).
П7 (2006-01-30 04:50:00) [5]Нафиг оно нужно? Зачем пользователю лишние трудности создавать с добванием ресурсов игры? Что з параноидальные идеи?
XProger (2006-01-29 18:08:00) [6]VolanD666, оно надо?
Cash (2006-01-29 15:36:00) [7]Дупиль! ;) (Double)
Если умеешь - используй!
Если хочешь научиться - используй!
Если есть время и не жмет делать игруху - поэкперементируй со сжатием!
Если лень или влом или еще что - не используй!
VolanD666 (2006-01-29 14:52:00) [8]Вопрос не в том, что выбрать. А в том использовать ли сжатие или нет?
VolanD666 (2006-01-29 14:51:00) [9]Вопрос не в том, что выбрать. А в том использовать ли сжатие или нет?
Cash (2006-01-29 13:31:00) [10]П7 (29.01.06 12:17) [5]:
... приготовить скромный ужин, принять душ, поужинать ...
Тогда наверное игроделу даже публичное отрывание рук не поможет!
:)))
... или GIF, PNG кстати тоже сжимает нехило и без потерь (по моему).
П7 (2006-01-29 12:17:00) [11]
> Cash © (29.01.06 11:42) [4]
Ну, если только растворимого... А если во время загрузки можно успеть приготовить скромный ужин, принять душ, поужинать и хорошенько выспаться? (:
Выбери что-то среднее. Например юзай TGA. (:
Cash (2006-01-29 11:42:00) [12]VolanD666 (29.01.06 11:06) [3]:
3) Если сжатие не использовать, то твоя игрух разжиреет быстро.
А чего плохого в том, что перед началом игры есть время кофею себе
набадяжить?! :)))
VolanD666 (2006-01-29 11:06:00) [13]1) Если использовать сжатие, то по идее с винта грузится меньше инфы, но затрачивается время на преобразование bmp-> D3DTexture
2) Если сжатие не использовать, то грузится больше, но не требуется преобразование.
MeF Dei Corvi (2006-01-29 10:27:00) [14]Кстати, мною замечено, что использование сжатия даже увеличивает скорость загрузки текстур :) Или это у меня просто жесткий диск такой тормозной...
Cash (2006-01-29 09:13:00) [15]Думай, что тебе важнее: скорость загрузки или размер архива!
Для меня важнее размеры, поэтому я эксперементирую с методами сжатия.