Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • During interactive renders, the texture manager will add new textures to the queue and return a temporary texture until the conversion is done. Once done, it will send an update to the renderer and your texture will appear.
  • When you start a Batch or a Preview render, you need all your textures to be converted first.

Anchor
txmakeconfig
txmakeconfig
Txmake Configuration

The texture manager uses a set of rules to choose optimal txmake parameters based on:

  • The type of node using the texture: pattern, light, lightfilter or imageplane.
  • A set of base parameters for that type of node
  • one or more rules to modify the base parameters when considering the file's name, the bit depth, etc.

These settings are defined in a $RMANTREE/etc/txmanager_rules.json.

Info

The default rules are build for efficiency and you shouldn't have to modify them unless you have specific pipeline requirements

JSON structure

Here is a very basic example. See  $RMANTREE/etc/txmanager_rules.json for the real rules.

Code Block
languagejs
themeFadeToGrey
{
    "pattern": {
        "args": {
            "texture_type": "regular",
            "smode": "periodic",
            "tmode": "periodic",
            "texture_format": "pixar",
            "texture_filter": "catmull-rom",
            "resize": "up-",
            "data_type": null,
            "compression": "lossless",
            "compression_level": null
        },
        "rules": {
            "'_i8t' in '%(img_name)s'": {
                "args": {
                    "texture_format": "tiff",
                    "data_type": "byte"
                }
            }
		}
	}
}

Category

In the example above, the category is pattern , but there are other pre-defined categories: light , lightfilter and  imageplane.

args

This section is a dictionary representing default txmake parameter values for the current category. The key names ( texture_type, smode, tmode , etc) are coming from the TxParams class of the txmanager python module.

rules

Here we define a set of rules that will all be executed in the file's order. The key string should evaluate as a python expression and return True once substituted.

There are a number of available substitution tokens:

tokencontents
node_typethe node type (PxrDiskLight, PxrTexture, etc).
img_atlasTrue if the texture is a UDIM or Mudbox texture set.
img_namethe image name, without its file extension.
img_extthe image's file extension, with its leading dot.
img_typethe image's data type: int or float
img_depththe image's bit depth: 8, 16, 32

In the example above, the rule:

Code Block
languagejs
themeFadeToGrey
"'_i8t' in '%(img_name)s'": {
	"args": {
		"texture_format": "tiff",
		"data_type": "byte"
	}
}

... matches "_i8t" in the image name, which is here interpreted as shorthand for "8 bits integer tiff format" and sets the texture format to "tiff" and the image to "byte" (8 bits integer, see txmake documentation). For example, a file named "roof_top_diffColor_i8t_v06.png" would match that rule.

Of course, you can create more sophisticated tests by using the and and or keywords.

Code Block
languagejs
themeFadeToGrey
"'%(img_type)s' == 'float' and %(img_depth)d > 16"

The standard rules tend to rely on the node_type, img_type and  img_depth to pick the best file format and compression algorithm.