maketx(1)
π maketx β the glow-up that turns your images into tiled, MIP-mapped textures π
okay so bestie, you've found maketx(1), and it's from the OpenImageIO squad π
if you've ever needed a plain old picture to become a texture with mipmaps and tiles and all the backstage magic, this is your girl. no cap.
β¨ NAME β¨
maketx β convert images to tiled, MIP-mapped textures π¦
πΈ SYNOPSIS πΈ
Usage: maketx [options] file...
like, you feed it files, you give it options, it gives you textures. iconic.
π DESCRIPTION π
so this program is part of the OpenImageIO tool suite β their whole vibe lives at http://www.openimageio.org π and if you want the detailed documentation, it ships as a pdf with the OpenImageIO distribution. go read it, i believe in you π«Ά
π OPTIONS π
the whole menu, item by item, no skipping, we don't do that here:
--helpβ print the help message π--versionβ print the version and dip out βοΈ-vβ verbose status messages, so you can watch it cook π₯-o FILENAMEβ the output filename π--threads NUMTHREADSβ how many threads to throw at it (default:#cores) π-uβ update mode--format FILEFORMATβ specify the output file format (default: guess it from the extension, she's intuitive like that)--nchannels Nβ specify the number of output image channels--chnames CHANNELNAMESβ rename channels, comma-separated, no spaces pls-d TYPEβ set the output data format to one of:uint8,sint8,uint16,sint16,half,float--tile WIDTH HEIGHTβ specify the tile size--separateβ use planarconfig separate (default is contiguous)--compression NAMEβ set the compression method (default =zip, if possible)--fovcot FOVCATβ override the frame aspect ratio. default iswidth/height--wrap WRAPβ specify the wrap mode:black,clamp,periodic,mirror--swrap WRAPβ set theswrap mode all by itself, main character energy--twrap WRAPβ set thetwrap mode all by itself, also main character energy--resizeβ resize textures to power of 2 (default: no)--keepaspectβ keep the texture aspect ratio when resizing to power of 2 π¦--filter FILTERNAMEβ pick the filter for resizing. choices:boxtrianglegaussiansharp-gaussiancatmull-romblackman-harrissinclanczos3radial-lanczos3nuke-lanczos6mitchellbsplinediskcubickeyssimonrifman, default =box--hicompβ compress the HDR range before resize, then expand it after--sharpen SHARPENβ sharpen the MIP levels (default =0.0= no)--nomipmapβ do not make multiple MIP-map levels--checknanβ check for NaN/Inf values and abort if found π--fixnan STRATEGYβ try to fix NaN/Inf values in the image (options:none,black,box3)--fullpixelsβ set the'full'image range to be the pixel data window. (and yes, in the original page this entry is smooshed together with the matrix stuff below β same bullet, no divider, we love a chaotic layout β¨)--Mcamera %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %fβ set the camera matrix--Mscreen %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %fβ set the screen matrix--MNDC %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %fβ set the NDC matrix
--prman-metadataβ add prman specific metadata--attrib NAME VALUEβ sets a metadata attribute (name, value)--sattrib NAME VALUEβ sets a string metadata attribute (name, value)--sansattribβ write the command line intoSoftware&ImageHistory, but remove the--sattriband--attriboptions from it--historyβ write the full command line into theExif:ImageHistory,Softwaremetadata attributes--no-historyβ do not write the full command line intoExif:ImageHistory,Softwaremetadata attributes--constant-color-detectβ create 1-tile textures from constant color inputs π--monochrome-detectβ create 1-channel textures from monochrome inputs--opaque-detectβ drop the alpha channel if it's always1.0--no-compute-averageβ don't compute and store the average color--ignore-unassocβ ignore unassociated alpha tags in the input (don't autoconvert)--runstatsβ print runtime statistics--mipimage FILENAMEβ specify an individual MIP level--cdfβ store the forward and inverse Gaussian CDF as a lookup-table. the variance is set bycdfsigma(1/6by default), and the number of buckets in the lookup table is determined bycdfbits(8bit -256buckets by default)--cdfsigma Nβ specify the Gaussian sigma parameter when writing the forward and inverse Gaussian CDF data. the default vale is1/6(0.1667) β yes, the original page literally says "vale", we are preserving the lore π--cdfbits Nβ specify the number of bits used to store the forward and inverse Gaussian CDF. the default value is8bits
π§ Basic modes (default is plain texture) π§
these are the moods, bestie. pick one:
--shadowβ create shadow map--envlatlβ create lat/long environment map--lightprobeβ create lat/long environment map from a light probe--bumpslopesβ create a 6 channels bump-map with height, derivatives and square derivatives from an height or a normal map--uvslopes_scale VALUEβ if specified, compute derivatives for--bumpslopesin UV space rather than in texel space and divide them by a scale factor.0= disable by default, only valid for height maps.--bumpformat NAMEβ specify the interpretation of a 3-channel input image for--bumpslopes:"height","normal"or"auto"(default).--bumpscale Nβ set the scale factor for the bump-slope map. the default is1.0--bumpinvertsβ invert the bump-slope map in thes(u) direction.--bumpinverttβ invert the bump-slope map in thet(v) direction.--slopefilter FILTERβ specify the filter used to calculate the slope of a height map:"sobel"(default),"centraldiff"(matches txmake behavior).--bumprange RANGEβ specify the expected range of values for the input normal map:"centered"from[-1,1],"positive"from[0,1](traditional blue-ish normal map),"auto"will select this based off of the presence of negative values.--handed STRINGβ specify the handedness of a vector or normal map:"left","right", or""(default).
π Color Management Options (OpenColorIO enabled) π
only relevant if OCIO is switched on, iykyk:
--colorconfig FILENAMEβ explicitly specify an OCIO configuration file--colorconvert IN OUTβ apply a color space conversion to the image. if the output color space is not the same bit depth as the input color space, it is your responsibility to set the data format to the proper bit depth using the-doption π«‘ (choices:sRGB - Display,Display P3 - Display,Rec.1886 Rec.709 - Display,Rec.2100-PQ - Display,ST2084-P3-D65 - Display,P3-D65 - Display,ACES2065-1,ACEScc,ACEScct,ACEScg,sRGB Encoded Rec.709 (sRGB),Gamma 1.8 Encoded Rec.709,Gamma 2.2 Encoded Rec.709,Gamma 2.4 Encoded Rec.709,sRGB Encoded P3-D65,Gamma 2.2 Encoded AdobeRGB,sRGB Encoded AP1,Gamma 2.2 Encoded AP1,Linear Rec.709 (sRGB),Linear P3-D65,Linear AdobeRGB,Linear Rec.2020,Raw)--unpremultβ unpremultiply before the color conversion, then premultiply after it. you'll probably want this flag if your image contains an alpha channel π
π Configuration Presets π
the "just trust me" buttons:
--prmanβ use PRMan-safe settings for tile size, planarconfig, and metadata.--oiioβ use OIIO-optimized settings for tile size, planarconfig, metadata.
β little reminder:--checknanwill literally abort if it finds NaN/Inf, and--resize,--nomipmap,--sharpen,--compression,--filter,--format,--threadsand--fovcotall have the defaults listed above. don't come for me, come for the manpage. π
and that's the whole page, bestie π«Ά this was maketx(1) from OpenImageIO, dated 05 October 2026 β slay, stay tiled, and may all your mipmaps be power-of-two β¨ππ
π¦ where this page comes from
- fedora 44: OpenImageIO-utils 1:3.1.18.1-1.fc44 Β· BSD-3-Clause AND MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms