Desde que lançaram o Gimp v3, eu meio que fiquei órfão do plugin "national geographics", que dá um tchans legal nas fotos.
Mas hoje eu resolvi apostar na... AI. Se ela faz algumas tarefas com pés nas costas, porque não arriscar converter o plugin pra Gimp V3?
E foi o que fiz.
Aqui está uma foto normal, sem o plugin.

e agora com o plugin aplicado:

Dá ou não dá aquele talento na foto? Claro que dá.
O script convertido segue abaixo:
#!/usr/bin/env gimp-script-fu-interpreter-3.0
;
; GIMP 3 port of elsamuko National Geographic (2008).
; Reconstructed layer pipeline. Requires testing against the target GIMP 3 build.
;
(define (ng-apply image drawables shadowopacity sharpness screenopacity overlayopacity localcontrast screenmask tint)
(script-fu-use-v3)
(let* ((source (vector-ref drawables 0))
(shadow 0)
(sharp 0)
(screen 0)
(overlay1 0)
(overlay2 0)
(temp1 0)
(temp2 0)
(contrast 0))
(gimp-context-push)
(gimp-image-undo-group-start image)
(if (> shadowopacity 0)
(begin
(set! shadow (gimp-layer-copy source))
(gimp-image-insert-layer image shadow 0 0)
(gimp-drawable-desaturate shadow DESATURATE-LIGHTNESS)
(gimp-drawable-invert shadow #f)
(gimp-layer-set-mode shadow LAYER-MODE-OVERLAY-LEGACY)
(gimp-layer-set-opacity shadow shadowopacity)
(gimp-item-set-name shadow "Shadow Recovery")))
(if (> sharpness 0)
(begin
(set! sharp (gimp-layer-new-from-visible image image "Sharpen"))
(gimp-image-insert-layer image sharp 0 0)
(gimp-drawable-merge-new-filter sharp "gegl:unsharp-mask" "Sharpen" LAYER-MODE-REPLACE 1.0
#:std-dev 1.0 #:scale sharpness #:threshold 0.0)
(gimp-layer-set-opacity sharp 80.0)))
(if (> localcontrast 0)
(begin
(set! temp1 (gimp-layer-new-from-visible image image "Temp 1"))
(set! temp2 (gimp-layer-new-from-visible image image "Temp 2"))
(gimp-image-insert-layer image temp1 0 0)
(gimp-image-insert-layer image temp2 0 0)
(gimp-drawable-merge-new-filter temp1 "gegl:unsharp-mask" "Local contrast" LAYER-MODE-REPLACE 1.0
#:std-dev 60.0 #:scale localcontrast #:threshold 0.0)
(gimp-layer-set-mode temp2 LAYER-MODE-GRAIN-EXTRACT-LEGACY)
(set! contrast (gimp-layer-new-from-visible image image "Local Contrast"))
(gimp-image-insert-layer image contrast 0 0)
(gimp-layer-set-mode contrast LAYER-MODE-GRAIN-MERGE-LEGACY)
(gimp-image-remove-layer image temp1)
(gimp-image-remove-layer image temp2)))
(set! screen (gimp-layer-new-from-visible image image "Screen"))
(set! overlay1 (gimp-layer-new-from-visible image image "Overlay"))
(set! overlay2 (gimp-layer-new-from-visible image image "Overlay 2"))
(gimp-image-insert-layer image screen 0 0)
(gimp-image-insert-layer image overlay1 0 0)
(gimp-image-insert-layer image overlay2 0 0)
(gimp-drawable-desaturate screen DESATURATE-LIGHTNESS)
(gimp-drawable-desaturate overlay1 DESATURATE-LIGHTNESS)
(gimp-drawable-desaturate overlay2 DESATURATE-LIGHTNESS)
(gimp-layer-set-mode screen LAYER-MODE-SCREEN-LEGACY)
(gimp-layer-set-mode overlay1 LAYER-MODE-OVERLAY-LEGACY)
(gimp-layer-set-mode overlay2 LAYER-MODE-OVERLAY-LEGACY)
(gimp-layer-set-opacity screen screenopacity)
(gimp-layer-set-opacity overlay1 overlayopacity)
(gimp-layer-set-opacity overlay2 overlayopacity)
(if screenmask
(let* ((mask (gimp-layer-create-mask screen ADD-MASK-COPY)))
(gimp-layer-add-mask screen mask)
(gimp-drawable-invert mask #f)))
(if (or (= tint 1) (= tint 2))
(let* ((hue (if (= tint 1) 0.0 225.0)))
(gimp-drawable-colorize-hsl screen hue 40.0 0.0)
(gimp-drawable-colorize-hsl overlay1 hue 40.0 0.0)
(gimp-drawable-colorize-hsl overlay2 hue 40.0 0.0)))
(gimp-image-undo-group-end image)
(gimp-displays-flush)
(gimp-context-pop)))
(script-fu-register-filter "ng-apply"
"_National Geographic (GIMP 3)"
"National Geographic-inspired tonal effect; GIMP 3 adaptation."
"elsamuko; GIMP 3 adaptation"
"GPL-3.0-or-later"
"2026"
"RGB*"
SF-ONE-DRAWABLE
SF-ADJUSTMENT "Shadow Recovery Opacity" '(60 0 100 1 5 0 0)
SF-ADJUSTMENT "Sharpness" '(0.5 0 2 0.1 1 1 0)
SF-ADJUSTMENT "Screen Layer Opacity" '(50 0 100 1 5 0 0)
SF-ADJUSTMENT "Overlay Layer Opacity" '(50 0 100 1 5 0 0)
SF-ADJUSTMENT "Local Contrast" '(0.4 0 2 0.1 1 1 0)
SF-TOGGLE "Layer Mask for Screen Layer" #t
SF-OPTION "Overlay Tint" '("Neutral" "Red" "Blue"))
(script-fu-menu-register "ng-apply" "
/Filters/Generic")
Eu copiei esse conteúdo pro arquivo ~/.config/GIMP/3.2/scripts/elsamuko-national-geographic-gimp3.scm e iniciei o Gimp.
O original é daqui: https://github.com/elsamuko/gimp-elsamuko/blob/master/scripts/elsamuko-national-geographic.scm
Como é slop generated, eu não copiei esse plugin pra nenhum lugar, nenhum repositório. O próprio codeberg proíbe uso de slop generated code. Então fica aqui pra quem quiser.
