Formas
Cada ejemplo de esta página se ejecuta después de estas dos líneas y termina enviando un color al nodo Salida:
from pyzed import shading
g = shading.Graph("demo")Las formas son distancias con signo (SDF): cada píxel recibe su distancia al borde de la forma, negativa dentro y positiva fuera. Una distancia todavía no es una imagen: Relleno, Contorno y Resplandor la convierten en una máscara de 0 a 1. Las distancias se pueden combinar (unión, resta, intersección) antes de dibujar, incluso con una unión suave.
Círculo
Sección titulada «Círculo»Circle · circle · Formas · g.circle(...)
La distancia con signo a un círculo (negativa dentro). Usa Relleno o Contorno para dibujarlo.

Un círculo alrededor de center con un radius (en unidades de la altura). Dibújalo con Relleno, Contorno o Resplandor.
| Entrada | Tipo | Por defecto |
|---|---|---|
p |
vec2 |
Centrado (contexto) |
center · centro |
vec2 |
(0, 0) |
radius · radio |
float |
0.3 |
| Salida | Tipo |
|---|---|
distance · distancia |
float |
d = g.circle(radius=0.3)g.output(g.rgba(g.fill(d), 1.0))Rectángulo
Sección titulada «Rectángulo»Box · box · Formas · g.box(...)
La distancia con signo a un rectángulo de tamaño size (redondeado por radius).

Un rectángulo de tamaño size, con esquinas redondeadas por radius: tarjetas, botones, paneles.
| Entrada | Tipo | Por defecto |
|---|---|---|
p |
vec2 |
Centrado (contexto) |
center · centro |
vec2 |
(0, 0) |
size · tamaño |
vec2 |
(0.6, 0.4) |
radius · radio |
float |
0.05 |
| Salida | Tipo |
|---|---|
distance · distancia |
float |
d = g.box(size=[0.8, 0.5], radius=0.08)g.output(g.rgba(g.fill(d), 1.0))Ring · ring · Formas · g.ring(...)
La distancia con signo a un anillo de radio radius y grosor thickness.

Un anillo de radius y thickness: indicadores de carga, dianas, halos.
| Entrada | Tipo | Por defecto |
|---|---|---|
p |
vec2 |
Centrado (contexto) |
center · centro |
vec2 |
(0, 0) |
radius · radio |
float |
0.3 |
thickness · grosor |
float |
0.05 |
| Salida | Tipo |
|---|---|
distance · distancia |
float |
d = g.ring(radius=0.3, thickness=0.04)g.output(g.rgba(g.fill(d), 1.0))Segmento
Sección titulada «Segmento»Segment · segment · Formas · g.segment(...)
La distancia con signo a una línea de a a b, de grosor thickness.

Una línea de a a b con extremos redondeados y un grosor thickness.
| Entrada | Tipo | Por defecto |
|---|---|---|
p |
vec2 |
Centrado (contexto) |
a |
vec2 |
(-0.3, 0) |
b |
vec2 |
(0.3, 0) |
thickness · grosor |
float |
0.04 |
| Salida | Tipo |
|---|---|
distance · distancia |
float |
d = g.segment(a=[-0.4, -0.2], b=[0.4, 0.2], thickness=0.05)g.output(g.rgba(g.fill(d), 1.0))Polígono
Sección titulada «Polígono»Polygon · polygon · Formas · g.polygon(...)
La distancia con signo a un polígono regular (sides esquinas, radius hasta ellas).

Un polígono regular de sides esquinas: triángulos, hexágonos, octógonos.
| Entrada | Tipo | Por defecto |
|---|---|---|
p |
vec2 |
Centrado (contexto) |
center · centro |
vec2 |
(0, 0) |
radius · radio |
float |
0.3 |
sides · lados |
float |
6 |
rotation · rotación |
float |
0 |
| Salida | Tipo |
|---|---|
distance · distancia |
float |
d = g.polygon(radius=0.35, sides=6.0)g.output(g.rgba(g.fill(d), 1.0))Estrella
Sección titulada «Estrella»Star · star · Formas · g.star(...)
La distancia con signo a una estrella (inner es la profundidad de sus valles, de 0 a 1).

Una estrella de points puntas; inner es la profundidad de los valles entre puntas.
| Entrada | Tipo | Por defecto |
|---|---|---|
p |
vec2 |
Centrado (contexto) |
center · centro |
vec2 |
(0, 0) |
radius · radio |
float |
0.35 |
points · puntas |
float |
5 |
inner · interior |
float |
0.45 |
rotation · rotación |
float |
0 |
| Salida | Tipo |
|---|---|
distance · distancia |
float |
d = g.star(radius=0.4, points=5.0, inner=0.45)g.output(g.rgba(g.fill(d), 1.0))Combinar formas
Sección titulada «Combinar formas»Combine shapes · sdf_op · Formas · g.sdf_op(...)
Une dos formas (unión), recorta b de a (resta) o conserva donde se solapan (intersección); smooth funde la unión.

Combina dos formas antes de dibujarlas: Unión las une, Restar forma recorta b de a e Intersecar deja la parte común. smooth mayor que 0 funde la unión, como dos gotas de agua.
| Entrada | Tipo | Por defecto |
|---|---|---|
a |
float |
1 |
b |
float |
1 |
smooth · suavizado |
float |
0 |
| Salida | Tipo |
|---|---|
distance · distancia |
float |
| Ajuste | Valores | Por defecto |
|---|---|---|
op |
union, subtract, intersect |
union |
Entradas de la barra lateral
| Entrada | Qué hace | En Python |
|---|---|---|
| Unión | Une dos formas; smooth las funde. | g.union(...) |
| Restar forma | Recorta la forma b de la forma a. | g.subtract_shape(...) |
| Intersecar | Conserva donde se solapan dos formas. | g.intersect(...) |
a = g.circle(center=[-0.15, 0.0], radius=0.25)b = g.circle(center=[0.15, 0.0], radius=0.25)d = g.union(a, b, smooth=0.1)g.output(g.rgba(g.fill(d), 1.0))Relleno
Sección titulada «Relleno»Fill · fill · Formas · g.fill(...)
Dibuja una forma: 1 dentro, 0 fuera, con un borde suavizado de softness píxeles.

Dibuja una forma rellena: 1 dentro, 0 fuera, con un borde suavizado de softness píxeles. Sube softness para un borde difuso.
| Entrada | Tipo | Por defecto |
|---|---|---|
distance · distancia |
float |
0 |
softness · suavidad |
float |
1 |
| Salida | Tipo |
|---|---|
mask · máscara |
float |
d = g.box(size=[0.6, 0.6], radius=0.1)g.output(g.rgba(g.fill(d, softness=8.0), 1.0))Contorno
Sección titulada «Contorno»Stroke · stroke · Formas · g.stroke(...)
Dibuja el contorno de una forma, de grosor width (en las unidades de la forma).

Dibuja solo el contorno de una forma, de ancho width.
| Entrada | Tipo | Por defecto |
|---|---|---|
distance · distancia |
float |
0 |
width · ancho |
float |
0.02 |
softness · suavidad |
float |
1 |
| Salida | Tipo |
|---|---|
mask · máscara |
float |
d = g.star(radius=0.4)g.output(g.rgba(g.stroke(d, width=0.02), 1.0))Resplandor
Sección titulada «Resplandor»Glow · glow · Formas · g.glow(...)
Una luz suave alrededor de una forma que se desvanece a lo largo de radius.

Una luz suave alrededor de una forma que se desvanece en radius: letreros de neón y halos. Súmalo a un Relleno para una forma sólida con brillo.
| Entrada | Tipo | Por defecto |
|---|---|---|
distance · distancia |
float |
0 |
radius · radio |
float |
0.08 |
intensity · intensidad |
float |
1 |
| Salida | Tipo |
|---|---|
value · valor |
float |
d = g.ring(radius=0.3, thickness=0.01)light = g.glow(d, radius=0.1)g.output(g.rgba(g.compose(0.1, 0.8, 1.0) * light, 1.0))Ver también: Primeros pasos · La vista Shader · Recetas · Grafos de shader en Python