Выигрыш не в 2 раза, а в 20!!! Ведь джипег это глубина цвета 8 бит. DDS с такой глубиной цвета весит совсем не по детски!
Вы что-то где-то путаете. Во-первых, выигрыш совсем небольшой. У меня при попытке проделать вышеописанную процедуру с переименованием он получился даже чуть меньше, чем 2 раза. Обычная текстура DXT5 - 5,4 мб, переименованная из .jpg - 3 мб. А DXT1 - 2,7 мб. Во-вторых, этот файл, созданный путем переименования .jpg в .dds, теперь ни в чем не открывается, даже в "фотошопе", так что судить о его качестве и работоспособности затруднительно. В-третьих, я как ни старалась, не могла заметить разницу между текстурой DXT1 (4 bpp) и DXT5 (8 bpp), во всяком случае при рассматривании этой текстуры при 100-200% масштабе. Разница заметна между вышеупомянутыми текстурами и RGB (24 или 32 bpp), ну так там и разница в размерах значительная.
В общем, мое мнение - не заморачивайтесь подобными танцобубнами. Если делать текстуры по старинке, обычным путем, но правильно и с умом, то игру вы ими не перегрузите и не испортите; несколько мегабайт в данном случае мало на что повлияют.
По каждому вопросу есть только два мнения - неправильное и моё.
langley, дело в том, что джипег, как раз глубиной цвета соответствует RGB. Т.е. пользуясь им можно получить текстуры с качеством RGB, но размером меньше обычных DDS. Разумеется, если переводить обычные DDS в джипег, то ничего нового мы уже не получим, ведь информация там уже потеряна. А вот при создании новых текстур он должен себя проявить наилучшим образом. Выигрыш джипега в том, что он имеет внутреннюю компрессию. Поэтому он дальше уже не сжимается обычными архиваторами. Причём, это очень хорошо продуманная компрессия. Обратите внимание, что размер джипег-файла зависит от числа мелких деталей на изображении. Т.е. это информация в чистом виде без лишнего. А DDS - внутренней компрессии не имеет совсем.
Меня только беспокоит: 1. Не вызовет ли такой переименованный джипег проблем с игрушкой? 2. Не будет ли проблем с загрузкой процессора, обусловленной необходимостью распаковывать изображение? Ведь в памяти компьютера и видеокарточки изображения всегда находятся только в распакованном виде.
Изменение репутации для пользователя langley
langleyOffline
Сообщение №603
написано: 31 декабря 2013, 10:52
| Отредактировано: langley - 31 декабря 2013, 11:45
Myprism, да я не о том. При равном качестве, .jpg меньше .dds раза в два, а иногда меньше. Откуда взялось 20 раз из твоего предыдущего комментария? А если сравнивать DXT1 с .jpg, то там вообще какая-либо выгода, как в качестве, так и в размере, не очевидна и сомнительна.
PS. Возможно, имеет смысл извращаться с .jpg при создании текстур большого размера - там выгода будет более заметной и существенной. Я экспериментировала с более скромными и ходовыми размерами. И в моем случае файлы все равно получаются неоткрывающимися
По каждому вопросу есть только два мнения - неправильное и моё.
Изменение репутации для пользователя alexwar
alexwarOffline
Сообщение №604
написано: 31 декабря 2013, 11:11
| Отредактировано: alexwar - 31 декабря 2013, 11:22
Разумеется, если переводить обычные DDS в джипег, то ничего нового мы уже не получим, ведь информация там уже потеряна. А вот при создании новых текстур он должен себя проявить наилучшим образом.
Конечно, когда запекается текстура без компрессии(tif) размером 2048 ее вес 54-50 мб
langley, Вы экспериментировали с текстурами, в которых уже была потеряна информация. Вы их сохранили в джипег, т.е. контейнер предназначенный для хранения гораздо большей глубины цвета. В результате он Вам сохранил изображение с низкой глубиной цвета в файл с большой глубиной цвета, которой в исходном изображении нет, а место под эту отсутствующую информацию было отведено. Поэтому для низкокачественных текстур сохранение в джипег не интересно. А вот берём самую большую текстуру тела для LB. Кристина сохранила её в RGB. Занимает она 67 мегабайт. Дальше сохраняем её в джипег, который как раз имеет RGB -8 бит на канал. И получаем текстурку размером 2,18 мегабайт. Выигрыш в 30 раз (!) без потери качества. Конверсия же текстур DTX 1 в джипег вообще может дать обратный результат.
alexwar, понятно, что бесплатного ничего не бывает. Когда то давно (примерно 14 лет назад), мне надо было показывать пользователю фильм вращение синтезированного им огранённого камня. Там надо было честно просчитывать до 12 полных внутренних отражений и честное преломление с френелевским отражением. Ни DireсtX ни OpenGL этого не могут до сих пор, поэтому пришлось всё делать софтово силами центрального процессора. Мощные компьютеры той эпохи справлялись с вращением камня в реальном времени, но не у всех были мощные компьютеры. Поэтому я сделал возможность создания видеоряда из нескольких десятков кадров с последующей демонстрацией. Кадры сохранялись в памяти компьютера либо в виде ряда растровых изображений, либо в виде ряда изображений упакованных в в джипег, либ ов ГИФ. Было забавно сравнивать результаты (плавность вывода изображения и занимаемую память) на разных компьютерах. Последовательность растровых кадров выводилась очень быстро везде, но жрала память, джипег-последовательность подтормаживала на слабых компьютерах (ведь в видеопамять должно поступать распакованное изображение), а самым тормозным оказался GIF-формат, хотя он и потреблял меньше всего памяти.
Добавлено (31 Декабря 2013, 16:51) ---------------------------------------------
Цитата Myprism
И другой момент, если просто переименовать jpg как там появятся митмапы ?
Никак Видимо будет всегда использоваться полная текстура
Изменение репутации для пользователя langley
langleyOffline
Сообщение №606
написано: 31 декабря 2013, 15:00
| Отредактировано: langley - 31 декабря 2013, 15:10
Myprism, по-моему, я не упоминала с какими именно исходниками я экспериментировала. Не знаю, с чего ты взял, что это были .jpg. Это были .tif вообще-то. В любом случае, когда ты высококачественный исходник весом хоть 500 мб сохраняешь как .jpg - он теряет в качестве. И если ты его в .dds сохранишь - он тоже потеряет в качестве. И в том и другом случае потери будут сопоставимые и конечный результат примерно одинаковым. Подтверждено на практике.
Занимает она 67 мегабайт. Дальше сохраняем её в джипег, который как раз имеет RGB -8 бит на канал. И получаем текстурку размером 2,18 мегабайт. Выигрыш в 30 раз (!) без потери качества.
См. выше. Почему ты думаешь, что если сохранить эту кошмарную текстуру в .dds (2,7 или 5,4 мб), то качество будет хуже, чем у .jpg? Я уж молчу про то, что изначально текстура была создана и сохранена с излишним качеством. Поэтому после ее сжатия и сохранения особого ухудшения качества на глаз и незаметно. Но это не значит, что с файлом вообще ничего не произошло и он не изменился.
PS. Выложи какой-нибудь идеальный с твоей точки зрения для экспериментов исходник, повторю эксперимент с ним. Когда-нибудь после НГ.
По каждому вопросу есть только два мнения - неправильное и моё.
langley, Я никогда не говорю о качестве, основываясь на субъективном мнении. Я просто знаю, что именно меняется в изображении при сохранении его в разные форматы. - DDS имеет много форматов, но они не компрессирующие. Уменьшение размера происходит за счёт снижения глубины цвета. В разной степени, поэтому форматы разные. - Джипег - компрессирующий формат. Разработан специально для оптимизирующей упаковки. Различается степенью сжатия и использует набор алгоритмов. При малом сжатии это обычные пакующие алгоритмы. При сильном сжатии используются алгоритмы обрезающие высокие пространственные частоты. Очевидно, что нельзя сделать из большого файла маленький не потеряв информации. За исключением того случая, когда файл содержит ненужную информацию. Так же очевидно, что DDS не имеет никакой оптимизации, а джипег специально разработан для того, чтобы сбалансированно терять в качестве минимально при сжатии. Т.е. второй создавался для того, чтобы паковать наилучшим образом. Разумеется, второй предпочтительнее для изображений с градиентными переходами цвета (для которых он и разрабатывался). Препятствий 2: 1.) Любой сложный алгоритм требует ресурсов процессора. Чем сложнее и эффективнее алгоритм, те сильнее он нагрузит процессор. 2.) В явном виде джипег не содержит набора встроенных текстур с меньшей детализацией для отрисовки предмета на расстоянии (мипмэппинг).
Изменение репутации для пользователя Выдумщик
ВыдумщикOffline
Сообщение №608
написано: 31 декабря 2013, 17:13
| Отредактировано: Выдумщик - 31 декабря 2013, 17:20
у меня старая видюха gt9600 и пень g860, и разницу в производительности и качеством между форматами не наблюдаю, а вот их рзмеры значительно влияют, глюков с jpg нет. К тому же стандартные текстуры одинкового разрешения иногда имеют значительную разницу в размере, например 512*512 есть 170 кб и есть 340( как раз с альфа каналом, прозрачностью), так что может разработчики так и меняли формат.
Изменение репутации для пользователя alexwar
alexwarOffline
Сообщение №609
написано: 31 декабря 2013, 17:32
| Отредактировано: alexwar - 31 декабря 2013, 17:34
именно разработчики все сделали правильно, что касается выбора формата текстур , а карта высот еще в альфе содержит блеск, хотя бы поэтому вес карты высот может быть больше диффузной текстуры.
Выдумщик, лучше всего вsложи два скрина , какой то шмотки один с текстурой в jpg , а другой в dds
Вообще-то я думал, что такая карта называется картой рельефа (обычно с окончанием _n), а карта высот это paralax map (имеет окончание _р). Путаница какая-то Чем же они отличаются, и зачем нужна _р - карта? Может для отрисовки удаленных объектов?
Изменение репутации для пользователя alexwar
alexwarOffline
Сообщение №611
написано: 1 января 2014, 15:37
| Отредактировано: alexwar - 1 января 2014, 15:42
QuazarX, конкретно для Скайрима в карте высот - xxxx_n.dds(Tangent-Space Normal Map) в альфа канале должна лежать карта блеска.
если карта высот будет без альфы или альфа будет просто белая, то предмет будет в игре выглядеть как пластмассовый
это первое.
Далее я делаю так, для полноценной HD текстуры создаю диффузную карту , она запекается в tiff без сжатия, использую xNormal, а также в xNormal запекается карта теней и карта кавети, в фш эти карты размещаются в оверлейных слоях диффузной карты , таким образом мы получаем диффузную текстуру, вес приблизительно 60-50 mb в формате psd. Запекаем карту нормалей опять же в xNormal.
видимо речь идет о Parallax (unverified, appears to only be used on Shader Type 7), Detail map (If Shader Type is 5) or Height (unverified, used on Shader Type 11)
просто она мне была не нужна ...я и не видел такую , покажи хоть одну
Я уже сам разобрался в чем их отличие - паралакс позволяет создать иллюзию динамического освещения, которое может меняться в зависимости от угла зрения.
понятно, там используется ENB Series 108 где поправлены отражения, а я не могу его использовать, комп не тянет, видимо по этому обошел эту тему стороной.
Есть еще целая серия модов со словом Vivid в названии - там этот параллакс прикручен куда только автору взбрело в голову, даже туда, где он нафиг не нужен. В оригинальной игре файлы _p тоже используются, но редко, и там, где они действительно дают неплохой эффект. Взять например невысокие каменные стены вдоль дорог в Вайтране - там работает wrstonebase02_p.dds
По каждому вопросу есть только два мнения - неправильное и моё.
В большинстве случаев смысла нет. При использовании уже приготовленных в DDS 1 и 5 текстур - точно. Но иногда смысл может быть. Я всё о той же Кристининой текстуре. Обычно я жёстко возражаю против неоправданного растранжиривания ресурсов компьютера. Но там есть два фактора: 1. Текстура имеет тот же пиксельный размер, что и у всех. Вес получился большим из-за использования 8-битной глубины цвета. 2. Текстура тела это особый случай. Во-первых, фотографы хорошо знают, что именно на цвете кожи глаз легко улавливает малейшую фальшь, поэтому тут правильное воспроизведение цвета особенно важно. Во-вторых, особое тело и особые текстуры для него будет ставить только тот, кто будет специально это разглядывать. Т.е. ему максимальное качество будет важно. Вот в таком случае использование джипега с переименовыванием оправдано.
Насчёт мипмэпинга. Что-то у меня в памяти всплывает, что он не является необходимым. Дополнительные текстуры будут сгенерированы из основной автоматически и приготовленные заранее нужны только для ускорения работы. А так тяжело вспоминается потому что я этим занимался больше 12 лет назад, когда со скоростью отрисовки графики были ооочень большие проблемы.
Удивительнее всего для меня то, что игра вообще глотает такой переименованный джипег. Ведь его файлы должны радикально отличаться от нескомпрессированных растровых.
Изменение репутации для пользователя langley
langleyOffline
Сообщение №618
написано: 2 января 2014, 09:26
| Отредактировано: langley - 2 января 2014, 11:08
Т.е. ему максимальное качество будет важно. Вот в таком случае использование джипега с переименовыванием оправдано.
Будет оправданно только в том случае, если при меньшем размере файла .jpg будет иметь то же качество, что изначальная текстура. А у меня большие сомнения на этот счет.
В общем, взяла эту 67-мегабайтную текстуру в RGB, пересохранила в .jpg и .dds. Открыла первое, второе и третье вместе, наложила друг на друга, сравнила. Разница в качестве между исходником и копиями едва заметная, и то надо смотреть при большом увеличении. Отсюда мораль: нефиг делать такие огромные сверхкачественные текстуры и нагружать ими комп; на обычном мониторе обычный человеческий глаз даже в "фотошопе" и при увеличении едва видит разницу, а в игре вообще ничего не будет заметно. Разница между .jpg и .dds тоже есть, но толком непонятно в чью пользу. Во всяком случае нельзя однозначно сказать, мол, вот этот образец лучше, а этот хуже. Они просто чуть разные. Размер .jpg - 8,9 мб, .dds - 10,6 мб. Экономия "умопомрачительная". А возни-то, возни... Отсюда мораль: да, можно сохранить изначально слишком большую текстуру в .jpg, потом переименовать ее в .dds, и тем самым уменьшить ее размер в несколько раз без существенного ухудшения качества (только потому что оно избыточное, "с запасом"). Но можно и сразу в обычном .dds сохранить, почти ничего не потеряете.
Картинки-сравнения, если кому интересно. Разделительная линия проходит как раз через пупок - это на тот случай, если вы ее не увидите
По каждому вопросу есть только два мнения - неправильное и моё.
Изменение репутации для пользователя Myprism
MyprismOffline
Сообщение №619
написано: 2 января 2014, 12:15
| Отредактировано: Myprism - 2 января 2014, 12:41
пропустили? Джипег можно сохранять по-разному: 1.) Можно в Фотошопе выбрать "Сохранить как". Дальше будет окно выбора степени компрессии. Джипег замечателен тем, что позволяет гибко компрессировать с разной степенью сжатия и разными потерями. При этом способе в файл будет записана мусорная служебная информация, например, метаданные. Место займёт, а текстуре не нужно. 2.) Можно выбрать "Сохранить для Вэб". Тут тоже будет движок регулировки компрессии (совсем другой движок!). Ставим на 70. Ставим сохранять только изображение и никаких цветовых профилей. Вот тут получится чистый файл.
О выборе степени компрессии. Он зависит от содержания изображения. Именно эта текстура тела допускает очень высокую степень компрессии. Потому что содержит не много высоких пространственных частот. По этой же причине она вообще так здорово компрессируется. Кстати, размер JPG файла текстуры можно заметно сократить, закрашивая пустое пространство вокруг текстуры в РОВНЫЙ цвет. Сейчас там что-то вроде шума. А ненужная информация в нём честно сохраняется джипегом в файл и тоже занимает место.
To all А кто знает, с какой глубиной цвета работают современные видеокарточки? Те времена, когда я плотно занимался этим и когда с глубиной цвета были проблемы (например, с Glide у 3Dfx) давно ушли в прошлое. Как бы так не случилось, что современная видеокарточка работает с глубиной цвета 8 бит на канал, а тогда RGB текстура займёт в видеопамяти РОВНО СТОЛЬКО ЖЕ МЕСТА, как и любая другая текстура. А это означает, что кажущаяся здоровой RGB-текстура для видеокарточки будет ничуть не больше любой другой текстуры того же пиксельного размера
Изменение репутации для пользователя langley
langleyOffline
Сообщение №620
написано: 2 января 2014, 14:14
| Отредактировано: langley - 2 января 2014, 14:14
Не пропустили, а решили сохранять с самым высоким качеством. Если его и тут снижать, то я вообще что-то теряю суть всей этой занимательной беседы. И честно говоря, уже потеряла желание ее продолжать. Я полагаю так - если уж уменьшать большие текстуры ради уменьшения нагрузки, то пусть они остаются в нормальном формате .dds. И возни меньше и результат вполне приемлемый. И кроме всего прочего ничто не мешает эти текстуры просматривать и редактировать без постоянного переименования туда-сюда.
По каждому вопросу есть только два мнения - неправильное и моё.
В общем, взяла эту 67-мегабайтную текстуру в RGB, пересохранила в .jpg и .dds. Открыла первое, второе и третье вместе, наложила друг на друга, сравнила. Разница в качестве между исходником и копиями едва заметная, и то надо смотреть при большом увеличении. Отсюда мораль: нефиг делать такие огромные сверхкачественные текстуры и нагружать ими комп; на обычном мониторе обычный человеческий глаз даже в "фотошопе" и при увеличении едва видит разницу, а в игре вообще ничего не будет заметно.
специалист ... P.S. я под столом от вашей дискуссии... большего бреда еще не читала. Ладно, подождем развития темы - посмотрим до чего договоритесь. P.P.S. на тему того, что разработчики игр не используют больших и тяжелых текстур из-за потерь качества и якобы того, что кто-то их не увидит. Для справки: текстура только одного лица Лариски из оригинальной игры - держите... (48Mb в tga формате, с разрешением 4096х4096) ... до такого еще и модмейкеры Скайрима не дошли. К этой текстуре еще добавьте: карту нормалей на 12Мб. и карту спекуляра на 12Мб. и получите... 72Мб. только на одно лицо. + к этому еще текстура тела: 72Мб. + ноги 36Мб. + волосы 40Мб. В суме ... Лариска весит: 220Мб. (!!!) и это не считая бровей, глаз, зубов, и т.д.
и да ... вы забываете несколько моментов (в своей дискуссии): 1. у jpg искажения по краям линий, 2. jpg не поддерживает альфа канал, 3. у DDS сжатие по алгоритму видео памяти, что позволяет карте без промежуточного конвертирования раскрывать гигабайты за доли секнуды, 4. Искажения у DDS DXT5 начинаются когда в блог (4х4) попадают три цвета (по этому для кожи персонажа не подходит, поскольку там очень много оттенков которые формируют фактуру). 5. Для кожи персонажа DXT5 не подходит потому, что народ любит рисовать татуировки, а его пересохранение усилит искажения ... по этому исходник должен быть без сжатия.
разница которую я вижу... если кто-то ее не замечает, то я только рада этому:
Ладно, подождем развития темы - посмотрим до чего договоритесь
Я уже свой вердикт вынесла. И еще раз могу повторить: текстура весом 67 мб с разрешением 4K и в формате RGB - совершенно неоправданное и нафиг не нужное разбазаривание ресурсов и создание лишней нагрузки. Особенно учитывая, что речь идет об игре, а не о работе для конкурса "Очумелые ручки". У тебя же в основном моде LB эта текстура втрое меньше, не так ли? Что касается разницы между DXT1 и DXT5 - то это было уже доказано раньше и доказано вчера еще раз. На примере реальных текстур, а не каких-то радужных картинок. И вообще, мне нет дела до всякой псевдонаучной фигни, и никому, кроме нескольких "специалистов", до нее дела тоже нет. Я все проверяю с позиции обычного игрока, на практике, и доверяю собственным глазам. И если практика опровергает теории - значит можно с чистой совестью на них наплевать. Особенно если эта теория требует что-то отдавать, а взамен ничего не предлагает, кроме уверений, что "так будет лучше".
По каждому вопросу есть только два мнения - неправильное и моё.
У тебя же в основном моде LB эта текстура втрое меньше, не так ли?
Нет, не так ... как опция - можно поставить текстуру без сжатия... которая весит 64Мб. И эта опция появилась не без основания... разница есть и большая. Да ... в игре ее можно увидеть только при приближении а не в обычном игровом режиме. Но и этого достаточно. А если игрок увлечен созданием скриншотов (как оказалось - таких очень не мало), то это становится - боле чем актуальным.
К примеру - не получишь такого качества, при таком приближении сжимая текстуру в DXT5 (уже не говоря о DXT1 ... а про jpg я ваще не говорю, поскольку это маразм): Тож самое и с текстурой тела - хочешь увидеть в игре высокодетализированную (вплоть до того, что виден пушок): надо быть готовым к тому, что придется использовать текстуры без сжатия.
Это говорит только о том, что все зависит от цели, которая преследуется. Именно... сама цель и продиктует, какое тебе требуется сжатие/формат и разрешение. Тож самое и с примером лариски, на которую профессиональные разработчики, без зазрения совести отпилили с выше 200 Мб. видео памяти. Было принято решение, что должна быть высокодетализированной и без компромиссов на искажения ... именно эту цель преследовали и ее достигли.
А если игрок увлечен созданием скриншотов (как оказалось - таких очень не мало), то это становится - боле чем актуальным.
Вот и я о том же. Красивые скриншоты, конкурсы моделлеров-текстурщиков, эстетическое наслаждение при рассматривании обнаженных женских тел, даром, что они из полигонов и текстур слеплены, и всякое такое... Нечто, имеющее к игре косвенное и вторичное отношение. Для этого большие сверхкачественные текстуры незаменимы, кто ж спорит.
И вообще, что у вас свет клином сошелся на этой одной-единственной текстуре голой бабы? Хоть бы раз кто-нибудь привел в качестве примера текстуру ландшафта, архитектуры, мебели, брони, оружия, животных... И показал бы, что с этой текстурой происходит при ее создании и сохранении в разных форматах и с разным качеством. А то все какие-то теории и рассуждения о высоких материях и голых бабах.
По каждому вопросу есть только два мнения - неправильное и моё.
Изменение репутации для пользователя Quazar
QuazarOffline
Сообщение №627
написано: 3 января 2014, 10:15
| Отредактировано: QuazarX - 3 января 2014, 10:20
Тут много писали про вес текстур и возник вопрос: вес dds-текстур тоже влияет на производительность, или только разрешение (при стандартном формате DXT 1...5)? И еще: читал что использование комплексных текстур (4 in 1) более выгодно, чем использование четырех мелких порознь. Так ли это? И если да, то в чем именно выгода?
Криста, уж очень большая разница, даже пугающая. Вы уж меня простите, старого, всё сам привык перепроверять, хотя Вам, как специалисту и верю. Но почему то, у меня такой разницы не получилось (делал на основе простого градиента) Вот сами тектурки, можете сравнить http://yadi.sk/d/UZRw8jyPFNiKU и http://yadi.sk/d/fvHak92iFNiT2 Всем Удачи!
И еще: читал что использование комплексных текстур (4 in 1) более выгодно, чем использование четырех мелких порознь. Так ли это? И если да, чем в чем именно выгода?
можно подробней ... а то чет не совсем понятно выражение (4 in 1).
Криста, уж очень большая разница, даже пугающая. Вы уж меня простите, старого, всё сам привык перепроверять, хотя Вам, как специалисту и верю. Но почему то, у меня такой разницы не получилось (делал на основе простого градиента)
вы получили не меньшие искажения ... обратите внимания на центр - красный цвет ... хотя в вашем случае ситуацию не много нивелировала плавность/блеклость перехода цветов. Я уже выше писала ... особо сильные искажения начинаются когда попадают три цвета на блог (4х4)... соответственно: чем меньше таких мест на текстуре - тем меньше искажений. Поскольку сжатие DDS блочное ... как и сама память видео карты.