Skip to content

Commit

Permalink
nodes: rename Render* to Draw*
Browse files Browse the repository at this point in the history
RenderToTexture is not renamed as it is not a drawing node.
  • Loading branch information
mbouron committed Mar 13, 2024
1 parent a171bcb commit 2fcce5a
Show file tree
Hide file tree
Showing 104 changed files with 1,835 additions and 1,834 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ Versioning](https://semver.org/spec/v2.0.0.html) for `libnopegl`.
- `Text.box_{corner,width,height}` are replaced with a 4 component long
`Text.box` parameter; if 3D positioning is required, traditional transform
nodes can be used
- `Render*` nodes are renamed to `Draw*`

### Removed
- `Text.aspect_ratio`, it now matches the viewport aspect ratio
Expand Down
4 changes: 2 additions & 2 deletions doc/_ext/nope/blending/fade.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ def fade(cfg: ngl.SceneCfg):
cfg.duration = 4

bg_tex = ngl.Texture2D(data_src=ngl.Media(image0.filename))
bg = ngl.RenderTexture(bg_tex)
bg = ngl.DrawTexture(bg_tex)

fg_tex = ngl.Texture2D(data_src=ngl.Media(image1.filename))
fg = ngl.RenderTexture(fg_tex)
fg = ngl.DrawTexture(fg_tex)
fg.set_blending("src_over")

animkf = [
Expand Down
4 changes: 2 additions & 2 deletions doc/_ext/nope/blending/overlay.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ def overlay(cfg: ngl.SceneCfg):
cfg.aspect_ratio = image.width, image.height

bg_tex = ngl.Texture2D(data_src=ngl.Media(image.filename))
bg = ngl.RenderTexture(bg_tex)
bg = ngl.DrawTexture(bg_tex)

fg_tex = ngl.Texture2D(data_src=ngl.Media(overlay.filename))
fg = ngl.RenderTexture(fg_tex)
fg = ngl.DrawTexture(fg_tex)
fg.set_blending("src_over")

fg.add_filters(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

@ngl.scene()
def gradient(cfg: ngl.SceneCfg):
return ngl.RenderGradient(
return ngl.DrawGradient(
color0=(0, 0.5, 0.5),
color1=(1, 0.5, 0),
)
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ def image(cfg: ngl.SceneCfg):
# Warning: the texture can be shared, but not the media
media = ngl.Media(image.filename)
tex = ngl.Texture2D(data_src=media)
return ngl.RenderTexture(tex)
return ngl.DrawTexture(tex)
7 changes: 7 additions & 0 deletions doc/_ext/nope/draws/noise.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import pynopegl as ngl


@ngl.scene()
def noise(cfg: ngl.SceneCfg):
cfg.duration = 3
return ngl.DrawNoise(type="perlin", octaves=4, scale=cfg.aspect_ratio, evolution=ngl.Time())
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def shadertoy(cfg: ngl.SceneCfg):
quad = ngl.Quad((-1, -1, 0), (2, 0, 0), (0, 2, 0)) # Full-screen quad
program = ngl.Program(vertex=vert, fragment=frag)
program.update_vert_out_vars(uv=ngl.IOVec2()) # Specify the transfer of information between the 2 stages
render = ngl.Render(quad, program)
draw = ngl.Draw(quad, program)

render.update_frag_resources(t=ngl.Time())
return render
draw.update_frag_resources(t=ngl.Time())
return draw
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ def video(cfg: ngl.SceneCfg):
# Warning: the Texture can be shared, but not the Media
media = ngl.Media(video.filename)
tex = ngl.Texture2D(data_src=media)
return ngl.RenderTexture(tex)
return ngl.DrawTexture(tex)
8 changes: 4 additions & 4 deletions doc/_ext/nope/eval/gradient.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@ def gradient(cfg: ngl.SceneCfg, mode="ramp"):
pt0_color = ngl.EvalVec3("1-c.r", "1-c.g", "1-c.b", resources=dict(c=c0_node))
pt1_color = ngl.EvalVec3("1-c.r", "1-c.g", "1-c.b", resources=dict(c=c1_node))
geom = ngl.Circle(radius=0.05, npoints=16)
p0 = ngl.RenderColor(color=pt0_color, geometry=geom)
p1 = ngl.RenderColor(color=pt1_color, geometry=geom)
p0 = ngl.DrawColor(color=pt0_color, geometry=geom)
p1 = ngl.DrawColor(color=pt1_color, geometry=geom)
p0 = ngl.Scale(p0, factors=(1 / cfg.aspect_ratio_float, 1, 1))
p1 = ngl.Scale(p1, factors=(1 / cfg.aspect_ratio_float, 1, 1))
p0 = ngl.Translate(p0, vector=pos0)
p1 = ngl.Translate(p1, vector=pos1)

# Convert the position to 2D points to make them usable in RenderGradient
# Convert the position to 2D points to make them usable in DrawGradient
pos0_2d = ngl.EvalVec2("p.x/2+.5", ".5-p.y/2", resources=dict(p=pos0))
pos1_2d = ngl.EvalVec2("p.x/2+.5", ".5-p.y/2", resources=dict(p=pos1))
grad = ngl.RenderGradient(pos0=pos0_2d, pos1=pos1_2d, mode=mode, color0=c0_node, color1=c1_node)
grad = ngl.DrawGradient(pos0=pos0_2d, pos1=pos1_2d, mode=mode, color0=c0_node, color1=c1_node)

return ngl.Group(children=(grad, p0, p1))
8 changes: 4 additions & 4 deletions doc/_ext/nope/eval/palette_strip.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@ def palette_strip(cfg: ngl.SceneCfg):
c_nodes.append(c_node)
l_nodes.append(l_node)

# Grid positioning of RenderColor nodes using GridLayout
# Grid positioning of DrawColor nodes using GridLayout
c_nodes = [c0_node] + c_nodes + [c1_node]
l_nodes = [l0_node] + l_nodes + [l1_node]
c_nodes = [ngl.RenderColor(node) for node in c_nodes]
l_nodes = [ngl.RenderColor(node) for node in l_nodes]
c_nodes = [ngl.DrawColor(node) for node in c_nodes]
l_nodes = [ngl.DrawColor(node) for node in l_nodes]
empty = ngl.Identity()
cells = [empty] * (cols + 1) + c_nodes + [empty] * (cols + 2) + l_nodes
strips = ngl.GridLayout(cells, size=(cols, rows))

bg = ngl.RenderColor(color=(0.2, 0.2, 0.2)) # A gray background
bg = ngl.DrawColor(color=(0.2, 0.2, 0.2)) # A gray background
return ngl.Group(children=[bg, strips])
4 changes: 2 additions & 2 deletions doc/_ext/nope/noise/wiggle.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ def wiggle(cfg: ngl.SceneCfg):
cfg.duration = 3

geometry = ngl.Circle(radius=0.25, npoints=6)
render = ngl.RenderColor(geometry=geometry)
draw = ngl.DrawColor(geometry=geometry)

# Extend 2-dimensional noise into a vec3 for the Translate node using EvalVec3
translate = ngl.EvalVec3("wiggle.x", "wiggle.y", "0")
translate.update_resources(wiggle=ngl.NoiseVec2(octaves=8))

return ngl.Translate(render, vector=translate)
return ngl.Translate(draw, vector=translate)
2 changes: 1 addition & 1 deletion doc/_ext/nope/path/animated.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def animated(cfg: ngl.SceneCfg):
]

path = ngl.Path(keyframes)
heart = ngl.RenderPath(path, viewbox=(-5, -5, 10, 10), color=(0.8, 0.1, 0.1), outline=0.01, outline_color=(1, 1, 1))
heart = ngl.DrawPath(path, viewbox=(-5, -5, 10, 10), color=(0.8, 0.1, 0.1), outline=0.01, outline_color=(1, 1, 1))

# This animation defines the speed at which the path is walked
anim_kf = [
Expand Down
2 changes: 1 addition & 1 deletion doc/_ext/nope/path/chain.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ def chain(cfg: ngl.SceneCfg):
]

path = ngl.Path(keyframes)
return ngl.RenderPath(path, viewbox=(-5, -5, 10, 10), color=(0.8, 0.1, 0.1), outline_color=(1, 1, 1))
return ngl.DrawPath(path, viewbox=(-5, -5, 10, 10), color=(0.8, 0.1, 0.1), outline_color=(1, 1, 1))
4 changes: 2 additions & 2 deletions doc/_ext/nope/path/effects.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def effects(cfg: ngl.SceneCfg):
]

path = ngl.Path(keyframes)
render = ngl.RenderPath(path, viewbox=(-5, -5, 10, 10), color=(0.8, 0.1, 0.1), glow=0.02)
draw = ngl.DrawPath(path, viewbox=(-5, -5, 10, 10), color=(0.8, 0.1, 0.1), glow=0.02)

cfg.duration = 0.85
scale = 1.1
Expand All @@ -26,4 +26,4 @@ def effects(cfg: ngl.SceneCfg):
ngl.AnimKeyFrameVec3(0.4, (1, 1, 1)),
]

return ngl.Scale(render, factors=ngl.AnimatedVec3(animkf))
return ngl.Scale(draw, factors=ngl.AnimatedVec3(animkf))
2 changes: 1 addition & 1 deletion doc/_ext/nope/path/simple.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ def simple(cfg: ngl.SceneCfg):
),
]
path = ngl.Path(keyframes)
return ngl.RenderPath(path)
return ngl.DrawPath(path)
2 changes: 1 addition & 1 deletion doc/_ext/nope/path/subpaths.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ def subpaths(cfg: ngl.SceneCfg):
]

path = ngl.Path(keyframes)
return ngl.RenderPath(path, viewbox=(-5, -5, 10, 10), color=(0.8, 0.1, 0.1), outline_color=(1, 1, 1))
return ngl.DrawPath(path, viewbox=(-5, -5, 10, 10), color=(0.8, 0.1, 0.1), outline_color=(1, 1, 1))
7 changes: 0 additions & 7 deletions doc/_ext/nope/renders/noise.py

This file was deleted.

2 changes: 1 addition & 1 deletion doc/_ext/nope/scopes/histogram.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ def histogram(cfg: ngl.SceneCfg):
image = load_media("rooster")

stats = ngl.ColorStats(texture=ngl.Texture2D(data_src=ngl.Media(image.filename)))
return ngl.RenderHistogram(stats, mode="luma_only")
return ngl.DrawHistogram(stats, mode="luma_only")
2 changes: 1 addition & 1 deletion doc/_ext/nope/scopes/waveform.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ def waveform(cfg: ngl.SceneCfg):
image = load_media("rooster")

stats = ngl.ColorStats(texture=ngl.Texture2D(data_src=ngl.Media(image.filename)))
return ngl.RenderWaveform(stats, mode="luma_only")
return ngl.DrawWaveform(stats, mode="luma_only")
2 changes: 1 addition & 1 deletion doc/_ext/nope/shapes/circle.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
@ngl.scene()
def circle(cfg: ngl.SceneCfg):
cfg.aspect_ratio = (1, 1)
return ngl.RenderColor(geometry=ngl.Circle(radius=0.7, npoints=64))
return ngl.DrawColor(geometry=ngl.Circle(radius=0.7, npoints=64))
2 changes: 1 addition & 1 deletion doc/_ext/nope/shapes/geometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ def geometry(cfg: ngl.SceneCfg):
topology="triangle_strip",
)

return ngl.RenderColor(geometry=geometry)
return ngl.DrawColor(geometry=geometry)
2 changes: 1 addition & 1 deletion doc/_ext/nope/shapes/quad.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
@ngl.scene()
def quad(cfg: ngl.SceneCfg):
cfg.aspect_ratio = (1, 1)
return ngl.RenderColor(geometry=ngl.Quad())
return ngl.DrawColor(geometry=ngl.Quad())
2 changes: 1 addition & 1 deletion doc/_ext/nope/shapes/triangle.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
@ngl.scene()
def triangle(cfg: ngl.SceneCfg):
cfg.aspect_ratio = (1, 1)
return ngl.RenderColor(geometry=ngl.Triangle())
return ngl.DrawColor(geometry=ngl.Triangle())
2 changes: 1 addition & 1 deletion doc/_ext/nope/starter/animated.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ def animated(cfg: ngl.SceneCfg):
color0 = ngl.AnimatedColor(keyframes=color0_animkf)
color1 = ngl.AnimatedColor(keyframes=color1_animkf)

bg = ngl.RenderGradient(color0=color0, color1=color1)
bg = ngl.DrawGradient(color0=color0, color1=color1)
fg = ngl.Text("Hello World!", bg_opacity=0)
return ngl.Group(children=[bg, fg])
2 changes: 1 addition & 1 deletion doc/_ext/nope/starter/bg_fg_composition.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
def bg_fg_composition(cfg: ngl.SceneCfg):
cfg.aspect_ratio = (1, 1)

bg = ngl.RenderGradient(color0=(0, 0.5, 0.5), color1=(1, 0.5, 0))
bg = ngl.DrawGradient(color0=(0, 0.5, 0.5), color1=(1, 0.5, 0))
fg = ngl.Text("Hello World!", bg_opacity=0)
return ngl.Group(children=[bg, fg])
4 changes: 2 additions & 2 deletions doc/_ext/nope/starter/timeranges.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def timeranges(cfg: ngl.SceneCfg):
color0 = ngl.AnimatedColor(keyframes=color0_animkf)
color1 = ngl.AnimatedColor(keyframes=color1_animkf)

bg = ngl.RenderGradient(color0=color0, color1=color1)
bg = ngl.DrawGradient(color0=color0, color1=color1)
fg = ngl.Text("Hello World!", bg_opacity=0)

rotate_animkf = [
Expand All @@ -35,7 +35,7 @@ def timeranges(cfg: ngl.SceneCfg):
scaled_fg = ngl.Scale(fg, factors=(0.7, 0.7, 0.7))
rotated_fg = ngl.Rotate(scaled_fg, angle=ngl.AnimatedFloat(rotate_animkf))

shape = ngl.RenderColor(color=(0.3, 0.3, 0.3), geometry=ngl.Circle(npoints=5))
shape = ngl.DrawColor(color=(0.3, 0.3, 0.3), geometry=ngl.Circle(npoints=5))
timed_shape = ngl.TimeRangeFilter(shape, start=1, end=2)

return ngl.Group(children=[bg, timed_shape, rotated_fg])
2 changes: 1 addition & 1 deletion doc/_ext/nope/starter/transforms.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def transforms(cfg: ngl.SceneCfg):
color0 = ngl.AnimatedColor(keyframes=color0_animkf)
color1 = ngl.AnimatedColor(keyframes=color1_animkf)

bg = ngl.RenderGradient(color0=color0, color1=color1)
bg = ngl.DrawGradient(color0=color0, color1=color1)
fg = ngl.Text("Hello World!", bg_opacity=0)

rotate_animkf = [
Expand Down
2 changes: 1 addition & 1 deletion doc/_ext/nope/timeranges/media_time_remapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def media_time_remapping(cfg: ngl.SceneCfg):
media = load_media("mire")
m = ngl.Media(media.filename, time_anim=ngl.AnimatedTime(animkf))
t = ngl.Texture2D(data_src=m)
r = ngl.RenderTexture(t)
r = ngl.DrawTexture(t)

# Time range filter
return ngl.TimeRangeFilter(r, start=2, end=9)
2 changes: 1 addition & 1 deletion doc/_ext/nope/timeranges/shapes.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ def shapes(cfg: ngl.SceneCfg):
cfg.duration = 6.0

# Draw the same shape 3 times in a different place
shape = ngl.Scale(ngl.RenderColor(), factors=(1 / 6, 1 / 6, 1))
shape = ngl.Scale(ngl.DrawColor(), factors=(1 / 6, 1 / 6, 1))
shape_x3 = [ngl.Translate(shape, (x, 0, 0)) for x in (-0.5, 0, 0.5)]

# Define a different time range for each branch
Expand Down
2 changes: 1 addition & 1 deletion doc/_ext/nope/transforms/animated_rotate.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ def animated_rotate(cfg: ngl.SceneCfg):
ngl.AnimKeyFrameFloat(cfg.duration, 360),
]

scene = ngl.RenderColor(geometry=ngl.Quad())
scene = ngl.DrawColor(geometry=ngl.Quad())
return ngl.Rotate(scene, angle=ngl.AnimatedFloat(animkf))
2 changes: 1 addition & 1 deletion doc/_ext/nope/transforms/animated_scale.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ def animated_scale(cfg: ngl.SceneCfg):
ngl.AnimKeyFrameVec3(cfg.duration, (1 / 3, 1 / 3, 1 / 3)),
]

scene = ngl.RenderColor(geometry=ngl.Circle(0.5))
scene = ngl.DrawColor(geometry=ngl.Circle(0.5))
return ngl.Scale(scene, factors=ngl.AnimatedVec3(animkf))
2 changes: 1 addition & 1 deletion doc/_ext/nope/transforms/animated_translate.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ def animated_translate(cfg: ngl.SceneCfg):
ngl.AnimKeyFrameVec3(cfg.duration, (-1 / 3, 0, 0)),
]

scene = ngl.RenderColor(geometry=ngl.Circle(0.5))
scene = ngl.DrawColor(geometry=ngl.Circle(0.5))
return ngl.Translate(scene, vector=ngl.AnimatedVec3(animkf))
4 changes: 2 additions & 2 deletions doc/_ext/nope/transforms/chained_transforms.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def chained_transforms(cfg: ngl.SceneCfg):
step = 360 / n

shape = ngl.Circle(radius=radius, npoints=128)
render = ngl.RenderColor(geometry=shape)
draw = ngl.DrawColor(geometry=shape)

for i in range(n):
mid_time = cfg.duration / 2.0
Expand All @@ -32,7 +32,7 @@ def chained_transforms(cfg: ngl.SceneCfg):
ngl.AnimKeyFrameFloat(end_time, 0, "exp_in"),
]

tnode = render
tnode = draw
tnode = ngl.Scale(tnode, factors=ngl.AnimatedVec3(scale_animkf))
tnode = ngl.Translate(tnode, vector=(1 - radius, 0, 0))
tnode = ngl.Rotate(tnode, angle=ngl.AnimatedFloat(rotate_animkf))
Expand Down
2 changes: 1 addition & 1 deletion doc/_ext/nope/transforms/rotate.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
def rotate(cfg: ngl.SceneCfg):
cfg.aspect_ratio = (1, 1)

scene = ngl.RenderColor(geometry=ngl.Quad())
scene = ngl.DrawColor(geometry=ngl.Quad())
return ngl.Rotate(scene, angle=45)
8 changes: 4 additions & 4 deletions doc/usr/expl/media-time-remapping.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,17 @@ to define the active range of the media. This is controlled through
[TimeRangeFilter] nodes.

The time range filters will allow the prefetch and release mechanisms of the
sub-tree (in our case, it will typically be a [Render] using a [Media] node as
sub-tree (in our case, it will typically be a [Draw] using a [Media] node as
`data_src`).

The typical use case for a video showing up randomly in a demo is to define a
single time ranges, such as:

```python
timefilter = ngl.TimeRangeFilter(my_render, start=2, end=9)
timefilter = ngl.TimeRangeFilter(draw, start=2, end=9)
```

In this case, `my_render` will be visible between `t=2` (included) and `t=9`
In this case, `draw` will be visible between `t=2` (included) and `t=9`
(excluded).


Expand Down Expand Up @@ -93,7 +93,7 @@ Coupled with hardware acceleration, these two main mechanism help getting great
performances at a minimal memory cost.


[Render]: /usr/ref/libnopegl.md#render
[Draw]: /usr/ref/libnopegl.md#draw
[Media]: /usr/ref/libnopegl.md#media
[TimeRangeFilter]: /usr/ref/libnopegl.md#timerangefilter
[AnimatedFloat]: /usr/ref/libnopegl.md#animatedfloat
4 changes: 2 additions & 2 deletions doc/usr/expl/noise.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

The [Noise*] nodes works like other `Uniform*` nodes: they produces a
deterministic noisy signal which can be made available to the shader when
attached to the associated [Render] or [Compute].
attached to the associated [Draw] or [Compute].

[Noise*]: /usr/ref/libnopegl.md#noise
[Render]: /usr/ref/libnopegl.md#render
[Draw]: /usr/ref/libnopegl.md#draw
[Compute]: /usr/ref/libnopegl.md#compute

In the case of the `NoiseFloat`, the shader obtains a `float` sample
Expand Down
Loading

0 comments on commit 2fcce5a

Please sign in to comment.