*.dm
About
Effect of a dynamic weather environment (e.g., rain or lightning)
Technical information
It works like this: UV descends down the Y coordinates to the texture

Format limitations
- Must have one material
- Does not support smoothing
- Stores only one mesh
- Mesh can have only one UV map
- Number of vertices in mesh must be no more than 65,536
General structure
| Data |
|---|
| shader name |
| texture name |
| flags |
| minimum size |
| maximum size |
| number of vertices |
| number of indexes |
| vertices |
| indexes |
Structure description
Shader name
| Data | Type | Description | Example |
|---|---|---|---|
| shader name | s | The line that specifies the name of the shader from the shaders.xr file | effects\lightning0x00 |
Texture name
| Data | Type | Description | Example |
|---|---|---|---|
| texture name | s | A string that specifies the path and the name of the texture | fx\fx_rainsplash10x00 |
Flags
| Data | Type | Description | Example |
|---|---|---|---|
| flags | I | These are options. Used in the file level.details | If 0x0, the vegetation swings in the wind (bushes), and if 0x1, it is stationary (leaves) |
Minimum size
| Data | Type | Description | Example |
|---|---|---|---|
| minimum size | f | The minimum size of the model. These values are used in the level.details files | - |
Maximum size
| Data | Type | Description | Example |
|---|---|---|---|
| maximum size | f | Maximum model size. These values are used in the level.details files | - |
Number of vertices
| Data | Type | Description | Example |
|---|---|---|---|
| number of vertices | I | Number of vertices in a mesh | - |
Number of indexes
| Data | Type | Description | Example |
|---|---|---|---|
| number of indexes | I | Number of indexes by which triangles are built | - |
Vertices
The vertices are stored sequentially.
The structure of a single vertex:
| Data | Type |
|---|---|
| 3D coordinate x | f |
| 3D coordinate y | f |
| 3D coordinate z | f |
| texture coordinate u | f |
| texture coordinate v | f |
Restrictions are imposed on the vertices:
- one vertex may have only one texture coordinate. When saving the model in *.dm, a vertex that has two (or more) texture coordinates is converted into two (or more) vertices.
- Their number should not be more than 65536, because their triangle indices are stored in 2 bytes.
Indexes
The indices of the vertices by which triangles are formed.
The indexes are stored sequentially.
The index structure:
| Data | Type |
|---|---|
| vertex index | H |
Programs
Blender X-Ray Addon
Blender X-Ray is an addon for the Blender that is designed to import/export 3D models and animations from S.T.A.L.K.E.R. (X-Ray Engine).
IX-Ray SDK
SDK or Software Development Kit helped the developers of the original trilogy and the modders to develop the game itself.
X-Ray Export Tool (Object Tool)
Tool for fast editing and exporting raw S.T.A.L.K.E.R. formats.
Ogf Editor by ValeroK
Tool for working with *.ogf and *.dm format.