Corona Standalone
Corona XML maps format
See Corona XML materials format for basic info on the format. Here we will only list specific map definitions, but they still need to be contained in the <mtlLib><mapDefinition>… structure as outlined in the main article.
Last updated 13 January 2026
See Corona XML materials format for basic info on the format. Here we will only list specific map definitions, but they still need to be contained in the <mtlLib><mapDefinition>… structure as outlined in the main article.
Shared utilities
UV mapper
This object is not a standalone map in itself, but it modifies UVW mapping of other maps by, for example, switching between 2D and 3D mapping, or by stretching or offsetting the UVW coordinates.
Only some maps have UVW mapping. For example, noise and bitmap have mapping and can be manipulated by providing a UV mapper, but the Ambient occlusion map cannot be modified, since its geometric effect does not depend on UVW coordinates. Any map can contain UV mapper definition: <map><uvMap>…</uvMap>…</map>. If a map has a custom UV mapper defined, then all its child nodes also have the same UV mapper (except for referenced maps).
The definition of UV mapper is:
<code><span class="line"><span><uvMap></span></span>
<span class="line"><span> <mode>uvw|3dworld|3dlocal|forceEnviro</mode></span></span>
<span class="line"><span> ?<mapChannel>[int]</mapChannel></span></span>
<span class="line"><span> ?<scale>[XYZ]</scale></span></span>
<span class="line"><span> ?<offset>[XYZ]</offset></span></span>
<span class="line"><span> ?<rotateZ>[float - deg]</rotateZ></span></span>
<span class="line"><span> ?<enviroRotate>[float - deg]</enviroRotate></span></span>
<span class="line"><span> ?<enviroMode>spherical|screen|dome|cross|mirrorBall</enviroMode></span></span>
<span class="line"><span> ?<wrapModeU>clamp|repeat|none</wrapModeU></span></span>
<span class="line"><span> ?<wrapModeV>clamp|repeat|none</wrapModeV></span></span>
<span class="line"><span> ?<blur>[float]</blur></span></span>
<span class="line"><span> ?<useRealWorldScale>[bool]</useRealWorldScale></span></span>
<span class="line"><span> ?<dome></span></span>
<span class="line"><span> <origin>[XYZ]</origin></span></span>
<span class="line"><span> <radius>[float]</radius></span></span>
<span class="line"><span> <cameraHeight>[float]</cameraHeight></span></span>
<span class="line"><span> </dome> </span></span>
<span class="line"><span></uvMap></span></span></code>
mode | 3dlocal differs from 3dworld in that in the local mode the mapping “sticks” to the object even when it is rotated/moved, while in 3dworld the mapping “flows” on the object if it is moved. forceEnviro means that the map will be evaluated as environment-mapped (spherical or screen, see enviroMode option), even when it is applied on a geometry |
mode | 3dlocal differs from 3dworld in that in the local mode the mapping “sticks” to the object even when it is rotated/moved, while in 3dworld the mapping “flows” on the object if it is moved. forceEnviro means that the map will be evaluated as environment-mapped (spherical or screen, see enviroMode option), even when it is applied on a geometry |
rotateZ | rotation of the map in the UV-plane when using the UVW mode, in degrees |
blur | Amount of blurring applied to the map |
wrapModeX | Controls what happens outside of the 0-1 UVW range. Clamp means that the border pixels will be returned outside of the interval. Repeat means that the entire map will be repeated. None means that black will be returned |
Alpha-mixing map with constant value
If a slot has [RGB]|[map] or [float]|[map] content, it can also contain both. In that case the map's alpha channel will be evaluated (if there is any), and will be used for blending with the constant value. Example of red color mixing with bitmap:
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><diffuse></span><span data-v-c2b1f83f="" class="line">1 0 0 </span><span data-v-c2b1f83f="" class="line"><map class="Texture"></span><span data-v-c2b1f83f="" class="line"> ...</span><span data-v-c2b1f83f="" class="line"></map></span><span data-v-c2b1f83f="" class="line"></diffuse></span></code>
Color mapping/transform maps
Normal
Transforms any input map to a normal map - meaning it will be interpreted as a normal map instead of a height map when in the bump slot.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class="Normal"></span><span data-v-c2b1f83f="" class="line"> <child>[map]</child></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Channel
Maps channels on the output to the channels on the input. Output channels are R,G,B,Alpha and Mono. Individual mapping options for each channel are:
- R - Red channel of the input
- G - Green channel of the input
- B - Blue channel of the input
- A - Alpha channel of the input
- RgbIntensity - Average of Red, Green and Blue of the input
- One - Output channel is set to the value of 1.0
By default, an output channel is mapped to the corresponding input channel. Mono is mapped to the RgbIntensity.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class="Channel"></span><span data-v-c2b1f83f="" class="line"> <rSource>R|G|B|A|RgbIntensity|One</rSource></span><span data-v-c2b1f83f="" class="line"> <gSource>R|G|B|A|RgbIntensity|One</gSource></span><span data-v-c2b1f83f="" class="line"> <bSource>R|G|B|A|RgbIntensity|One</bSource></span><span data-v-c2b1f83f="" class="line"> <alphaSource>R|G|B|A|RgbIntensity|One</alphaSource></span><span data-v-c2b1f83f="" class="line"> <monoSource>R|G|B|A|RgbIntensity|One</monoSource></span><span data-v-c2b1f83f="" class="line"> <child>[map]</child></span><span data-v-c2b1f83f="" class="line"></map></span></code>
For example, you could swap green and blue channels of the input (child) map using the following snippet.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class="Channel"></span><span data-v-c2b1f83f="" class="line"> <gSource>B</gSource></span><span data-v-c2b1f83f="" class="line"> <bSource>G</bSource></span><span data-v-c2b1f83f="" class="line"> <child><map>...</map></child></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Curve
Remaps each color component of the child map values according to a curve. Defined by multiple (2+) control points. Linearly interpolated between control points, constant outside of defined ranges.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class="Curve"></span><span data-v-c2b1f83f="" class="line"> <child>[RGB]|[map]</child></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> +<point position="[float]">[float]</point></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Example: this example clamps all output to be at most 0.5:
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class="Curve"></span><span data-v-c2b1f83f="" class="line"> <child><map>...</map></child></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> <point position="0">0</point></span><span data-v-c2b1f83f="" class="line"> <point position="0.5">0.5</point></span><span data-v-c2b1f83f="" class="line"> <point position="1">0.5</point></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Interpolation
Similar to curve, but evaluates the child map as mono, and then uses the mono input to interpolate between RGB values, which can also be mapped.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class="Interpolation"></span><span data-v-c2b1f83f="" class="line"> <child>[RGB]|[map]</child></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> +<point position="[float]">[RGB]|[map]</point></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Fresnel
Applies a Fresnel curve on the mono input provided by a child node.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Fresnel”></span><span data-v-c2b1f83f="" class="line"> <ior>[float]</ior></span><span data-v-c2b1f83f="" class="line"> <child>[RGB]|[map]</child></span><span data-v-c2b1f83f="" class="line"></map></span></code>
ToneMap
Applies some predefined tone mapping operations on the child map.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”ToneMap”></span><span data-v-c2b1f83f="" class="line"> <child>[RGB]|[map]</child></span><span data-v-c2b1f83f="" class="line"> ?<multiplier>[RGB]</multiplier></span><span data-v-c2b1f83f="" class="line"> ?<alphaMultiplier>[float]</alphaMultiplier></span><span data-v-c2b1f83f="" class="line"> ?<offset>[RGB]</offset></span><span data-v-c2b1f83f="" class="line"> ?<invert>[bool]</invert></span><span data-v-c2b1f83f="" class="line"> ?<clamp>[bool]</clamp></span><span data-v-c2b1f83f="" class="line"> ?<abs>[bool]</abs></span><span data-v-c2b1f83f="" class="line"> ?<removeToneMapping>[bool]</removeToneMapping></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Result:
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line">output = offset + input*multiplier</span><span data-v-c2b1f83f="" class="line">if(invert) {</span><span data-v-c2b1f83f="" class="line"> output = 1 - output</span><span data-v-c2b1f83f="" class="line">}</span><span data-v-c2b1f83f="" class="line">if(abs) {</span><span data-v-c2b1f83f="" class="line"> output = abs(output)</span><span data-v-c2b1f83f="" class="line">}</span><span data-v-c2b1f83f="" class="line">if(clamp) {</span><span data-v-c2b1f83f="" class="line"> output = clamp(output, 0, 1)</span><span data-v-c2b1f83f="" class="line">}</span><span data-v-c2b1f83f="" class="line">if(removeToneMapping) {</span><span data-v-c2b1f83f="" class="line"> output = inverseImageToneMapping(output)</span><span data-v-c2b1f83f="" class="line">}</span></code>
ColorCorrectMap
Applies color correction operations on the child map.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”ColorCorrectMap”></span><span data-v-c2b1f83f="" class="line"> <child>[RGB]|[map]</child></span><span data-v-c2b1f83f="" class="line"> ?<removeToneMapping>[bool]</removeToneMapping></span><span data-v-c2b1f83f="" class="line"> ?<tonemappingShader></span><span data-v-c2b1f83f="" class="line"> ?<linearMultiplier>[RGB]</linearMultiplier></span><span data-v-c2b1f83f="" class="line"> ?<contrast>[float]</contrast></span><span data-v-c2b1f83f="" class="line"> ?<saturation>[float]</saturation></span><span data-v-c2b1f83f="" class="line"> ?<brightness>[float]</brightness></span><span data-v-c2b1f83f="" class="line"> ?<invertColors>[bool]</invertColors></span><span data-v-c2b1f83f="" class="line"> ?<gamma>[float]</gamma></span><span data-v-c2b1f83f="" class="line"> ?<lut></span><span data-v-c2b1f83f="" class="line"> <path>[filename]</path></span><span data-v-c2b1f83f="" class="line"> ?<convertToLog>[bool]</convertToLog></span><span data-v-c2b1f83f="" class="line"> ?<opacity>[float]</opacity></span><span data-v-c2b1f83f="" class="line"> ?<gamma>[float]</gamma></span><span data-v-c2b1f83f="" class="line"> </lut></span><span data-v-c2b1f83f="" class="line"> ?<colorCurve></span><span data-v-c2b1f83f="" class="line"> <red></span><span data-v-c2b1f83f="" class="line"> <interpolation>PiecewiseCubic|PiecewiseLinear</interpolation></span><span data-v-c2b1f83f="" class="line"> *<controlPoint>[XY]</controlPoint></span><span data-v-c2b1f83f="" class="line"> </red></span><span data-v-c2b1f83f="" class="line"> <green></span><span data-v-c2b1f83f="" class="line"> <interpolation>PiecewiseCubic|PiecewiseLinear</interpolation></span><span data-v-c2b1f83f="" class="line"> *<controlPoint>[XY]</controlPoint></span><span data-v-c2b1f83f="" class="line"> </green></span><span data-v-c2b1f83f="" class="line"> <blue></span><span data-v-c2b1f83f="" class="line"> <interpolation>PiecewiseCubic|PiecewiseLinear</interpolation></span><span data-v-c2b1f83f="" class="line"> *<controlPoint>[XY]</controlPoint></span><span data-v-c2b1f83f="" class="line"> </blue></span><span data-v-c2b1f83f="" class="line"> <master></span><span data-v-c2b1f83f="" class="line"> <interpolation>PiecewiseCubic|PiecewiseLinear</interpolation></span><span data-v-c2b1f83f="" class="line"> *<controlPoint>[XY]</controlPoint></span><span data-v-c2b1f83f="" class="line"> </master></span><span data-v-c2b1f83f="" class="line"> </colorCurve></span><span data-v-c2b1f83f="" class="line"> </tonemappingShader></span><span data-v-c2b1f83f="" class="line"></map></span></code>
removeToneMapping | If set to true, the texture will not be affected by VFB tone mapping controls |
removeToneMapping | If set to true, the texture will not be affected by VFB tone mapping controls |
tonemappingShader > linearMultiplier | Linear multiplier the image gets multiplied with as a first step of the mapping |
tonemappingShader > contrast | Amount of contrast. Must be a non-negative number, image is unaffected for 1 |
tonemappingShader > saturation | Amount of color saturation. Must be in interval ←1, 1>, image is unaffected for 0 |
tonemappingShader > brightness | Nonlinear brightness modification, in interval ←1, 1> |
tonemappingShader > invertColors | If true, colors are inverted (in sRGB space) |
tonemappingShader > gamma | Gamma transformation (output = input^(1/gamma)), in interval <0.01, 10>. 1 is neutral (no change) value. Note that since texturing is done entirely in linear color space, the value 2.2 does not have any special meaning here, and is not the default/correct/required value. You do not need to set this to 2.2 to get “correct” result - use it purely as artistic control over texture midpoint brightness |
lut > path | Path to the LUT file. Currently supported formats are .cube and .3dl. If not present, the image is unaffected by LUT |
lut > convertToLog | If true, the input color is converted to Log colorspace before LUT is applied |
lut > opacity | Strength of the LUT. Must be in interval <0, 1>; 0 turns of LUT completely |
lut > gamma | Exponent of gamma transform baked into LUT. Default value 2.2 corresponds to LUT being applied in sRGB space. Note that if convertToLog is true, gamma is applied before log transformation |
colorCurve > red green blue master | Defines a tone mapping curve for a given RGB component (red, green, blue) or for all components (master) |
colorCurve > * > interpolation | Defines the type of curve interpolation: either smooth cubic (PiecewiseCubic) or linear (PiecewiseLinear) |
colorCurve > * > controlPoint | Control points that define the curve shape. Each point is two-dimensional and must fit in <{0,0},{2,2}> |
Mixing
Multi
Select one of the sub-maps as output based on randomization by selected feature. MixMin and MixMax, if used, enable partial blending between the randomly selected submap and all other maps in the same point.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Multi”></span><span data-v-c2b1f83f="" class="line"> <mode>Material|MaterialId|Instance|Primitive</mode></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> +<slot></span><span data-v-c2b1f83f="" class="line"> <item>[RGB]|[map]</item></span><span data-v-c2b1f83f="" class="line"> <frequency>[float]</frequency></span><span data-v-c2b1f83f="" class="line"> </slot></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> ?<mixMin>[float]</mixMin></span><span data-v-c2b1f83f="" class="line"> ?<mixMax>[float]</mixMax></span><span data-v-c2b1f83f="" class="line"> ?<seed>[int]</seed></span><span data-v-c2b1f83f="" class="line"> ?<hueRandomization>[float]</hueRandomization> </span><span data-v-c2b1f83f="" class="line"> ?<gammaRandomization>[float]</gammaRandomization></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"></map></span></code>
item | Color or map being selected |
item | Color or map being selected |
frequency | Probability of selection of this item; does not have to add up to 1 |
mixMin | Minimum amount of blending |
mixMax | Maximum amount of blending |
seed | Random seed |
hueRandomization | Additional randomization of color hue of the resulting color, must be in [0, 1] |
gammaRandomization | Additional randomization of gamma exponent of the resulting color, must be in [0, 1] |
UvwRandomizer
Modifies UWV coordinates of the input map based on the given randomization mode; works similarly to MultiMap. All randomization parameters have a minimum and maximum value, as well as a step size. If the step is 0, the selected value of the parameter can be any real number within the interval. For a positive value of the step, the selected value is (from + k * step) for some integer k. The step cannot be negative.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”UvwRandomizer”></span><span data-v-c2b1f83f="" class="line"> <mode>Material|MaterialId|Instance|Primitive</mode></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> <input>[map]</input></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> ?<seed>[int]</seed></span><span data-v-c2b1f83f="" class="line"> ?<uOffset></span><span data-v-c2b1f83f="" class="line"> <from>[float]</from></span><span data-v-c2b1f83f="" class="line"> <to>[float]</to></span><span data-v-c2b1f83f="" class="line"> <step>[float]</step></span><span data-v-c2b1f83f="" class="line"> </uOffset></span><span data-v-c2b1f83f="" class="line"> ?<vOffset></span><span data-v-c2b1f83f="" class="line"> <from>[float]</from></span><span data-v-c2b1f83f="" class="line"> <to>[float]</to></span><span data-v-c2b1f83f="" class="line"> <step>[float]</step></span><span data-v-c2b1f83f="" class="line"> </vOffset></span><span data-v-c2b1f83f="" class="line"> ?<wRotation></span><span data-v-c2b1f83f="" class="line"> <from>[float - deg]</from></span><span data-v-c2b1f83f="" class="line"> <to>[float - deg]</to></span><span data-v-c2b1f83f="" class="line"> <step>[float - deg]</step></span><span data-v-c2b1f83f="" class="line"> </wRotation></span><span data-v-c2b1f83f="" class="line"> ?<uScale></span><span data-v-c2b1f83f="" class="line"> <from>[float]</from></span><span data-v-c2b1f83f="" class="line"> <to>[float]</to></span><span data-v-c2b1f83f="" class="line"> <step>[float]</step></span><span data-v-c2b1f83f="" class="line"> </uScale></span><span data-v-c2b1f83f="" class="line"> ?<vScale></span><span data-v-c2b1f83f="" class="line"> <from>[float]</from></span><span data-v-c2b1f83f="" class="line"> <to>[float]</to></span><span data-v-c2b1f83f="" class="line"> <step>[float]</step></span><span data-v-c2b1f83f="" class="line"> </vScale></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> ?<lockScale>[bool]</lockScale></span><span data-v-c2b1f83f="" class="line"></map></span></code>
input | Input map |
input | Input map |
seed | Random seed |
uOffset | Interval of offset in U coordinate |
vOffset | Interval of offset in V coordinate |
wRotation | Interval of rotation around W |
uScale | Interval of scaling in U coordinate. Must be positive values |
vScale | Interval of scaling in V coordinate. Must be positive values |
lockScale | If true, the scaling is uniform, i.e. the same in U and V (based on the value of U parameter). Otherwise, U and V are scaled independently. |
RaySwitcher
Selects one of the submaps during shading based on the incident ray type. If one of the types is not defined, the “base” slot will be used instead for that ray type.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”RaySwitcher”></span><span data-v-c2b1f83f="" class="line"> <base>[RGB]|[map]</base></span><span data-v-c2b1f83f="" class="line"> ?<reflect>[RGB]|[map]</reflect></span><span data-v-c2b1f83f="" class="line"> ?<refract>[RGB]|[map]</refract></span><span data-v-c2b1f83f="" class="line"> ?<direct>[RGB]|[map]</direct></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Mix
Mixes two maps with the selected operation:
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Mix”></span><span data-v-c2b1f83f="" class="line"> <a>[float]|[map]</a></span><span data-v-c2b1f83f="" class="line"> <b>[float]|[map]</b></span><span data-v-c2b1f83f="" class="line"> ?<amountB>[float]|[map]</amountB></span><span data-v-c2b1f83f="" class="line"> <operation>mul|add|sub|mix|...TODO</operation></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Result:
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line">if operation == mix: </span><span data-v-c2b1f83f="" class="line"> output = eval(a)*(1-eval(amountB)) + eval(b)*eval(amountB)</span><span data-v-c2b1f83f="" class="line">else if operation == mult: </span><span data-v-c2b1f83f="" class="line"> output = eval(a) * eval(b)</span><span data-v-c2b1f83f="" class="line">else if operation == add: </span><span data-v-c2b1f83f="" class="line"> output = eval(a) + eval(b)</span><span data-v-c2b1f83f="" class="line">else if operation == sub: </span><span data-v-c2b1f83f="" class="line"> output = eval(a) - eval(b)</span><span data-v-c2b1f83f="" class="line">else: </span><span data-v-c2b1f83f="" class="line"> ERROR</span></code>
Addition also works on bump maps.
FrontBack
Returns either the “front” submap when the ray hits the geometry from its front side, and the “back” submap otherwise.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”FrontBack”></span><span data-v-c2b1f83f="" class="line"> <front>[RGB]|[map]</front></span><span data-v-c2b1f83f="" class="line"> <back>[RGB]|[map]</back></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Geometry maps
Data
Returns some geometry data directly re-casted as color values.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Data”></span><span data-v-c2b1f83f="" class="line"> <mode>UVW|shadingNormal|geometryNormal|dotProduct|zDepth|dUvw</mode></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Falloff
Returns angle between a normal and specified axis - white for facing, black for grazing edges, negative for back-facing.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Falloff”></span><span data-v-c2b1f83f="" class="line"> <mode>view|local|world</mode></span><span data-v-c2b1f83f="" class="line"> <axis>[XYZ]</axis></span><span data-v-c2b1f83f="" class="line"> ?<absValue>[bool]</absValue></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Axis | Which axis to use. This is usually 0 0 1 for camera rays |
Axis | Which axis to use. This is usually 0 0 1 for camera rays |
mode | Which geometry frame is the Axis defined in. |
absValue | If true, the absolute value of negative values will be used. |
Example: Creates a dot product shading between the shading normal and the camera ray direction:
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Falloff”></span><span data-v-c2b1f83f="" class="line"> <mode>view</mode></span><span data-v-c2b1f83f="" class="line"> <axis>0 0 1</axis></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Round Edges
Special map for use in bump slot, which simulates rounded edges/corners by perturbing shading normal.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”RoundEdges”></span><span data-v-c2b1f83f="" class="line"> <maxRadius>[float]</maxRadius></span><span data-v-c2b1f83f="" class="line"> ?<samples>[int]</samples></span><span data-v-c2b1f83f="" class="line"> ?<mappedRadius>[map]</mappedRadius></span><span data-v-c2b1f83f="" class="line"></map></span></code>
maxRadius | Radius of the rounded corners effect |
maxRadius | Radius of the rounded corners effect |
mappedRadius | If used, then this map will modulate the MaxRadius parameter |
samples | Optional number of samples to take. It influences the render noise and speed |
Gradient
Creates a smooth UVW-mapped gradient:
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Gradient”></span><span data-v-c2b1f83f="" class="line"> <mode>u|v|radial</mode></span><span data-v-c2b1f83f="" class="line"></map></span></code>
u/v | Creates a gradient in the u/v axis by directly returning the u/v value as intensity |
u/v | Creates a gradient in the u/v axis by directly returning the u/v value as intensity |
radial | Creates a radial gradient in the 0-1 UVW square with center in 0.5, 0.5 |
Ao
Creates the ambient occlusion (darkening in corners) effect. Returns 0 for completely unoccluded and 1 for completely occluded geometry.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Ao”></span><span data-v-c2b1f83f="" class="line"> <maxDistance>[float]</maxDistance></span><span data-v-c2b1f83f="" class="line"> ?<mappedDistance>[map]</mappedDistance></span><span data-v-c2b1f83f="" class="line"> ?<samples>[int]</samples></span><span data-v-c2b1f83f="" class="line"> ?<phongExponent>[float]</phongExponent></span><span data-v-c2b1f83f="" class="line"> ?<mixExponent>[float]</mixExponent></span><span data-v-c2b1f83f="" class="line"> ?<normalMode>outside|inside|both</normalMode></span><span data-v-c2b1f83f="" class="line"> ?<offset>[XYZ]</offset></span><span data-v-c2b1f83f="" class="line"> ?<excludeMode>list|same|other</excludeMode></span><span data-v-c2b1f83f="" class="line"> ?<includeExclude>[includeList]</includeExclude></span><span data-v-c2b1f83f="" class="line"></map></span></code>
mappedDistance | If used, this map will modulate the maxDistance. |
mappedDistance | If used, this map will modulate the maxDistance. |
samples | Number of ray tracing samples to make in each evaluation, influences the noise-speed ratio. |
phongExponent | How concentrated should the rays be around the normal? |
mixExponent | Sets the balance between occluded and unoccluded color (works similarly to gamma correction). |
normalMode | Where to compute the effect - on the outside/inside of the object. |
offset | Constant offset in world space added to all generated rays. This can be used to shift the distribution of rays in one constant direction (typically up or down to create for example water weathering. |
excludeMode | If present, this can be used to exclude some objects from consideration when computing occlusion. “Other” means that occlusion by other objects will be disregarded and only same object occlusion will be used. “Same” is the opposite, with occlusion by the same object as hit point ignored. “List” means that an include/exclude list will be used. |
Wire
Wire shader, which mixes 3 colors or maps - base, color for geometry edges between triangles, and color for geometry vertices. If edge/vertex parameters are not included, then the edges/vertices will not be visible in the result.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Wire”></span><span data-v-c2b1f83f="" class="line"> <base>[RGB]|[map]</base></span><span data-v-c2b1f83f="" class="line"> <edge>[RGB]|[map]</edge></span><span data-v-c2b1f83f="" class="line"> <vertex>[RGB]|[map]</vertex></span><span data-v-c2b1f83f="" class="line"> <edgeWidth>[float]</edgeWidth></span><span data-v-c2b1f83f="" class="line"> <vertexWidth>[float]</vertexWidth></span><span data-v-c2b1f83f="" class="line"> <worldSpace>[bool]</worldSpace></span><span data-v-c2b1f83f="" class="line"> <allEdges>[bool]</allEdges></span><span data-v-c2b1f83f="" class="line"> <falloff>[float]</falloff> (1.6+)</span><span data-v-c2b1f83f="" class="line"></map></span></code>
worldSpace | If true, then edgeWidth and VertexWidth are in world units. If false, they are in screen units (projected pixels). |
worldSpace | If true, then edgeWidth and VertexWidth are in world units. If false, they are in screen units (projected pixels). |
allEdges | False by default and if that is the case then only the base mesh edges are visualized. By base mesh edges we mean those the user see in the content creation tool. All edges created by Corona (for example in displacement) remain hidden. |
Generators
Solid
This special map always returns a constant value. It is optimized to have zero runtime overhead:
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Solid”></span><span data-v-c2b1f83f="" class="line"> [RGB]|[float]</span><span data-v-c2b1f83f="" class="line"></map></span></code>
Checker
Produces black and white checker based on mapping (default is UVW, but can be altered with a UV mapper).
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Checker”></span><span data-v-c2b1f83f="" class="line"> <size>[float]</size></span><span data-v-c2b1f83f="" class="line"></map></span></code>
size | determines the size of tiles |
size | determines the size of tiles |
Noise
Generates black and white noise. Can have uvmap:
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Noise”></span><span data-v-c2b1f83f="" class="line"> <type>perlin|cellular|...TODO</type></span><span data-v-c2b1f83f="" class="line"> <size>[float]</size></span><span data-v-c2b1f83f="" class="line">optional: <levels>[float]</levels></span><span data-v-c2b1f83f="" class="line">optional: <uvmap>...</uvmap></span><span data-v-c2b1f83f="" class="line">optional: <phase>[float]</phase></span><span data-v-c2b1f83f="" class="line"></map></span></code>
Sky
Used for environments, evaluates the Hosek & Wilkie sky model to compute a physically correct sky dome.
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Sky”></span><span data-v-c2b1f83f="" class="line"> <groundColor>[RGB]</groundColor></span><span data-v-c2b1f83f="" class="line"> ?<mode>preetham|rawafake|hosek</mode></span><span data-v-c2b1f83f="" class="line"> ?<turbidity>[float]</turbidity> </span><span data-v-c2b1f83f="" class="line"> ?<multiplier>[float]</multiplier></span><span data-v-c2b1f83f="" class="line"> ?<horizonBlur>[float]</horizonBlur></span><span data-v-c2b1f83f="" class="line"> ?<skyAffectGround>[bool]</skyAffectGround></span><span data-v-c2b1f83f="" class="line"> ?<rawafake></span><span data-v-c2b1f83f="" class="line"> ?<zenith>[RGB]</zenith></span><span data-v-c2b1f83f="" class="line"> ?<horizon>[RGB]</horizon></span><span data-v-c2b1f83f="" class="line"> ?<sunGlow>[float]</sunGlow></span><span data-v-c2b1f83f="" class="line"> ?<sunSideGlow>[float]</sunSideGlow></span><span data-v-c2b1f83f="" class="line"> removed in 1.7: <sunBleed>[float]</sunBleed></span><span data-v-c2b1f83f="" class="line"> removed in 1.7: <sunFalloff>[float]</sunFalloff></span><span data-v-c2b1f83f="" class="line"> </rawafake></span><span data-v-c2b1f83f="" class="line"></map></span></code>
multiplier | Overal intensity multiplier. |
multiplier | Overal intensity multiplier. |
turbidity | Amount of haze in the atmosphere. Has to be between 1.7 and 10. |
groundColor | Color of the ground - used for rays looking downwards (with negative Z component). Additionally, if skyAffectGround is true, then this color is also used to influence the sky color on horizon. |
horizonBlur | Simulates aerial perspective by blurring the line between sky and horizon. |
mode | Which sun/sky model to use (preetham - old physically-based model, very inaccurate near horizon; rawafake - ad-hoc model by Rawalanche, with customizable color; hosek - improved physically-based model by Hosek&Wilkie, very accurate, used by default). |
Specific parameters for rawafake mode:
zenith | Sky color at zenith. |
zenith | Sky color at zenith. |
horizon | Sky color at the horizon. |
sunGlow | The amount of glow of the sky very near the sun. Value between 0 and 1 is required. |
sunSideGlow | The amount of glow of the sky in the general direction of the sun. Value between 0 and 1 is required. |
sunBleed | Intensity of the sun tint. Value between 0 and 1 is required. |
sunFalloff | Slope of change of suns color. |
Texture
Regular image texture:
<code data-v-c2b1f83f=""><span data-v-c2b1f83f="" class="line"><map class=”Texture”></span><span data-v-c2b1f83f="" class="line"> <image>[filename]</image></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> ?<gamma>[float]</gamma></span><span data-v-c2b1f83f="" class="line"> ?<bumpStrength>[float]</bumpStrength></span><span data-v-c2b1f83f="" class="line"> ?<interpolation>bilinear|bicubic|nearest</interpolation></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> ?<crop></span><span data-v-c2b1f83f="" class="line"> <startX>[float]</startX></span><span data-v-c2b1f83f="" class="line"> <startY>[float]</startY></span><span data-v-c2b1f83f="" class="line"> <endX>[float]</endX></span><span data-v-c2b1f83f="" class="line"> <endY>[float]</endY></span><span data-v-c2b1f83f="" class="line"> </crop></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"> ?<placement></span><span data-v-c2b1f83f="" class="line"> <startX>[float]</startX></span><span data-v-c2b1f83f="" class="line"> <startY>[float]</startY></span><span data-v-c2b1f83f="" class="line"> <endX>[float]</endX></span><span data-v-c2b1f83f="" class="line"> <endY>[float]</endY></span><span data-v-c2b1f83f="" class="line"> </placement></span><span data-v-c2b1f83f="" class="line"> </span><span data-v-c2b1f83f="" class="line"></map></span></code>
gamma | If present, overrides default gamma handling (2.2 for LDR and 1.0 for HDR formats) |
gamma | If present, overrides default gamma handling (2.2 for LDR and 1.0 for HDR formats) |