FIMG is a float image file format.
File suffix: .fimg
2022-05-01
Version 2.0 is a specification work in progress…
This version of fimg will probably not be ready and see the day of light as it takes a big step from keeping things as simple as v1.0.
Simplicity was more or less the main reason for the fimg file format. If you want complicated stuff then there are probably other file formats out there to make it complicated for you….
Simple enough:
| Name | Data format | Description |
|---|---|---|
Magic number |
4 byte (32 bit in total) |
The ASCII sequence |
Major version |
1 unsigned byte (8bit) |
Current version value |
Minor version |
1 unsigned byte (8bit) |
Current version value |
Image width |
32bit big endian unsigned integer |
in pixels |
Image height |
32bit big endian unsigned integer |
in pixels |
Amount color channels |
1 byte |
Usually |
Channel data stream configuration |
1 byte |
|
Amount color channels). The order of the channel headers is important.
Name |
Data format |
Description |
Channel name |
8 byte (64 bit in total) |
Channel name or code in ASCII. |
Value factor |
32bit big endian float |
Value to multiply to the every channel value read. If not applicable or used it is set to |
Value offset |
32bit big endian float |
Value to add to the every channel value read (after factor multiplication). If not applicable or used it is set to |
Lowest value |
32bit big endian float |
The lowest value in the channel. |
Highest value |
32bit big endian float |
The highest value in the channel. |
Lowest possible value |
32bit big endian float |
The lowest possible value in the channel. Should be equal or less than |
Highest possible value |
32bit big endian float |
The highest possible value in the channel. Should be equal or higher than |
Channel data offset |
32bit big endian unsigned integer |
The byte offset of the actual channel data after the end of Image header data (see above). |
| Data format | Value |
|---|---|
32bit big endian float |
R value of RGB. Value range from 0.0 and up (no limit). |
32bit big endian float |
G value of RGB. Value range from 0.0 and up (no limit). |
32bit big endian float |
B value of RGB. Value range from 0.0 and up (no limit). |