rm push/pop

This commit is contained in:
2026-02-26 08:13:27 -06:00
parent ef7e3e6449
commit ce6b0ddb3a
31 changed files with 251 additions and 255 deletions

View File

@@ -36,7 +36,7 @@ effects.register('bloom', {
// Threshold extraction
var thresh_target = ctx.alloc_target(size.width, size.height, 'bloom_thresh')
push(passes, {
passes[] = {
type: 'shader',
shader: 'threshold',
input: input,
@@ -45,7 +45,7 @@ effects.register('bloom', {
threshold: params.threshold != null ? params.threshold : 0.8,
intensity: params.intensity != null ? params.intensity : 1.0
}
})
}
// Blur ping-pong
var blur_a = ctx.alloc_target(size.width, size.height, 'bloom_blur_a')
@@ -56,31 +56,31 @@ effects.register('bloom', {
var i = 0
for (i = 0; i < blur_count; i++) {
push(passes, {
passes[] = {
type: 'shader',
shader: 'blur',
input: blur_src,
output: blur_a,
uniforms: {direction: {x: 2, y: 0}, texel_size: texel}
})
push(passes, {
}
passes[] = {
type: 'shader',
shader: 'blur',
input: blur_a,
output: blur_b,
uniforms: {direction: {x: 0, y: 2}, texel_size: texel}
})
}
blur_src = blur_b
}
// Additive composite
push(passes, {
passes[] = {
type: 'composite',
base: input,
overlay: blur_src,
output: output,
blend: 'add'
})
}
return passes
}
@@ -125,16 +125,16 @@ effects.register('mask', {
// Render mask source to target
var mask_target = ctx.alloc_target(size.width, size.height, 'mask_src')
push(passes, {
passes[] = {
type: 'render_subtree',
root: mask_source,
output: mask_target,
clear: {r: 0, g: 0, b: 0, a: 0},
space: params.space || 'local'
})
}
// Apply mask shader
push(passes, {
passes[] = {
type: 'shader',
shader: 'mask',
inputs: [input, mask_target],
@@ -143,7 +143,7 @@ effects.register('mask', {
channel: params.channel == 'alpha' ? 0 : 1,
invert: params.invert ? 1 : 0
}
})
}
return passes
}
@@ -192,25 +192,25 @@ effects.register('blur', {
var i = 0
for (i = 0; i < blur_count; i++) {
push(passes, {
passes[] = {
type: 'shader',
shader: 'blur',
input: src,
output: blur_a,
uniforms: {direction: {x: 2, y: 0}, texel_size: texel}
})
push(passes, {
}
passes[] = {
type: 'shader',
shader: 'blur',
input: blur_a,
output: blur_b,
uniforms: {direction: {x: 0, y: 2}, texel_size: texel}
})
}
src = blur_b
}
// Final blit to output
push(passes, {type: 'blit', source: src, dest: output})
passes[] = {type: 'blit', source: src, dest: output}
return passes
}
})