Формат файлов *.dm — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Формат файлов *.dm — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
Строка 37: Строка 37:
 
!Данные||Размер||Тип
 
!Данные||Размер||Тип
 
|-
 
|-
|имя шейдера||( )||строка
+
|имя шейдера||длина строки + 1||строка
 
|}
 
|}
 
строка, которая в конце имеет нулевой байт (0x00). Этот байт является разделителем.
 
строка, которая в конце имеет нулевой байт (0x00). Этот байт является разделителем.
Строка 45: Строка 45:
 
!Данные||Размер||Тип
 
!Данные||Размер||Тип
 
|-
 
|-
|имя текстуры||( )||строка
+
|имя текстуры||длина строки + 1||строка
 
|}
 
|}
 
аналогично имени шейдера
 
аналогично имени шейдера
Строка 88: Строка 88:
 
!Данные||Размер||Тип
 
!Данные||Размер||Тип
 
|-
 
|-
|Вершины||20*количество вершин||( )
+
|вершины:|| ||  
 +
|-
 +
|...||...||...
 
|-
 
|-
 
|3д координата x||4||дробное
 
|3д координата x||4||дробное
Строка 107: Строка 109:
 
!Данные||Размер||Тип
 
!Данные||Размер||Тип
 
|-
 
|-
|индексы||2*количество индексов||( )
+
|индексы:|| ||  
 +
|-
 +
|...||...||...
 
|-
 
|-
 
|индекс вершины||2||целое
 
|индекс вершины||2||целое
Строка 114: Строка 118:
  
 
|}
 
|}
Индексы вершин по которым образуются треугольники.
+
Индексы вершин по которым образуются треугольники. Суммарный размер индексов равен 2*количество индексов.
  
 
==== Автор статьи: Pavel_Blend ====
 
==== Автор статьи: Pavel_Blend ====
 
==== Использованы материалы из xray_re-tools-src ====
 
==== Использованы материалы из xray_re-tools-src ====
 
[[Категория:Форматы файлов]]
 
[[Категория:Форматы файлов]]

Версия 12:07, 10 июля 2014

Описание

Файлы формата dm - это трёхмерные модели для эффектов погоды. К ним относятся капли дождя и вспышки молний. Находятся в meshes\dm\ Этот формат наиболее простой среди остальных форматов 3д моделей сталкера.


Структура файла

Данные
имя шейдера
имя текстуры
флаги
минимальный размер
максимальный размер
количество вершин
количество индексов
вершины
индексы

Описание структуры

В таблицах размер указан в байтах.

Данные Размер Тип
имя шейдера длина строки + 1 строка

строка, которая в конце имеет нулевой байт (0x00). Этот байт является разделителем. То есть говорит о том, что данная строка закончилась. Пример: effects\lightning0x00

Данные Размер Тип
имя текстуры длина строки + 1 строка

аналогично имени шейдера

Данные Размер Тип
флаги 4 ?

После шейдера и текстуры находятся четыре байта. Возможно это опции (флаги)

Данные Размер Тип
минимальный размер 4 дробное

минимальный размер модели. Например, для капель дождя.

Данные Размер Тип
максимальный размер 4 дробное

максимальный размер модели.

Данные Размер Тип
количество вершин 4 целое

количество вершин в меше

Данные Размер Тип
количество индексов 4 целое

количество индексов по которым строятся треугольники

Данные Размер Тип
вершины:
... ... ...
3д координата x 4 дробное
3д координата y 4 дробное
3д координата z 4 дробное
текстурная координата x 4 дробное
текстурная координата y 4 дробное
... ... ...

Одна вершина хранится в 20 байтах. Эта структура повторяется для всех вершин. Поэтому суммарный размер вершин = (20*количество вершин)

Данные Размер Тип
индексы:
... ... ...
индекс вершины 2 целое
... ... ...

Индексы вершин по которым образуются треугольники. Суммарный размер индексов равен 2*количество индексов.

Автор статьи: Pavel_Blend

Использованы материалы из xray_re-tools-src

Другие места
LANGUAGE