---
title: "PxrTileManifold"
canonical: "https://rmanwiki-26.pixar.com/space/REN26/19661717/PxrTileManifold"
format: markdown
---
![dragon_on_wooden_floor.png](media://7e5b0d9b-c393-406f-aa2e-b2feca2d1c76)

PxrTileManifold will compute st mapping coordinates to create textured tiles over a 2D surface. This manifold is able to introduce randomness to hide repeating patterns, if need be.

In the example above, the wooden floor was created by plugging a PxrTileManifold in a [PxrMultiTexture](https://renderman.atlassian.net/wiki/spaces/REN26/pages/19661659) to assemble multiple textures into a tiled wooden floor. [PxrMultiTexture](https://renderman.atlassian.net/wiki/spaces/REN26/pages/19661659) used 10 different wood plank textures that were randomly picked and graded.

See below for the shading graph and the source textures.

![image](media://bc35298e-6375-4595-9f05-8a47ec48bc4b)

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
| ![plank_00.png](media://78a84fd9-3e1b-4406-8519-ec7f1054b91f) | ![plank_01.png](media://c38f56b5-b3eb-43d6-a110-ec00910ce144) | ![plank_02.png](media://3538e862-6c32-4a9d-a37c-9b0ae94988e8) | ![plank_04.png](media://94d09758-1053-45bd-b356-ef93dbcf6359) | ![plank_05.png](media://71a5e83a-03b7-4e5d-a017-aee2a2d9be35) |
| ![plank_06.png](media://9d472eb3-d4ac-4ea3-b8f0-00f8abca3d73) | ![plank_07.png](media://b0d8eb6b-484c-4eed-97fc-2cdc46c55afa) | ![plank_08.png](media://bb1cb617-ab8b-4c0e-b8ac-90ca5e257a63) | ![plank_09.png](media://377e98dc-aafb-4efb-979d-d3c3641a562a) | ![plank_03.png](media://2ec4fee7-befa-4144-b224-e3a2e21e58da) |

> ❌ PxrTileManifold can only be used with [PxrMultiTexture](https://renderman.atlassian.net/wiki/spaces/REN26/pages/19661659).

## Input Parameters

#### Number of Textures

The number of textures you want to use. You should have at least one texture and [PxrMultiTexture](https://renderman.atlassian.net/wiki/spaces/REN26/pages/19661659) supports up to 10 textures.

This value will be passed to connected [PxrMultiTexture](https://renderman.atlassian.net/wiki/spaces/REN26/pages/19661659) nodes, so you may control the number of variations from a single location.

#### Texture Order

The textures can be assigned in different ways. They can either be enumerated in the order in which they appear in the [PxrMultiTexture](https://renderman.atlassian.net/wiki/spaces/REN26/pages/19661659) node or be randomly selected.

| **Value** | **Mode** |
| --- | --- |
| 0 | Ordered |
| 1 | Random |

  


### <u>Pattern Settings</u>

#### Grid offset

The textures are organised in a regular grid arrangement with an optional offset. This is useful for brick or wooden floor patterns, for examples.

|  |  |  |
| --- | --- | --- |
| ![PxrTileManifold_gridOffset_0_0.png](media://4a3f6ec3-dbdd-4cab-b284-f4530e8e11a8) | ![PxrTileManifold_gridOffset_0_25.png](media://44eeb673-bd03-4550-a863-e7af254411f4) | ![PxrTileManifold_gridOffset_0_5.png](media://b55cbcdc-43b8-4264-a8b1-84be93c95687) |

#### Grout Width

The grout is the space between the tiles. When set to 0.0, there is no space between the tiles. The maximum value is 1.0, where the tiles disappear.

|  |  |  |  |
| --- | --- | --- | --- |
| ![PxrTileManifold_groutWidth_0_00.png](media://fbb55f0a-71da-4fdb-88cc-65614396ed64) | ![PxrTileManifold_groutWidth_0_05.png](media://e9c0e575-8bb4-44ca-bcc7-985bd0a7fc43) | ![PxrTileManifold_groutWidth_0_10.png](media://a725ddc3-b96b-447f-9b00-d43aeae44678) | ![PxrTileManifold_groutWidth_0_20.png](media://6ab6c9e1-a796-47e3-9e27-97a57db87b41) |

#### Tile Bevel Width

This parameter will control the width of the transition from the grout to the tile. This can be used to shape the tiles' displacement amplitude.

|  |  |  |
| --- | --- | --- |
| ![PxrTileManifold_tileBevelWidth_0_00.png](media://575df424-224a-499a-a3a1-17f960aa8111) | ![PxrTileManifold_tileBevelWidth_0_20.png](media://f36db314-2c62-40f5-9124-f6f7446edd32) | ![PxrTileManifold_tileBevelWidth_0_40.png](media://63849ec5-dad5-467c-810b-591b06844b35) |

#### Swap Tile ST

Sometime your textures are not oriented correctly and this control will rotate the tile's local st coordinates by swapping s and t.

### <u>Randomize</u>

#### Random Source

For each object to get a different variation, you need to select something unique about them to create a unique seed. You have a choice between the object's id and the object's name.  
These attributes are created by the software outputting the RIB and depending on your application (Maya, Katana, etc...), one may work better than the other.

| **Value** | **Source** | **Depends on** |
| --- | --- | --- |
| <sup>0</sup> | Object id | <sup>Attribute "identifier" "float id"</sup> |
| <sup>1</sup> | Object Name | <sup>Attribute "identifier" "string name"</sup> |

  


#### Extra Seed

If you want one of these patterns to compute a different variation, set the randomExtraSeed to a non-zero value. This parameter will only influence the randomization parameters (randomOrientation, randomFlipS, etc).


![PxrTileManifold_randomExtraSeed_0.gif](media://f2bd3b72-f626-453c-a0e1-319b91f99114)


#### Random Orientation

Randomize the orientation of the textures by randomly swapping s and t.


![PxrTileManifold_randomOrientation.gif](media://5f03bdb5-45c3-4a29-a3c8-cba0bcfcdda6)


#### Random S Flip

Randomly flip the direction of s.


![PxrTileManifold_randomFlip.gif](media://5af41451-7a40-4795-ae20-6e5ff664c270)


#### Random T Flip

Randomly flip the direction of t.


![PxrTileManifold_randomFlipT.gif](media://0327ff65-4988-4282-8bcf-20a85ed0cf58)


#### Random S Offset

Randomly offset s. You should probably avoid this if your textures are not tiling seamlessly.


![PxrTileManifold_randomoffsetS.gif](media://d30e692d-88a9-4d7e-ac0b-903738ca64c6)


#### Random T Offset

Randomly offset t. You should probably avoid this if your textures are not tiling seamlessly.


![PxrTileManifold_randomoffsetT.gif](media://99229fee-5f30-4253-868d-497e890afceb)


### <u>Manifold 2D</u>

#### Angle

Global rotation angle around the origin of the st domain.



![PxrTileManifold_randomAngle.gif](media://feec3ee2-9a7c-4c67-8e24-4bbcad447f9e)


#### Global Scale

Scale the st domain while preserving the aspect ratio defined by scaleS and scaleT.


![PxrTileManifold_randomScale.gif](media://6997d74f-4602-47b8-b9d9-cc4745ddc9be)


#### Scale S

Frequency of the feature in S.


![PxrTileManifold_ScaleS.gif](media://69557164-cee6-4b7a-a8e8-d355fbc5168f)


#### Scale T

Frequency of the feature in T


![PxrTileManifold_ScaleT.gif](media://12bce535-1b24-4db2-885c-ac663621e7fa)


#### Offset S

Offset from origin in S.

#### Offset T

Offset from origin in T.

#### invert T

Invert the direction of T.

#### PrimVar S/ST

Name of custom 1D S or 2D ST primvar.

#### PrimVar T

Name of custom 1D T primvar.

  


## Output Parameters

#### Result

This is a regular 2D manifold output.

#### Result S

Outputs only the computed S value.

#### Result T

Outputs only the computed T value.

#### Result Multi

Outputs a multiManilfold, compatible with PxrMultiTexture. 

#### Result Mask

This is a color output containing the following data:

| **Channel** | **Description** |
| --- | --- |
| R | 1.0 if this is an odd tile in S, 0.0 otherwise |
| G | 1.0 if this is an odd tile in T, 0.0 otherwise |
| B | Grout mask |