This is an old revision of the document!
This node is based on the 3DS Max Random Bitmap OSL shader.
Developed by Zap Andersson, Copyright 2018 Autodesk Inc, All rights reserved. Licensed under Apache 2.0 license.
The node places one image within a 0..1 range of UV values, similar to UDIM tiles.
This node requires a projection node to be connected to the projection input.
The three controls define how the texture is composited. They are identical to the controls found in the native texturing nodes.
This control displays a list of all images used by the node. The top most images has the lowest index (0).
The images should have embedded alpha if required, ideally their RGB should be pre-multiplied by alpha.
Selecting an image will display it in the preview control.
All other interactions are via two pop-up menus. One is launched by double clicking on an image entry, the other by right clicking anywhere on the control:
This allows you to change the select image to another loaded image, load a new image and select it or change it to (none) - which will treat the list entry as being black with no alpha when rendering.
This menu can be launch by right clicking anywhere on the list control. Some of the options will only be available if an image is selected in the list.
If an image is selected - and isn't the first image in the list already - it will move up by one entry in the list.
If an image is selected - and isn't the last image in the list already - it will move down by one entry in the list.
This will add a new image to the list. If an image is selected, the new image will be added below the selected image, otherwise at the end of the list.
This allows the user to load multiple images from disk. These will be added below the currently selected image or at the end of the list.
Images that are loaded into LightWave 3D already will not be loaded again.
This removes the currently selected image from the list.
This clears the list of images.
The node places one image within a 0..1 range of UV values, similar to UDIM tiles. Normally, it also only checks for images within the current tile to see if it has to be placed and rendered or not. Overlap extends the “search” area. If you notice images being cut off, increase this value.
Higher values will lead to much longer rendering times. Anything above a value of 5 or so will be extremely slow.
This defines which image width in Pixels should be considered as being the width of a UV tile at a scale of 100%. If this values is not 0, the the images will also be mapped in a proportional size to each other. If this settings is 0, every image will be as large as the corresponding UV tile at a scale of 100%.
These controls correspond to the identical controls in the native image sampler or image texturing nodes.
The strength of the bump mapping.
The placement of the images as well as the variations defined below are computed using pseudo-random noise. The noise is based on this seed number. A different seed produces different results.
For example, if you're texturing instances and would like each of them to have a different distribution, you could use the instance ID as a random seed using the nodal input.
This doesn't do anything at the moment. Eventually it will replace the *Random Seed* with a new random number.
The probability a bitmap will show up.
The randomness of the variation in the Probability.
The scale of the Variation randomness.
This controls how much the position of every image may deviate from the middle of the UV tile, on the horizontal ( X ) as well as the vertical (Y) axis. 0 will always place the image at the centre, 0.5 allows it to be placed anywhere from -0.5 to 0.5 from the centre (which covers the whole UV tile).
This rotates all placed images. If Randomize is active, it's the minimum rotation.
Enabling this allows for randomized rotations.
This is the maximum rotation if Randomize is enabled. The random rotations will be in the rang from Base to this value.
A value larger than 1 will only allow for random rotations in discreet steps.
For example, if Base is 0°, Max is 360° and Steps is 4, the result of the random rotation will be 0°, 90°, 180° or 270°.
This is the plugin of the month for February 2019, made possible by the finest patrons on Patreon.