...
- The type of node using the texture:
pattern
,light
,lightfilter
orimageplane
. - 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 Custom settings are defined in a $RMANTREE/etc/txmanager_rules.json
.can be defined by the ocio configuration.
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 | ||||
---|---|---|---|---|
| ||||
{
"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:
...
In the example above, the rule:
Code Block | ||||
---|---|---|---|---|
| ||||
"'_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 | ||||
---|---|---|---|---|
| ||||
"'%(img_type)s' == 'float' and %(img_depth)d > 16" |
...