# The most basic NPR shaders

### Basic toon shader (Eevee)

![](/files/-MSeKYRaHKmQ-BFwx1_k)

**How this works:**

1. It takes the grey values from the `diffuse BSDF`,
2. `Shader to RGB` Turns the data (*casting* in programming speak) into RGB colors. \
   Without this we cannot change the colors using a color ramp,
3. The `Color Ramp node` remaps the grey values to the color you want,
4. Finally outputs it.

### Basic shadeless shader (Eevee)

**Method 1:**

![Just color](/files/-MSeMeRmmbHk4amzy6D4)

{% hint style="info" %}
**Note:** Your color node may look different. \
You can change the color picker type in the **Preference > Interface > Editors > Color Picker Type**
{% endhint %}

**Method 2:**

![solid emission color](/files/-MSeMro4y6NodOYEsbY5)

**Method 3:**

![Shadeless texture](/files/-MSf6TeDXUMhs7ns7peA)

### Basic toon shader with texture and alpha (Eevee)

![](/files/-MSeab_osA6HRri0WejX)

**How it works:**

1. This is essentially a masking material.
2. The texture going into the **factor** of the `Mix shader` node is a grey value. It determines the mixing factor of shader 1 and shader 2. White color shows `Shader 2`, black color shows `Shader 1`
3. The `difference node` (a mix node) compares the original texture to `color 2` (the color we want to remove when texture do not have alpha channel, *black* if it has alpha).
4. The `less than node` (a math node) refines the edges of the mask using the threshold value.
5. The `diffuse BSDF node` can be exchanged to `Emission shader` for shadeless texture or a more elaborate setup.
6. Remember to change Blend Mode to either `Alpha Clip, Alpha Blend or Alpha Hatch`. Which of these Blend mode you choose will depend on your use case.


---

# 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://bnpr.gitbook.io/bnpr/shaders/the-most-basic-npr-shaders.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.
