#EnvMapTool - Cross-platform tool for working with environmental maps.
Performs a set of different actions:
- Converts cube map to sphere map
- Converts sphere map to cube map
- Blurs cubmap
- Assembles cubemaps from a set of images
- Disassembles cubemap to a set of images
Supported formats fow read/write:
- DDS. Not compressed.
- TARGA
- PNG
#Usage: Input and output files can be specified in two ways:
- As single file. Use keys -i / -o
- As six files that represent x+, x-, y+, y-, z+, z- faces, use keys -I / -O
Specify output format with key -f. It can be: TGA, PNG, DDS. For example -f PNG. Default is TGA.
Specify desired action:
cube2sphere- converts cube map to sphere mapsphere2cube- converts sphere map to cube mapblurCubemap- blurs cubemap using Monte Carlo method. Accurate but slow approach.fastBlurCubemap- blurs cubemap using Monte Carlo method. Inaccurate but fast approach.convert- this action does nothing. Should be used to convert cubemap from one format to other.
If you specifed a single file for output, that does not support multiple faces (not DDS format), than omly one face will be written. This face can be specified by flag -F
You may specify gamma for input texture -g, and gamma for output texture -G. Default is 2.2
You may specify size of output texture using keys -W and -H.
For actions blurCubemap and fastBlurCubemap you may set bluring radius by use of key -b
For action blurCubemap blur quality can be specified by key -q. Effects the number of samples in Monte Carlo integration. Reasonable values are between 4 - 10. Large values will increase calculation time dramatically. Default is 4
##Converting DDS to a series of png files: Let we have cubemap in DDS format: uffizi_cros.dds To convert it to six *.png files that represent x+, x-, y+, y-, z+, z- faces you need to execite following command:
EnvMapTool -i uffizi_cros.dds -O 1.png -O 2.png -O 3.png -O 4.png -O 5.png -O 6.png -f PNG convert The output will be:
##Converting DDS cubemap to sphere map Lets convert uffizi_cros.dds to sphere map and specify size of sphere map of 765x765:
EnvMapTool -i uffizi_cros.dds -o sphere.png -W 765 -H 765 -f PNG cube2sphere ##Converting sphere map to cubemap Lets convert generated in previous example sphere map to a series of png texture of size 256x256:
EnvMapTool -i sphere.png -O xp_.png -O xm_.png -O yp_.png -O ym_.png -O zp_.png -O zm_.png -W 256 -H 256 -f PNG sphere2cube ##Bluring cubemap using Monte-Carlo approach and converting it to spheremap:
EnvMapTool -i uffizi_cros.dds -O 1.png -O 2.png -O 3.png -O 4.png -O 5.png -O 6.png -W 256 -H 256 -f PNG blurCubemap -b 60 -q 10 EnvMapTool -I 1.png -I 2.png -I 3.png -I 4.png -I 5.png -I 6.png -o bluredSphere.png -W 765 -H 765 -f PNG cube2sphere ##The same as above, but using fast blur:
EnvMapTool -i uffizi_cros.dds -O 1.png -O 2.png -O 3.png -O 4.png -O 5.png -O 6.png -f PNG fastBlurCubemap -b 30 EnvMapTool -I 1.png -I 2.png -I 3.png -I 4.png -I 5.png -I 6.png -o fastBluredSphere.png -W 765 -H 765 -f PNG cube2sphere ##Detailed usage:
USAGE: ./EnvMapTool {-o <Output file>|-O <Output files> ... } {-i <Input file> |-I <Input files> ... } [-f <Output format>] [-F <Face to write>] [-q <Blur quality>] [-b <Blur radius>] [-l] [-g <Input gamma>] [-G <Output gamma>] [-H <Output texture height>] [-W <Output texture width>] [--version] [-h] <cube2sphere|sphere2cube|blurCubemap|fastBlurCubemap |convert> Where: -o <Output file>, --output <Output file> (OR required) The output texture file. -- OR -- -O <Output files>, --outputSequence <Output files> (accepted multiple times) (OR required) The output texture files for cube map. You need specify six files: xp, xn yp, yn, zp, zn -i <Input file>, --input <Input file> (OR required) The input texture file. Can be of the following formats: *.tga, *.png, *.dds -- OR -- -I <Input files>, --inputSequence <Input files> (accepted multiple times) (OR required) The input texture files for cube map. You need specify six files: xp, xn yp, yn, zp, zn. WARNING! All the files MUST be the same format and size! -f <Output format>, --format <Output format> Output texture file format. Can be one of the following "TGA", "DDS", "PNG". Default TGA. -F <Face to write>, --faceToWrite <Face to write> If cubemap texture is written to format that does not support faces, this face will be written -q <Blur quality>, --blurQuality <Blur quality> Effects the number of samples in Monte Carlo integration. Reasonable values are between 4 - 8. Large values will increase calculation time dramatically. Default is 4 -b <Blur radius>, --blurRadius <Blur radius> Gaussian blur radius. Default is 10.0 -l, --leaveOuter If flag is set, than while cubemap -> sphere transform area around the sphere circule are not filled black, but represent mathematical extrapolation. -g <Input gamma>, --inputGamma <Input gamma> Gamma of input texture. Default is 2.2 -G <Output gamma>, --outputGamma <Output gamma> Gamma of output texture. Default is 2.2 -H <Output texture height>, --outputHeight <Output texture height> Height of output texture. Default is the same as input, or 4 times upscaled in case of cube2sphere transform, or 4 times downscaled in case of sphere2cube transform -W <Output texture width>, --outputWidth <Output texture width> Width of output texture. Default is the same as input, or 4 times upscaled in case of cube2sphere transform, or 4 times downscaled in case of sphere2cube transform --version Displays version information and exits. -h, --help Displays usage information and exits. <cube2sphere|sphere2cube|blurCubemap|fastBlurCubemap|convert> (required) Action. Can be: cube2sphere - Converts cube map texture to spherical map sphere2cube - Converts spherical map texture to cube map blurCubemap - Gaussian blur of cubemap convert - Do nothing. Just to convert txture from one format to other 













