View Source
<?xml version="1.0"?>
<scenedata>
<material>
<name><![CDATA[Object ID randomized uv offset]]></name>
<diffuse>
<albedo>
<shader>
<texture>
<path><![CDATA[ColorChecker_sRGB_from_Ref.jpg]]></path>
</texture>
<shader><![CDATA[# Shader to randomize uv offsets
def eval(vec3 pos) vec3 :
let
r = real(objectId()) # Get object ID, convert to a real number.
offset_vec = vec2( # Get a random vector with components in [0, 1].
gridNoise(vec2(r, 0.0)), # Get u offset using grid noise.
gridNoise(vec2(r, 1.0)) # Get v offset using grid noise. Use a different y value to get a different random number.
)
in
sample2DTextureVec3(0, getTexCoords(0) + offset_vec) # Read texture value
]]></shader>
</shader>
</albedo>
</diffuse>
</material>
</scenedata>