M MY Multiplayer: Wiki
Side
Kind

dxDrawRectLight

Client

Lights from a rectangle for a single frame, without creating an element.

bool dxDrawRectLight(float x, y, z, float normalX, normalY, normalZ, float width, float height, float radius, color color [, float intensity = 1, float falloff = 4, float barnDoorAngle = 88, float barnDoorLength = 0.2, bool castShadow = false, float tangentX, tangentY, tangentZ = nil])

Parameters

NameTypeDescription
x, y, zfloatThe light's position in the world, three numbers or a vec3.
normalX, normalY, normalZfloatWhere the rectangle's face points. Three numbers or a vec3, finite and non-zero; it is normalised. The light shines only in front.
widthfloatWidth of the rectangle in metres, from 0.01 to 100.
heightfloatHeight of the rectangle in metres, from 0.01 to 100.
radiusfloatRange in metres, above 0 and up to 1000.
colorcolorThree numbers r, g, b (integers from 0 to 255) or a tocolor value. Alpha is ignored.
intensityfloatBrightness multiplier, from 0 to 1000. At 1, a white light shines with an HDR radiance of 12.default 1
fallofffloatExponent of the fade toward the radius, from 0.1 to 32. Higher values keep the light strong closer to its edge.default 4
barnDoorAnglefloatAngle of the barn doors from the normal, from 0 to 90 degrees. From 88 up they block nothing.default 88
barnDoorLengthfloatLength of the barn doors in metres, 0 or more.default 0.2
castShadowboolWhether the light casts shadows.default false
tangentX, tangentY, tangentZfloatDirection of the rectangle's width, three numbers or a vec3. Left out, it is made from the normal and the world's up axis. A zero vector or one along the normal logs a warning.default nil

Returns

true if the light was queued for the frame. false when 256 lights are already queued, or with a wrong argument.

The light lasts one frame. A call made before the world is drawn (for example in onClientPreRender or onClientRender) lights that frame; one made after it lights the next. Calls made while no frame runs are dropped. Going over 256 lights in a frame logs a warning once, until a frame leaves room in the queue.

Example

addEventHandler("onClientPreRender", root, function()
    dxDrawRectLight(1481.0, -1771.0, 22.0, 0, -1, 0, 4, 0.5, 12, 255, 60, 200, 3)
end)
Coming from MTAMTA has no dynamic lights.

See also