Перейти к содержимому


Фотография
- - - - -

О Форматах Текстур В Flight Sim


Тема находится в архиве. Это значит, что в нее нельзя ответить.
Для разархивирования этой темы отправьте сообщение с указанием URL топика
Сообщений в теме: 6

#1 Ziron

Ziron

    Гуру

  • Developers
  • PipPipPipPipPipPip
  • 1562 сообщений
    Reputation: 288

Отправлено 19 March 2004 - 03:00

Flight Simulator поддерживает большое количество форматов текстур как для ВС так и других объектов. Каждая новая версия FS была более реалистичной с точки зрения графики по сравнению с предыдущей и всё больше походила на реальный мир. Для этого использовались всё новые форматы изображений. Каждый такой формат имеет свою специфику и назначение. Последняя версия симулятора поддерживает все форматы, использованные в предыдущих версиях. Это касается как "Flight Simulator" так и "Combat Flight Simulator". Так FS2002 поддерживает форматы времён FS98, CFS1, FS2000 и CFS2.



RAW (сырой)

Это - оригинальный формат FS. Также н имеет название "R8". Он представляет собой изображение 256x256 пикселей в цветовой палитре 256 цветов. RAW использовался в первой вседоступной программе по созданию самолётов "Aircraft Factory" (AF99) и чаще всего встречается в старых разработках.AF99 использует странную систему, посредством чего все текстуры для конкретного ВС имеют то же имя, но другое расширение. Так вы можете увидеть файлы типа: spit9.0AF, spit9.1AF, spit9.2AF и так далее. Существует также сжатая версия RAW. Этот формат использует свободный от потерь алгоритм сжатия, его конечный файловый размер полностью зависит от сложности образа. Простые изображения могут уменьшиться до небольшого размера, тогда как сложные - после сжатия стать больше по размеру.


Расширенный BMP 8 bit
Впервые введён в CFS1. Представляет собой тонкое изменение в стандартного 256 цветного формата BMP для WINDOWS. Конечно, стандартный формат BMP для Windows поддерживается, но они будет отображен без дополнительных опций, предусмотренных расширенным форматом. Изображение больше не ограничивалось размером 256x256. Ширина и высота текстуры могли быть 16x16, 32x32, 64x64, 128x128, 512x512, 1024x1024.CFS1 допускал только квадратные текстуры и максимальный размер 256x256, но уже в FS2000 размеры могли быть большими, вплоть до 1024, и иметь разную ширину и высоту. Есть два основных различия между расширенным BMP и стандартным форматом для Windows:1. Расширенные текстуры BMP включают данные Mip - так называемые под-образы в уменьшенном размере, применяемые для отображения объекта, когда он слишком далеко чтобы использовать текстуру полного размера.2. Палитра расширенных текстур BMP может определять изменение уровней прозрачности для каждого индивидуального цвета.
Стоит отметить, что у FS2004 не полная поддержка этого формата (проблема с прозрачностью). Чтобы отображение текстуры было более правильным, её необходимо преобразовать в один из форматов альфа. Речь об этих форматах пойдёт далее.


Расширенный BMP 16 bit
Впервые представлен в FS2000. Этот формат позволяет использовать глубину цвета больше чем 8 битов. Вместо 256 цветов, теперь появилась возможность использовать полный диапазон. Это так называемый "HiColor" (65536 цветов). Существует несколько изменённых 16 битовых форматов. Каждый используется в определённых случаях:

565 - Для общего использования, где не требуется альфа канал.

555-1 - Для использования, когда требуется простой альфа канал.

444-4 - Для использования, когда требуются несколько уровней альфа.

Назначая биты, альфа уменьшает количество битов использованных цветными данными, тогда как 565 допускает полные 65536 цветов, 555-1 будет использовать 32768 цветов, а 444-4 использует только 4096.


Расширенный BMP 32 bit
Также представлен в FS2000. Появление этого формата теоретически допускает использование 16 миллионов цветов, предусмотренных 24 битами RGB вместе с 8 битовыми каналами альфы. Фактически должно казаться, что только 4 бита альфа канала действительно использованы, когда текстура отображена. Основной недостаток этого формата является размер файлов (1024x1024 пикселей). Если бы не этот недостаток, этот формат можно было бы считать идеальным, но расширенная текстура на 32 битах будет свыше 5 мегабайтов.


DXT1

Расширил BMP, введённый CFS2. DXT1 является переходом к более эффективным форматам текстуры. Этот формат представляет собой комбинацию DirectX DXT, сжавшую данные и файловый формат BMP.DXT ("умное сжатие"), который позволяет использовать 16 битовые цвета при использовании только 4 битов для описывания одного пикселя. Эффективность этого формата заключается в небольшом размере файла и в том, что видеокарты поддерживающие DIRECT X могут кэшировать в графической памяти больше текстур.


DXT3
Также введён CFS2, является изменённым форматом DXT1.


Альфа канал
На техническом уровне данные Образа обычно загружены как массив, состоящий из красной, зеленой и синей величины для каждой точки в образе. Этот стандарт цвета называется "RGB". Любой образ RGB может быть продуманным как перекрывающий красного, зеленого и синий каналов. Дополнительно к этим файлам образа может быть добавлен четвертый компонент. Этот канал назван "альфа канал". Он придуман как свободный канал, который может быть использован для хранения дополнительных данных об образе помимо тех же данных RGB. Чаще всего "альфа" используется для загрузки данных прозрачности, но может использоваться для хранения другой информации, как например яркость, отражение, или любые другие второстепенные данные.
До FS2002, буквенный канал описывался как часть данных текстуры, сообщая "Симу" количество прозрачности для каждого пикселя в образе. FS создаёт цвет, объединяя, красные, зеленые и синие величины и затем использует величину "альфы", чтобы решать насколько прозрачным цвет должен быть. Это главным образом использовалось для окон: устанавливая необходимый буквенный уровень, FS даёт нам возможность видеть, к примеру, из окна кабины.
Начиная с FS 2002 предусматривается новое использование для "альфа канала". Теперь "альфа" может регулировать величину отражения.
Одна и та же текстура может иметь разные свойства, в зависимости от того как она приложена к модели. Если текстура приложена как обычный материал, тогда "альфа" будет использован как величина прозрачности, если текстура приложена как отражающий материал, тогда "альфа" будет использован как величина для отражения. Это даёт возможность для разработчика прилагать ту же текстуру как два совершенно разных материала и получать "альфу", использованную для прозрачности на одних местах и отражении в других. Если оригинальный разработчик не использовал отражающие материалы при создании свой модели, то ваша новый "альфа канал" создаст новые величины прозрачности.
Всё возрастающая популярность Gmax и FSDS 2 означает то, что всё большее количество разработчиков будет включать отражение в свои модели, но все старые модели, созданные в FSDS 1 или AF99 не смогут поддерживать отражение.
До тех пор, пока для отражающих текстур использованы форматы, имеющие 1 бит (вкл/выкл) "альфа", результаты не будут столь реалистичными как хотелось бы, т.к. 1 бит допускает только 0% или 100% отражения, а для реалистичных отражений необходимы средние величины.


Размер текстуры 256x256 пикселей в различных форматах:

RAW (8 бит)-----------------64k
Стандартный BMP (8 бит)--------65k
Расширенный BMP (16 бит)------87k
Расширенный BMP (32 бита)----170k
DXT1--------------------------------43k
DXT3--------------------------------86k

#2 Airman

Airman

    Модератор снов

  • Members
  • PipPipPipPipPipPip
  • 4517 сообщений
    Reputation: 18

Отправлено 19 March 2004 - 08:30

Спасибо. Я бы только добавил что DXT форматы (DX1,DX3,DX5) отличаются битностью Алфа канала

#3 ppga

ppga

    Профи

  • Members
  • PipPipPipPipPip
  • 796 сообщений
    Reputation: 108

Отправлено 20 March 2004 - 14:28

Предлагаю закрепить топик, что б не потерялся.

#4 Ziron

Ziron

    Гуру

  • Developers
  • PipPipPipPipPipPip
  • 1562 сообщений
    Reputation: 288

Отправлено 21 March 2004 - 08:24

Я хочу сделать по-другому. Скоро закончу статью про форматы в CFS3, объединю всё в одну статью и выложу в категории "статьи". Вообще, хотелось бы узнать, стоит этим заниматься (имею ввиду писать статьи подобного рода) или все и так всё знают без меня?

#5 Airman

Airman

    Модератор снов

  • Members
  • PipPipPipPipPipPip
  • 4517 сообщений
    Reputation: 18

Отправлено 21 March 2004 - 20:18

Конечно стОит.

#6 vgluck

vgluck

    Смышленый

  • Members
  • PipPip
  • 53 сообщений
    Reputation: 0

Отправлено 22 March 2004 - 10:47

Еще бы туториал по созданию своих текстур с примерами (здания и т.д.)

#7 Havy

Havy

    Продвинутый

  • Members
  • PipPipPipPip
  • 309 сообщений
    Reputation: -1

Отправлено 30 March 2004 - 21:39

Сделать конечно нужно и туториал тоже хорошобы сделать.