Как открыть файл crn

Обновлено: 21.11.2024

crunch/crnlib v1.04 — расширенная библиотека сжатия текстур DXTn

Общественное достояние — см. файл license.txt.

Части этого программного обеспечения используют общедоступный код, изначально написанный Игорем Павловым (LZMA), RYG (crn_ryg_dxt*) и Шоном Барреттом (stb_image.c).

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

crnlib — это библиотека сжатия текстур с потерями для разработчиков, поставляющих контент с использованием форматов сжатых цветов/карт нормалей/кубических карт DXT1/5/N или 3DC с мип-отображением текстур. Она была написана тем же автором, что и библиотека сжатия LZHAM с открытым исходным кодом.

Он может сжимать 2D-текстуры, карты нормалей и кубические карты с мип-мэппингом примерно до . 1–1,25 бит/тексель, а карты нормалей — 1,75–2 бит/тексель. Фактический битрейт зависит от сложности самой текстуры, указанного коэффициента качества/целевого битрейта и, в конечном счете, от желаемого качества, необходимого для конкретной текстуры.

crnlib значительно отличается от других подходов, потому что его сжатый формат данных текстуры был тщательно разработан, чтобы его можно было быстро преобразовать непосредственно в DXTn без промежуточного шага повторного сжатия. Типичная (однопоточная) скорость транскодирования в DXTn обычно составляет 100-250 мегатекселей/сек. Текущая библиотека поддерживает ПК (Win32/x64) и Xbox 360. Поддерживается быстрый произвольный доступ к отдельным уровням MIP-карт.

crnlib также может генерировать стандартные файлы .DDS с указанными настройками качества, в результате чего файлы намного лучше сжимаются с помощью LZMA/Deflate и т. д. по сравнению с файлами, сгенерированными стандартными текстурными инструментами DXTn (см. ниже). Эта функция позволяет легко интегрироваться в любой движок или графическую библиотеку, которые уже поддерживают файлы .DDS.

Формат файла .CRN поддерживает следующие основные форматы текстур DXTn: DXT1 (но не DXT1A), DXT5, DXT5A и DXN/3DC

Он также поддерживает несколько популярных swizzled вариантов (некоторые также поддерживаются AMD Compressonator): DXT5_XGBR, DXT5_xGxR, DXT5_AGBR и DXT5_CCxY (экспериментальная яркость-цветность YCoCg).

Инструмент AMD Compressonator рекомендуется для просмотра файлов .DDS, созданных с помощью инструмента crunch, и включенных примеров проектов.

Примечание. Некоторые из измененных выходных форматов DXTn .DDS (например, DXT5_xGBR), прочитанные/записанные с помощью инструмента Crunch, или примеры отличаются от стандарта DX9 DDS, поэтому инструменты DXSDK, такие как DXTEX.EXE, вообще не будут их загружать. иначе они не будут отображаться должным образом.

Подробности алгоритма сжатия

Процесс сжатия, применяемый при создании файлов .CRN и кластеризованных файлов .DDS, использует высококачественный масштабируемый оптимизатор конечной точки DXTn, способный обрабатывать любое количество пикселей (вместо типичных жестко заданных 16), опциональное адаптивное переключение между несколькими макроблоками. размеры/конфигурации (в настоящее время любая комбинация блоков пикселей 4x4, 8x4, 4x8 и 8x8), кластеризация конечной точки с использованием нисходящего кластерного анализа, векторное квантование (VQ) индексов селектора и несколько пользовательских алгоритмов для сжатия результирующей конечной точки/селектора кодовые книги и индексы макроблоков. Между этапами кластеризации и VQ выполняется несколько проходов обратной связи для оптимизации качества, а на некоторых этапах используется подход грубой переборки для повышения качества. Большинство шагов сжатия являются многопоточными.

В настоящее время формат .CRN использует каноническое кодирование Хаффмана для повышения скорости (аналогично Deflate, но с гораздо большими таблицами), но в следующей основной версии также будет использоваться адаптивное двоичное арифметическое кодирование и контекстное моделирование более высокого порядка с использованием уже разработанной технологии из моего LZHAM. библиотека сжатия.

Поддерживаемые форматы файлов

crnlib поддерживает два формата файлов сжатых текстур. Первый формат (кластеризованный .DDS) легко интегрируется в существующий проект (обычно не требуется никаких изменений кода), но он не обеспечивает наивысшего соотношения качества/сжатия, на которое способна crnlib. Интеграция второго пользовательского формата более высокого качества (.CRN) требует нескольких, как правило, простых модификаций ядра, чтобы интегрировать библиотеку файлов заголовков транскодера .CRN->DXTn в ваши инструменты/движок.

crnlib может сжимать текстуры в стандартные файлы .DDS в стиле DX9, используя кластерное сжатие DXTn, которое является подмножеством подхода, используемого для создания файлов .CRN. но это не очень интересно.) Кластеризованные файлы .DDS, сжатые DXTn, гораздо более сжимаемы, чем файлы, созданные другими библиотеками/инструментами. Помимо повышенной сжимаемости, файлы .DDS, созданные в результате этого процесса, являются полностью стандартными, поэтому их достаточно легко добавить в проект практически без изменений кода.

Чтобы действительно извлечь выгоду из кластерных файлов .DDS DXTn, вашему движку необходимо дополнительно сжать без потерь данные .DDS, сгенерированные crnlib, с помощью кодека без потерь, такого как zlib, lzo, LZMA, LZHAM и т. д.Скорее всего, ваш движок уже это делает. (Если нет, то определенно следует это сделать, потому что текстуры, сжатые DXTn, обычно содержат большое количество сильно избыточных данных.)

Кластерные файлы .DDS предназначены для наиболее простого и быстрого способа интеграции технологии crnlib в проект.

Второй, более удачный вариант — сжать текстуры в файлы .CRN с помощью crnlib. Чтобы прочитать результирующие данные .CRN, вы должны добавить в свое приложение библиотеку транскодера .CRN (расположенную в прилагаемом отдельном файле, автономной библиотеке заголовочных файлов inc/crn_decomp.h). Файлы .CRN обеспечивают заметно более высокое качество при той же эффективной скорости передачи по сравнению с кластеризованными файлами .DDS, сжатыми DXTn. Кроме того, файлы .CRN не требуют дальнейшего сжатия без потерь, поскольку они уже сильно сжаты.

Файлы .CRN немного сложнее/рискованнее интегрировать в проект, но итоговая степень сжатия и качество лучше, чем у кластеризованных файлов .DDS.

crnlib и crunch могут читать/записывать файлы формата .KTX в различных форматах пикселей. Оптимизация искажения скорости (кластеризованное сжатие DXTc) пока не поддерживается при записи файлов .KTX.

Формат файла .KTX аналогичен .DDS, за исключением того, что это довольно хорошо определенный стандарт, созданный Khronos Group. К сожалению, почти все инструменты, которые я обнаружил, которые поддерживают .KTX, довольно (или очень) глючат или ограничены только несколькими пиксельными форматами, поэтому нет гарантии, что файлы .KTX, написанные crnlib, могут быть надежно прочитаны. другими инструментами.

Создание примеров

Этот выпуск содержит исходный код и проекты для трех простых примеров проектов:

crn_examples.2008.sln — это файл решения Visual Studio 2008 (VC9), содержащий проекты для Win32 и x64. Сам crnlib также собирается с VS2005, VS2010 и gcc 4.5.0 (TDM GCC+MinGW). Также включены рабочее пространство codeblocks 10.05 и файл проекта, но компиляция crnlib таким способом мало тестировалась.

Демонстрирует, как использовать высокоуровневые функции сжатия/распаковки/транскодирования C-помощника crnlib в inc/crnlib.h. Это довольно полный пример функциональности crnlib.

Показывает, как перекодировать файлы .CRN в .DDS, используя только функциональные возможности inc/crn_decomp.h. Он не связан с crnlib.lib и не зависит от него каким-либо образом. (Примечание: полный исходный код транскодера CRN (около 4800 строк) включен в файл inc/crn_decomp.h.)

Пример 2 показывает, насколько просто интегрировать текстуры CRN в ваше приложение.

Показывает, как использовать обычные низкоуровневые функции сжатия блоков DXTn в inc/crnlib.h. Эта функциональность включена для полноты. (В вашем движке или наборе инструментов, скорее всего, уже есть собственный компрессор DXTn. Компрессор crnlib обычно очень конкурентоспособен или превосходит большинство доступных компрессоров на базе ЦП с закрытым и открытым исходным кодом.)

Создание сжатых текстур из командной строки (crunch.exe)

Самый простой способ создания сжатых текстур с помощью crnlib – это интегрировать инструмент командной строки bin\crunch.exe или bin\crunch_x64.exe) в цепочку инструментов для создания текстур или в процесс экспорта. Он может записывать сжатые DXTn текстуры 2D/cubemap в обычные сжатые DXTn файлы .DDS, кластеризованные (или с уменьшенной энтропией) сжатые DXTn файлы .DDS или .CRN. Он также может перекодировать или распаковывать файлы в несколько стандартных форматов изображений, таких как TGA или BMP. Запустите crunch.exe без помощи.

Файлы .CRN, созданные с помощью crunch.exe, можно эффективно перекодировать в DXTn с помощью прилагаемой библиотеки транскодирования CRN, которая находится в полной исходной форме в папке inc/crn_decomp.h.

Вот несколько примеров командной строки crunch.exe:

  1. Сжать blah.tga в blah.dds, используя обычное сжатие DXT1:
  • crunch -file blah.tga -fileformat dds -dxt1
  1. Сжать blah.tga в blah.dds с помощью кластеризованного DXT1 с эффективным битрейтом 1,5 бит/тексель, отобразить статистику изображения:
  • crunch -file blah.tga -fileformat dds -dxt1 -bitrate 1.5 -imagestats
  1. Сжать blah.tga в blah.dds с помощью кластеризованного DXT1 с уровнем качества 100 (от [0,255]) без MIP-карт, отобразить статистику LZMA:
  • crunch -file blah.tga -fileformat dds -dxt1 -quality 100 -mipmode none -lzmastats
  1. Сжать blah.tga в blah.crn с помощью кластеризованного DXT1 с битрейтом 1,2 бита на тексель, без MIP-карт:
  • crunch -file blah.tga -dxt1 -bitrate 1.2 -mipmode нет
  1. Распаковать blah.dds в файл .tga:
  • crunch -file blah.dds -fileformat tga
  1. Перекодировать blah.crn в файл .dds:
  • crunch -файл blah.crn
  1. Распакуйте файл blah.crn, записав каждый уровень MIP-карты в отдельный файл .tga:
  • crunch -split -file blah.crn -fileformat tga

хруст.exe может делать гораздо больше, например масштабировать/обрезать изображения перед сжатием, преобразовывать изображения из одного формата файла в другой, сравнивать изображения, обрабатывать несколько изображений и т. д.

Примечание: я бы включил полный исходный код в crunch.exe, но он по-прежнему имеет некоторые низкоуровневые зависимости от внутренних компонентов crnlib, которые у меня не было времени решать. Эта версия crunch.exe имеет несколько ограниченную функциональность по сравнению с более ранним оценочным выпуском. Например, в эту версию не включена поддержка XML-файлов.

Самый гибкий и мощный способ использования crnlib — это интегрировать библиотеку в ваш редактор/инструментарий и т. д. и напрямую предоставьте ему свои необработанные/исходные биты текстуры. См. API в стиле C и комментарии в файле inc/crnlib.h.

Для сжатия вы обычно заполняете несколько структур и вызываете одну функцию:

Или, если вы хотите, чтобы crnlib также генерировала MIP-карты, вы вызываете эту функцию:

Вы также можете перекодировать/распаковать файлы .DDS/.CRN в необработанные 32-битные изображения с помощью crn_decompress_crn_to_dds() и crn_decompress_dds_to_images() .

Внутренне crnlib просто использует inc/crn_decomp.h для перекодирования текстур в DXTn. Если вам нужно только перекодировать файлы формата .CRN в необработанные биты DXTn во время выполнения (а не сжимать), вам вообще не нужно компилировать или компоновать crnlib. Просто включите inc/crn_decomp.h, который содержит полностью автономный транскодер CRN в пространстве имен «crnd». Функции crnd_get_texture_info() , crnd_unpack_begin() , crnd_unpack_level() и т. д. — это все, что вам нужно для эффективного получения необработанных битов DXTn, которые могут быть напрямую переданы любому API или графическому процессору, который вы используете. (См. пример 2.)

Важное примечание. При компиляции в собственном клиенте обязательно определите макрос PLATFORM_NACL перед включением библиотеки заголовочных файлов inc/crn_decomp.h.

В настоящее время crnlib предполагает дальнейшее сжатие выходных файлов .DDS без потерь с помощью LZMA. Однако некоторые движки используют более слабые кодеки, такие как LZO, zlib или пользовательские кодеки, поэтому измерения битрейта crnlib будут неточными. Должно быть легко разрешить вызывающему абоненту подключать пользовательские компрессоры без потерь для измерения битрейта.

Сжатие до нужного битрейта может занять много времени, особенно при обработке больших (2k или 4k) изображений в формате .CRN. Существует несколько высокоуровневых оптимизаций, используемых при сжатии в кластерные файлы DXTn .DDS с использованием нескольких проб, но не для .CRN.

Компрессор .CRN в настоящее время вообще не использует 3-цветные (прозрачные) блоки DXT1, только 4-цветные блоки. Таким образом, он не поддерживает прозрачность DXT1A, и качество его вывода немного страдает из-за этого ограничения. (Обратите внимание, что кластерный компрессор DXTn, используемый при записи кластерных файлов .DDS, нет этого ограничения.)

Кластеризованный компрессор DXT5/DXT5A может группировать блоки DXT5A в кластеры, только если они используют абсолютные (черно-белые) индексы селектора. Это снижает производительность при очень низких битрейтах, поскольку альфа-каналу фактически отдается слишком много битов.

DXT3 не поддерживается при записи файлов .CRN или кластерных файлов DXTn DDS. (DXT3 поддерживается crnlib при сжатии в обычные файлы DXTn DDS.) Вы получите файлы DXT5, если запросите DXT3. Однако DXT3 поддерживается обычным блочным компрессором DXTn. (Фиксированная альфа-версия DXT3 4bpp отстой по сравнению с альфа-блоками DXT5, поэтому я не считаю это ошибкой.)

В формате DXT5_CCXY используется простая кодировка YCoCg, которая работоспособна, но не была настроена на макс. еще качество.

Кластерное (или оптимизированное по скорости искажения) сжатие DXTc поддерживается только при записи в .DDS, а не в .KTX. Кроме того, при записи в ETC1 поддерживается только обычное поблочное сжатие, а .CRN не поддерживает ETC1.

В таблице ниже представлена ​​полезная информация о расширении файла .crn. Он отвечает на такие вопросы, как:

  • Что такое файл .crn?
  • Какая программа мне нужна, чтобы открыть файл .crn?
  • Как можно открыть, отредактировать или распечатать файл .crn?
  • Как преобразовать файлы .crn в другой формат?

Содержание

Мы надеемся, что вы найдете эту страницу полезной и ценной!

В базе данных найдено 1 расширение(я) и 0 псевдонимов

✅ Сжатая текстура

.crn

Описание: файл
CRN представляет собой Crunch сжатую текстуру. Crunch – это библиотека сжатия текстур с потерями с открытым исходным кодом (лицензия ZLIB) и инструмент сжатия командной строки для разработчиков, распространяющих и использующих контент в форматах текстур DXT1/5/N или 3DC/BC5, сжатых с мип-мэппингом графических процессоров.< /p>

Другие типы файлов также могут использовать расширение .crn.

🚫 Расширение файла .crn часто указывается неверно!

Согласно поисковым запросам на нашем сайте, эти орфографические ошибки были наиболее распространенными в прошлом году:

Возможно ли, что расширение имени файла написано с ошибкой?

В нашей базе данных мы обнаружили следующие файлы с похожими расширениями:

🔴 Не можете открыть файл .crn?

Когда вы дважды щелкаете файл, чтобы открыть его, Windows проверяет расширение имени файла. Если Windows распознает расширение имени файла, она открывает файл в программе, связанной с этим расширением имени файла. Если Windows не распознает расширение имени файла, вы получите следующее сообщение:

Windows не может открыть этот файл:

Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать для его открытия.

Если вы не знаете, как установить ассоциацию файлов .crn, ознакомьтесь с часто задаваемыми вопросами.

🔴 Можно ли изменить расширение файлов?

Изменять расширение имени файла не рекомендуется. Когда вы меняете расширение файла, вы меняете способ чтения файла программами на вашем компьютере. Проблема в том, что изменение расширения файла не меняет формат файла.

Если у вас есть полезная информация о расширении файла .crn, напишите нам!

Ниже вы можете найти ответы на следующие вопросы:

  • Что такое файл .crn?
  • Какая программа может создать файл .crn?
  • Где можно найти описание формата .crn?
  • Что может конвертировать файлы .crn в другой формат?
  • Какой тип MIME связан с расширением .crn?

Сжать сжатую текстуру

Файл CRN представляет собой сжатую текстуру Crunch. Crunch – это библиотека сжатия текстур с потерями с открытым исходным кодом (лицензия ZLIB) и инструмент сжатия командной строки для разработчиков, распространяющих и использующих контент в форматах текстур DXT1/5/N или 3DC/BC5, сжатых с использованием MIP-отображения графических процессоров.

Другие типы файлов также могут использовать расширение .crn. Если у вас есть полезная информация о расширении .crn, напишите нам!

Возможно ли, что расширение имени файла написано с ошибкой?

В нашей базе данных мы обнаружили следующие похожие расширения:

Расширение имени файла .crn часто указывается неверно!

Согласно поисковым запросам на нашем сайте, эти орфографические ошибки были наиболее распространенными в прошлом году:

srn (1) , frn (1) , ctn (1) , crh (1) , crb (1) , cnr (1) , cgn (1) , cen (1) , rcn (1) , drn ( 1) , вп (1) , врг (1) , вр (1) , сп (1) , спн (1)

Не удается открыть файл .crn?

Если вы хотите открыть файл .crn на своем компьютере, вам просто нужно установить соответствующую программу. Если связь .crn установлена ​​неправильно, вы можете получить следующее сообщение об ошибке:

Windows не может открыть этот файл:

Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать для его открытия. Windows может выйти в Интернет для автоматического поиска, или вы можете вручную выбрать из списка программ, установленных на вашем компьютере.

Чтобы изменить ассоциации файлов:

  • Щелкните правой кнопкой мыши файл с расширением, ассоциацию которого вы хотите изменить, и выберите Открыть с помощью.
  • В диалоговом окне Открыть с помощью выберите программу, с помощью которой вы хотите открыть файл, или нажмите Обзор, чтобы найти нужную программу.
  • Установите флажок Всегда использовать выбранную программу для открытия файлов такого типа.

Поддерживаемые операционные системы

Windows Server 2003/2008/2012/2016, Windows 7, Windows 8, Windows 10, Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X , iOS, Android

В деле «Серенити Харпер» против GEICO General Insurance Company, номер дела 2D17-4987 (второе заседание DCA Флориды, 1 марта 2019 г.), Второе DCA штата Флорида постановило, что 60-дневный срок (см. раздел 624.155, .) для устранения нарушения со стороны страховщика начинается с даты электронной подачи уведомления о гражданском иске, а не с момента фактического получения страховщиком уведомления по почте.

Обратите особое внимание на даты

Серенити Харпер пострадала в автокатастрофе в 2013 году. Компания GEICO застраховала как виновного водителя, так и г-жу Харпер. У г-жи Харпер была страховка UM (автомобилист с недостаточной страховкой) по автомобильному полису GEICO.

Мисс. 10 декабря 2013 года Харпер подала иск как против виновного водителя, так и против GEICO как ее перевозчика UM. Вскоре после этого GEICO оплатила лимиты полиса г-же Харпер, но отказалась выплачивать ей льготы единой системы обмена сообщениями, предусмотренные ее полисом.

Мисс. 18 декабря 2013 г. компания Harper подала электронное уведомление о нарушении правил со стороны страховщика (CRN). Компания GEICO утверждает, что не получала CRN заказным письмом до 26 декабря 2013 г.

3 февраля 2014 г. компания GEICO согласилась выплатить г-же Харпер лимит полиса единой системы обмена сообщениями в размере 10 000 долларов США. Чек об урегулировании и предложение об освобождении были отправлены адвокату защиты 10 февраля 2014 г. и отправлены истцу по почте 21 февраля 2014 г.

Это произошло через 65 дней после подачи CRN.

Что было дальше

GEICO делает то же, что и всегда. Они утверждают, что платеж был своевременным, поскольку они не получили CRN до 26 декабря 2013 года, что было бы в пределах 60 дней, если бы вы использовали эту дату для расчетов.

Суд заявил:

В подразделе 624.155(3)(d) прямо говорится, что никакие действия не будут предприняты, если ущерб будет возмещен или будут предприняты корректирующие действия в течение шестидесяти дней после того, как застрахованное лицо подаст CRN.

Поэтому в штате Флорида CRN считается поданным, когда заявитель нажимает кнопку для подачи CRN, даже если заявитель также должен отправить копию страховщику. Таким образом, 60-дневный срок начинается с даты подачи формы в электронном виде, а не с даты ее фактического получения страховой компанией.

В результате в этом деле суд постановил, что 60-дневный срок для лечения не был соблюден.

Предстоящее дело о недобросовестности страховых компаний

Теперь, когда было вынесено судебное решение о том, что 60-дневный срок для лечения не был соблюден, г-жа Харпер может принять пособие в размере 10 000 долларов США по полису и по-прежнему может подать в суд в соответствии с законодательством Флориды за недобросовестность. В таком случае, когда страховая компания не соблюдает 60-дневный срок для возмещения ущерба, лимиты полиса считаются «открытыми», и требования истца не ограничены (за исключением фактической суммы возмещения ущерба, присуждаемой присяжными).< /p>

Хотя GEICO все еще может попытаться убедить присяжных в том, что она не действовала недобросовестно (помните, что 60-дневный срок для исправления — это просто тихая гавань, а несоблюдение срока само по себе окончательно обрекает страховку на гибель). компания к недобросовестности), присяжные вполне могут прийти к выводу, что действия GEICO не относились к г-же Харпер «справедливо и честно», учитывая все обстоятельства. Только время покажет, чем закончится эта история и решит ли GEICO урегулировать это дело, а не рисковать тем, что присяжные сочтут их недобросовестными.

Получите помощь в деле вашего незастрахованного автомобилиста во Флориде

Чтобы получить помощь в подаче заявления о ДТП во Флориде, вам следует позвонить адвокату по автомобильным авариям в Лейкленде, штат Флорида. Консультация с нашей юридической фирмой по автомобильным авариям бесплатна. Позвоните нам сегодня, чтобы записаться на бесплатную консультацию с юристом.

Читайте также: