# Shading

> Shaders de GPU en Pyzed: créalos conectando nodos en Pyzed Design, carga grafos .pzshad desde Python o escribe WGSL a mano, y pinta cualquier widget con ellos.

Source: https://albakore.github.io/pyzed/es/shading/

Un **shader** es un programa pequeño que decide el color de cada píxel de un widget, muchas veces por segundo, en
la tarjeta gráfica. Así dibuja Pyzed fondos animados, efectos de brillo, radares y gráficos de juegos sin ralentizar
tu app. Si usaste los shaders visuales de Godot o el editor de materiales de Unreal Engine, los grafos de shaders
de Pyzed te van a resultar familiares.

examples/showcase/shaders</code>." size="wide" />

```mermaid
flowchart LR
    nodes["Nodos en la vista de shaders"] --> file["Archivo .pzshad"]
    code["pyzed.shading en Python"] --> file
    file --> wgsl["WGSL"]
    hand["WGSL escrito a mano"] --> widget
    wgsl --> widget["Widget pz.shader"] --> gpu["GPU"]
```

## Empieza aquí

## Todos los nodos

El [catálogo de nodos](https://albakore.github.io/pyzed/es/shading/nodes/) describe todos los nodos de un grafo, por categoría, con sus
puertos, ajustes y un ejemplo para cada uno.

## Tres formas de crear uno

| Forma | Para | Página |
| --- | --- | --- |
| **Nodos en la vista Shader** | Todo el mundo: conecta cajas con el ratón y ve el resultado en cada nodo. | [La vista Shader](https://albakore.github.io/pyzed/es/shading/shader-designer/) |
| **`pyzed.shading` en Python** | Generar o editar grafos desde código, pruebas, herramientas. | [Grafos de shaders](https://albakore.github.io/pyzed/es/shading/shader-graphs/) |
| **WGSL a mano** | Control total, portar shaders de otros sitios. | [Shaders en WGSL](https://albakore.github.io/pyzed/es/shading/shaders/) |

Las tres acaban siendo el mismo código WGSL en la GPU, así que son igual de rápidas, y un `.pzshad` hecho con el
ratón se puede cambiar desde Python (y al revés).

**Los shaders necesitan GPU:**

En un equipo sin una tarjeta gráfica utilizable, un widget de shader dibuja su color o gradiente `fallback`. Dale
a cada shader un fallback razonable para que la interfaz se siga viendo bien.

## Míralos en acción

pz.shader</code> en la biblioteca de componentes.', href: '/pyzed/es/library/shader/', icon: 'puzzle' },
{ title: 'API de pyzed.shading', text: 'Todas las clases y funciones para cargar, crear y editar grafos en código.', href: '/pyzed/es/reference/shading/', icon: 'list-format' },
]}
/>

**Estado de esta sección:**

Los grafos de shaders son nuevos en Pyzed. Cada página describe lo que funciona hoy, y el catálogo de nodos se
genera a partir del código, así que siempre coincide con tu versión, con una captura de cada nodo. La mayoría de las
recetas muestran su grafo en la vista Shader; el resto se arma en un minuto siguiendo sus pasos.
