DevilDevil
> если это так просто, то почему бы тебе не наваять утилитку ?
Хочешь я тебе напишу за бутылку?
suc-daniil
> Я сейчас немного занят(разбираюсь с тряпками из Physx 3.2)
ну вот видишь
FROL
> Хочешь я тебе напишу за бутылку?
15 wmz
тока именно через рендер, а не через внутренние драйверные или либные возможности
DevilDevil
Идет, через рендер, даже шейдер сможешь менять.
FROL
я сомневаюсь что мой офисный Intel 3000 со встроенной видеокартой потянет шейдеры )
давай
кстати будет интересно посмотреть результат на разных видеокартах
одинаковый результат будет или нет
DevilDevil
>>я сомневаюсь что мой офисный Intel 3000
Должен работать, я создавал девайс с фитчуре-левелом D3D_FEATURE_LEVEL_10_0. Пиши если не заработает.
Отправил в личку, захочешь - выкладывай без проблем. Сжимал программой "The Compressonator" (бывший ATI Compressonator). Очень советую кстати.
DevilDevil
Скажу по секрету: ты страдаешь ерундой. Направь усилия на что-то более конструктивное.
FROL
охренительно, завтра постараюсь потестить
haper
> Скажу по секрету: ты страдаешь ерундой. Направь усилия на что-то более
> конструктивное.
не учи расставлять приоритеты того, кто расставляет приоритеты лучше тебя
Поднимаю тему
Благодаря FROL, мы сумели соорудить утилиту для аппаратной декомпресии DXT
я в свою очередь разработал тестовые данные и утилиту, анализирующую распаковку
Собственно вопросы которые сейчас стоят следующие:
1) Все ли GPU аппаратно одинаково интерпретируют DXT данные (распаковывают текстуру)
2) Каков реальный алгоритм распаковки DXT (1 и 5)
Теперь комментарии по каждому пункту.
Во-первых, сразу вам говорю, алгоритм распаковки от Squish (который применяется почти везде) некорректный. Распаковка от DevIL тоже некорректна.
Во-вторых, мы тестировали распаковку на разных машинах, и счёт пока 2:0 в пользу мнения, что аппаратная распаковка DXT везде одинаковая.
Собственно я призываю вас принять участие в тестировании.
Если ваше железо поддерживает DirectX11, то скачайте DXT_TESTER, распакуйте и запустите RUN.bat
если будет спрашивать d3dx9d_43.dll, то скачайте например здесь: http://www.gamedev.ru/files/?id=81582
В итоге должны получиться 2 файла: "alpha report.txt" и "color report.txt"
Это отчёты о dxt-распаковке.
Если у вас есть программа типа Beyond Compare - сравните эти файлы с "GPU alpha report.txt" и "GPU color report.txt" соответственно
так мы узнаем - одинаковая ли хардварная распаковка
как получаются цвета.
есть два 16 битных (5-6-5) цвета. Они распаковываются и аппроксимируются. Получается палитра.
Палитра для цвета состоит всего из 4х цветов. Каждому пикселю в итоге назначается индекс из этой палитры (от 0 до 3)
Альфа сжимается похожим образом. Только ей дали больше точности.
Берётся 2 байтовых значения и аппроксимируются. Получается палитра уже из 8 элементов.
и там уже все пиксели имеют альфу по индексу от 0 до 7
p.s. разброс большой. надо разобраться в этом "говне"
а не легче ли загрузить пиксели и скопировать обратно с видео карты ?
P.S. если нужен альфа тест, можно сделать распаковку блока из не сжатых данных.
Mikey
если напишешь альтернативную версию "converter.exe" - будет здорово
заодно и сравним, что думает GL и DX о декомпрессии DXT
p.s. я думаю в GL может использовать CPU декомпрессия с неверным алгоритмом вместо GPU декомпрессии
DevilDevil
> я думаю в GL может использовать CPU декомпрессия с неверным алгоритмом вместо GPU декомпрессии
Ни GL'ю ни GPU не нужна декомпрессия. Видуха или умеет семплить dxt текстуру, или нет. Заметь, семплить, а не распаковывать.
И GL не будет сообщать о поддержке жатых текстур, если железо не умеет.
RPGman
чем сэмпить отличается от распаковывать ?
переведи на русский язык. И лучше опираясь на свой опыт, а не чисто теоретические умозаключения
DevilDevil
> чем сэмпить отличается от распаковывать ?
> переведи на русский язык. И лучше опираясь на свой опыт, а не чисто
> теоретические умозаключения
Мы проводили тесты в проекте на скорость загрузки графики, + замеры памяти (сравнение пнг и ддс5 около 500 256*256 текстур, еще был вариант с jpg + alpha jpg, но на ноутбуках оказался слишком тормозным )
Результат : вариант загрузка png была намного дольше чем dds (естественно, конвертация), замеры памяти : ддс в несколько раз меньше чем пнг (точные данные не буду давать, лучше самому проверить раз)
Можно сделать вывод что ддс текстура хранится в таком же виде как и на диске (только без заголовков), и при рисовании видео карта сама конвертирует блоки на лету. (мое мнение, не гуглил по этому поводу)
Mikey
так это давным давно известно
что в большинстве случаев так куском и лежит
если карта поддерживает DXT )
All
кому интересно только отчёты сравнить, пожалуйста: http://zalil.ru/33797317
сравнивайте в Beyond Compare или аналогах.
Тема в архиве.