# Lights

Incari has two types of **Light Object**; the **Spot Light** and the **Point Light**.

The **Point** **Light** is *omnidirectional*, meaning that light is emitted equally in all directions; while the **Spot Light** is *directional* and will only light the area that it is rotated towards. Additionally, unlike **Point Light**, **Spot Light** supports shadow mapping, and has an extra set of **Attributes** for that purpose.

| Attribute        | Spot Light | Point Light |
| ---------------- | ---------- | ----------- |
| `Color`          | ✔          | ✔           |
| `Brightness`     | ✔          | ✔           |
| `Attenuation`    | ✔          | ✔           |
| `Radial Falloff` | ✔          | ✘           |
| `Shadow Mapping` | ✔          | ✘           |

## Light

### Color

`Color` determines the color of the light being emitted.

Please note that the `Color` **Attribute**'s *brightness* level will affect the brightness of the light itself. It is therefore recommended that you always have the brightness level set to 1, and use the actual `Brightness` **Attribute** to alter the intensity of the light.

`Color`'s *alpha* level has no effect.

### Brightness

`Brightness` governs the intensity of the light, with lower values giving less intense light emission and vice versa.

![](/files/-MIx_oSUzl5YZprseO-F)

### Attenuation

`Attenuation` relates to the spread, or reach, of the light. Lower levels only illuminate close **Objects**, whereas high levels allow the light to reach **Objects** that are further away.

![](/files/-MIx_oSVUNsALwY7XkdM)

### Radial Falloff

`Radial Falloff` is used to change the smoothness of the light falloff. Lower levels will give a smoother transition between light and dark areas, but will be darker overall. Higher levels give a much more contrasting light-to-dark transition and will appear comparatively brighter.

This **Attribute** is only available on the **Spot Light Object**.

![](/files/-MIx_oSWxjw2agY_SPQ_)

## Shadow Mapping

**Shadow Mapping** is a performance-based method of approximating shadows in real-time. Without getting too technical, **Shadow Mapping** takes the depth and normal passes of the **Scene** from the perspective of the **Spot Light**, calculates which areas are occluded, and projects the shadow map onto the **Scene**.

There is no 'one size fits all' setup for **Shadow Mapping**. It is invariably a matter of tweaking and adjusting to achieve the desired *visual* result for your **Scene**, as well as meeting the *performance* requirements of your project.

### Enable

**Shadow Mapping** can be turned on/off using the `Enable` switch. Whether or not you use this effect often comes down to performance. If you are having performance issues, then you should consider removing the effect, or adjusting the other settings.

### Resolution

`Resolution` alters the size of the shadow map. Just like with normal 2D textures, higher resolutions produce better quality, at the cost of processing time and file size.

![](/files/-MIx_oSXbhAVhF91b_ZE)

### Kernel Size

`Kernel Size` relates to the size of each sampled area during the calculation. It is a fairly complex subject, but it affects the smoothness of the shadow map. Lower levels give crisp, but jagged, shadows; whereas higher levels give smoother, but less defined results.

Increased `Kernel Size` may help improve results that suffer from *shadow acne*, or to reduce artifacts in cases where the shadow map `Resolution` is low.

![](/files/-MIx_oSY3o8aqCJV2Hxi)

### Clip Near

As stated above, **Shadow Mapping** takes passes from the **Light**'s perspective. Like the `Clip Near` **Attribute** of **Camera**, everything within the defined distance isn't rendered and is therefore excluded from those passes and the **Shadow Mapping** algorithm.

![](/files/-MIx_oSZisiKEm-_azn-)

### Offset

`Offset` offsets the depth of the shadow map and can massively improve its appearance, by reducing *shadow acne*. It is recommended that you increase this value by very small increments (0.0001) until you get an acceptable reduction in artifacts.

Due to the effect `Offset` has on the **Shadow Mapping** algorithm, higher values can cause shadows to appear to be disconnected from the geometry that casts them.

![](/files/-MIx_oS_YXGOQIqontdR)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.incari.com/incari-studio/2.0/objects/scene-objects/lights.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
