Skip to content

turner/helloMacOSOpenEXR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

helloMacOSOpenEXR

  • Converts OpenEXR latitude-longitude environment maps into cube-face environment maps or vice versa.
  • Reads an environment map image from infile, converts it, and stores the result in outfile.

usage: helloEnvironmentMap [options] infile outfile

Cubic Format

If the input file name contains a % then an input cube-face environment map is assembled from six square sub-images that represent the six faces of the cube. The names of the six image files are generated by replacing the % with +X, -X, +Y, -Y, +Z, and -Z respectively.

If the output file name contains a % and helloMacOSOpenEXR has been instructed to produce a cube-face environment map, then the output image is split into six square sub-images that are saved in six separate output files. The names of the files are generated by replacing the % with +X, -X, +Y, -Y, +Z, and -Z respectively.

Option Description
-o produces a ONE_LEVEL output file (default)
-m produces a MIPMAP_LEVELS output file (-m has no effect if the output image is split into multiple files)
-c the output file will be a cube-face environment map (default)
-l the output file will be a latitude-longitude environment map
-ci the input file is interpreted as a cube-face environment map, regardless of its envmap attribute
-li the input file is interpreted as a latitude-longitude environment map, regardless of its envmap attribute (-li has no effect if the input image is assembled from multiple files)
-w x sets the width of the output image to x pixels (default is 256). The height of the output image will be x*6 pixels for a cube-face map, or x/2 pixels for a latitude-longitude map.
-f r n sets the antialiasing filter radius to r (default is 1.0) and the sampling rate to n by n (default is 5 by 5). Increasing r makes the output image blurrier; decreasing r makes the image sharper but may cause aliasing. Increasing n improves antialiasing, but generating the output image takes longer.
-b blurs the environment map image by applying a 180-degree-wide filter kernel such that point-sampling the blurred image at a location that corresponds to 3D direction N returns the color that a white diffuse reflector with surface normal N would have if it was illuminated using the original non-blurred image. Generating the blurred image can be fairly slow.
-t x y sets the output file's tile size to x by y pixels (default is 64 by 64)
-p t b if the input image is a latitude-longitude map, pad the image at the top and bottom with th and bh extra scan lines, where h is the height of the input image. This is useful for images from 360-degree panoramic scans that cover less than 180 degrees vertically.
-d sets level size rounding to ROUND_DOWN (default)
-u sets level size rounding to ROUND_UP
-z x sets the data compression method to x (none/rle/zip/piz/pxr24/b44/b44a/dwaa/dwab, default is zip)
-v verbose mode
-h prints this message

Convert lat-lon to six (6) cubic images

helloEnvironmentMap -li -c -w width in-equilateral.exr out-cubic%.exr width is lat-long width/4

About

Hey, let's play with macOSOpenEXRLibrary.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published