Що таке файл X?
Файл із розширенням .x стосується застарілого формату файлу 3D-графіки DirectX, який був представлений у Microsoft DirectX 2.0. Він використовувався для візуалізації 3D-графіки в іграх і визначає структури для сіток, текстур, анімації та об’єктів, визначених користувачем. Він не підтримується з 2014 року, оскільки формат файлу Autodesk FBX краще служить більш сучасним форматом. X керується шаблоном і не має жодних знань про використання.
Файли DirectX X можна відкривати за допомогою Microsoft DirectX і звичайних текстових редакторів.
Формат файлу X
Посилання на файл X містить довідкову інформацію для елементів API, які використовуються для працювати з файлами DirectX .x. Формат надає примітиви даних низького рівня, які використовуються іншими програмами для визначення примітивів вищого рівня за допомогою шаблонів даних. DirectX 6.0 представив інтерфейси та методи, які дозволяють читати та записувати файли .x. У DirectX 3.0 представлена двійкова версія цього формату файлу.
Довідка про формат файлу X, визначена DirectX 9, містить довідкову інформацію для .x файли у двійковому та текстовому кодуваннях.
Двійкове кодування
Двійковий формат визначає формат DirectX X як токенізоване представлення текстового формату. Ці лексеми можуть бути окремими, щоб надати граматичної структури, або можуть бути записаними лексемами, які надають необхідні дані.
Заголовок
Двійковий заголовок можна читати та записувати за допомогою наступних визначень.
#define XOFFILE_FORMAT_MAGIC \
((long)'x' + ((long)'o' << 8) + ((long)'f' << 16) + ((long)' ' << 24))
#define XOFFILE_FORMAT_VERSION \
((long)'0' + ((long)'3' << 8) + ((long)'0' << 16) + ((long)'2' << 24))
#define XOFFILE_FORMAT_BINARY \
((long)'b' + ((long)'i' << 8) + ((long)'n' << 16) + ((long)' ' << 24))
#define XOFFILE_FORMAT_TEXT \
((long)'t' + ((long)'x' << 8) + ((long)'t' << 16) + ((long)' ' << 24))
#define XOFFILE_FORMAT_COMPRESSED \
((long)'c' + ((long)'m' << 8) + ((long)'p' << 16) + ((long)' ' << 24))
#define XOFFILE_FORMAT_FLOAT_BITS_32 \
((long)'0' + ((long)'0' << 8) + ((long)'3' << 16) + ((long)'2' << 24))
#define XOFFILE_FORMAT_FLOAT_BITS_64 \
((long)'0' + ((long)'0' << 8) + ((long)'6' << 16) + ((long)'4' << 24))
Кодування тексту
Файли DirectX .x не залежать від способу використання файлу та не є специфічними для будь-якої програми. Цей підхід, керований шаблонами, дозволяє використовувати формат файлу .x будь-яким клієнтським додатком.
Заголовок
Заголовок змінної довжини є обов’язковим і має бути на початку потоку даних. Заголовок містить такі дані.
Тип | Підтип | Розмір | Зміст | Значення вмісту |
---|---|---|---|---|
Магічне число (обов’язково) | 4 байти | xof | ||
Номер версії (обов’язково) | Основний номер | 2 байти | 03 | Основна версія 3 |
Додатковий номер | 2 байти | 02 | Додаткова версія 2 | |
Тип формату (обов’язково) | 4 байти | “txt " | Текстовий файл | |
“смітник” | Бінарний файл | |||
“цип” | Стиснутий текстовий файл MSZip | |||
“bzip” | Стиснений бінарний файл MSZip | |||
Розмір поплавця (обов’язково) | 4 байти | 0064 | 64-розрядні плаваючі числа | |
0032 | 32-розрядні числа з плаваючою точкою |