It is currently Fri May 03, 2024 9:00 pm


All times are UTC - 5 hours [ DST ]



Post new topic Reply to topic  [ 12 posts ] 
Author Message
 Post subject: GEGL ROYAL TEXT plugin (download provided)
PostPosted: Sun Apr 14, 2024 11:30 am  (#1) 
Offline
GimpChat Member
User avatar

Joined: Oct 31, 2020
Posts: 1416
--UPDATE PLUGIN IS COMPLETE --
Download here

https://github.com/LinuxBeaver/Royal_Te ... n/releases


Hello, I am developing a new plugin called GEGL Royal Text
I'll keep everyone updated on its development.

Attachment:
pasted_image073.png
pasted_image073.png [ 909.15 KiB | Viewed 414 times ]


Attachment:
royal.png
royal.png [ 643.44 KiB | Viewed 414 times ]



In a alternative form
Attachment:
pasted_image074.png
pasted_image074.png [ 394.62 KiB | Viewed 414 times ]


It does not include a dropshadow and will be extremely resource intensive.


Last edited by contrast_ on Sun Apr 14, 2024 9:22 pm, edited 3 times in total.

Share on Facebook Share on Twitter Share on Orkut Share on Digg Share on MySpace Share on Delicious Share on Technorati
Top
 Post subject: Re: GEGL ROYAL TEXT plugin (coming soon)
PostPosted: Sun Apr 14, 2024 11:36 am  (#2) 
Offline
GimpChat Member
User avatar

Joined: Oct 31, 2020
Posts: 1416
You can test a live preview of this plugin now by downloading these plugins of mine and entering this code into Gimp's GEGL GRAPH filter

Install these three plugins if you don't already have them

https://github.com/LinuxBeaver/gimp-met ... L/releases
https://github.com/LinuxBeaver/GEGL-Eff ... L/releases
https://github.com/LinuxBeaver/GEGL_Thr ... n/releases


then put this code in GEGL Graph

color-overlay value=#f95dff


gaussian-blur std-dev-x=2 std-dev-y=1

id=1 screen  aux=[ ref=1  emboss  type=bumpmap azimuth=70  elevation=23 opacity value=4.5  ]
median-blur radius=0 abyss-policy=none

id=2
median-blur radius=0 abyss-policy=none
id=3 over aux=[ ref=3 lb:glassovertext ]
dst-over aux=[  ref=2  median-blur radius=10 alpha-percentile=100 abyss-policy=none ]
hue-chroma hue=-0
dst-over aux=[  ref=2  median-blur radius=20 alpha-percentile=100 abyss-policy=none

hue-chroma hue=129 lightness=-3 lb:metallic guichange=colormetal color=#ffe600 solar1=33 ]
id=3 gimp:layer-mode layer-mode=luminance blend-space=rgb-perceptual opacity=0.5 aux=[ ref=3 edge amount=3 ]

bloom strength=20
lb:threshold-alpha
levels in-low=0.11


Attachment:
code_royal.png
code_royal.png [ 433.84 KiB | Viewed 408 times ]


Top
 Post subject: Re: GEGL ROYAL TEXT plugin (coming soon)
PostPosted: Sun Apr 14, 2024 4:06 pm  (#3) 
Offline
GimpChat Member
User avatar

Joined: Oct 31, 2020
Posts: 1416
Unlike mosaic tiles which hasn't even started this filter has a working binary and code that IS INCOMPLETE. I got the whole thing ready in a few hours


Attachment:
royal_gui.png
royal_gui.png [ 363.49 KiB | Viewed 369 times ]


Linux Only beta download here




Location to put binaries

Linux
/home/(USERNAME)/.local/share/gegl-0.4/plug-ins

Linux (Flatpak includes Chromebook)
/home/(USERNAME)/.var/app/org.gimp.GIMP/data/gegl-0.4/plug-ins



Royal's source code

/* This file is an image processing operation for GEGL
*
* GEGL is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* GEGL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with GEGL; if not, see <https://www.gnu.org/licenses/>.
*
* Copyright 2006 Øyvind Kolås <pippin@gimp.org>
* 2024 Beaver, Royal Text

Syntax to recreate plugin here


color-overlay value=#f95dff gaussian-blur std-dev-x=3 std-dev-y=1




id=1 screen  aux=[ ref=1  emboss  type=bumpmap azimuth=70  elevation=53 depth=23 opacity value=4.5  ]
median-blur radius=0 abyss-policy=none

id=2
median-blur radius=0 abyss-policy=none
id=3 over aux=[ ref=3 lb:glassovertext ]
dst-over aux=[  ref=2  median-blur radius=10 alpha-percentile=100 abyss-policy=none ]
hue-chroma hue=-0
dst-over aux=[  ref=2  median-blur radius=20 alpha-percentile=100 abyss-policy=none

hue-chroma hue=49 lightness=-3 lb:metallic guichange=colormetal color=#ffe600 solar1=6.2 ]
id=4 gimp:layer-mode layer-mode=luminance  opacity=0.5 aux=[ ref=4 edge amount=3.4 ]

bloom strength=20
lb:threshold-alpha
levels in-low=0.11


--end of syntax
*/

#include "config.h"
#include <glib/gi18n-lib.h>

#ifdef GEGL_PROPERTIES

property_int (hue, _("Rotate Bevel's color"), 0)
    description (_("The bevel's color can be controlled by a limited hue rotation"))
    value_range (-45, 45)
    ui_meta ("unit", "degree")

property_double (azimuth, _("Azimuth of everything"), 67.0)
    description (_("The bevel and bevel outline's light angle (degrees)"))
    value_range (30, 90)
    ui_meta ("unit", "degree")

property_double (elevation, _("Elevation of everything"), 40.0)
    description (_("The bevel and bevel outline's elevation angle (degrees)"))
    value_range (7, 90)
    ui_meta ("unit", "degree")

property_int (depth, _("Depth/detail of everything"), 24)
    description (_("Brings out depth and or detail of both the bevel and bevel outline"))
    value_range (1, 100)

property_double (glass_azimuth, _("Glass light rotation"), 30.0)
    description (_("Glass light rotation (azimuith)"))
    value_range (0, 360)
    ui_meta ("unit", "degree")
    ui_meta ("direction", "ccw")
  ui_steps      (0.5, 0.50)


property_int (outline_hue, _("Rotate bevel outline color"), 0)
    description (_("The bevel outline's color can be controlled by a limited hue rotation"))
    value_range (-45, 45)
    ui_meta ("unit", "degree")

property_double (enhance, _("Shine enhance"), 3.0)
    description (_("Edge detect on luma to enhance the shine"))
    value_range (0.0, 7.0)
    ui_meta ("unit", "degree")

property_int (bloom, _("Bloom light"), 20)
    description (_("Bloom light strength"))
    value_range (10.0, 40.0)

property_int (outline_size, _("Outline Size"), 24)
    description (_("Size of the bevel outline"))
    value_range (10, 40)

property_double (tail, _("Extrusion length"), 0.0)
    description (_("Length of the extrusion. At 0.0 the extrusion is not noticable"))
    value_range (0.0, 0.020)
    ui_range    (0.0, 0.020)
    ui_gamma    (2.0)

property_double (x, _("Horizontal Extrusion control"), 0.0)
    value_range (-0.5, 0.5)
    ui_range    (-0.5, 0.5)
    description(_("Horizontal movability of the extrusion"))

property_double (y, _("Vertical Extrusion control"), 0.0)
    value_range (-0.5, 0.5)
    ui_range    (-0.5, 0.5)
    description(_("Vertical movability of the extrusion"))

#else

#define GEGL_OP_META
#define GEGL_OP_NAME     royal
#define GEGL_OP_C_SOURCE royal.c

#include "gegl-op.h"

static void attach (GeglOperation *operation)
{
  GeglNode *gegl = operation->node;
  GeglColor *basecolor = gegl_color_new ("#f95dff");


    GeglNode *input    = gegl_node_get_input_proxy (gegl, "input");
    GeglNode *output   = gegl_node_get_output_proxy (gegl, "output");


    GeglNode *hcolor    = gegl_node_new_child (gegl,
                                  "operation", "gegl:color-overlay", "value", basecolor,
                                  NULL);

    GeglNode *unequalblur    = gegl_node_new_child (gegl,
                                  "operation", "gegl:gaussian-blur", "std-dev-x", 3.0, "std-dev-y", 1.0,
                                  NULL);

    GeglNode *emboss    = gegl_node_new_child (gegl,
                                  "operation", "gegl:emboss", "type", 1,
                                  NULL);

    GeglNode *metallic    = gegl_node_new_child (gegl,
                                  "operation", "lb:metallic", "guichange", 1, "solar1", 6.0,
                                  NULL);


    GeglNode *idref1    = gegl_node_new_child (gegl,
                                  "operation", "gegl:nop",
                                  NULL);

    GeglNode *idref2    = gegl_node_new_child (gegl,
                                  "operation", "gegl:nop",
                                  NULL);

    GeglNode *idref3    = gegl_node_new_child (gegl,
                                  "operation", "gegl:nop",
                                  NULL);

    GeglNode *idref4    = gegl_node_new_child (gegl,
                                  "operation", "gegl:nop",
                                  NULL);

    GeglNode *behind1    = gegl_node_new_child (gegl,
                                  "operation", "gegl:dst-over",
                                  NULL);

    GeglNode *behind2    = gegl_node_new_child (gegl,
                                  "operation", "gegl:dst-over",
                                  NULL);

    GeglNode *screen    = gegl_node_new_child (gegl,
                                  "operation", "gegl:screen",
                                  NULL);

    GeglNode *bloom    = gegl_node_new_child (gegl,
                                  "operation", "gegl:bloom", "strength", 20.0,
                                  NULL);

    GeglNode *lightweak    = gegl_node_new_child (gegl,
                                  "operation", "gegl:levels", "in-low", 0.11,
                                  NULL);

    GeglNode *ta    = gegl_node_new_child (gegl,
                                  "operation", "lb:threshold-alpha",
                                  NULL);

    GeglNode *normal   = gegl_node_new_child (gegl,
                                  "operation", "gegl:over",
                                  NULL);

    GeglNode *edge   = gegl_node_new_child (gegl,
                                  "operation", "gegl:edge", "amount", 3.0,
                                  NULL);

    GeglNode *glassoverlay    = gegl_node_new_child (gegl,
                                  "operation", "lb:glassovertext",
                                  NULL);

    GeglNode *opacity    = gegl_node_new_child (gegl,
                                  "operation", "gegl:opacity", "value", 4.5,
                                  NULL);

    GeglNode *fix1    = gegl_node_new_child (gegl,
                                  "operation", "gegl:median-blur", "radius", 0, "abyss-policy", 0,
                                  NULL);

    GeglNode *fix2    = gegl_node_new_child (gegl,
                                  "operation", "gegl:median-blur", "radius", 0,  "abyss-policy", 0,
                                  NULL);

    GeglNode *grow1    = gegl_node_new_child (gegl,
                                  "operation", "gegl:median-blur", "radius", 10, "alpha-percentile", 100.0, "abyss-policy", 0,
                                  NULL);

    GeglNode *grow2    = gegl_node_new_child (gegl,
                                  "operation", "gegl:median-blur", "radius", 20, "alpha-percentile", 100.0, "abyss-policy", 0,
                                  NULL);

    GeglNode *luma    = gegl_node_new_child (gegl,
                                  "operation", "gimp:layer-mode", "layer-mode", 56, "opacity", 0.5,
                                  NULL);

    GeglNode *extrusion   = gegl_node_new_child (gegl,
                                  "operation", "lb:extrusion",
                                  NULL);

    GeglNode *hue1   = gegl_node_new_child (gegl,
                                  "operation", "gegl:hue-chroma",
                                  NULL);

    GeglNode *hue2   = gegl_node_new_child (gegl,
                                  "operation", "gegl:hue-chroma",
                                  NULL);

  gegl_node_link_many (input, hcolor, unequalblur, idref1, screen, fix1, idref2, fix2, idref3, normal, behind1, hue1, behind2, idref4, luma, bloom, ta, lightweak, extrusion, output, NULL);
/*Screen with emboss is here*/
  gegl_node_connect (screen, "aux", opacity, "output");
  gegl_node_link_many (idref1, emboss, opacity, NULL);
/*Glass Overlay on normal blend mode is here*/
  gegl_node_link_many (idref3, glassoverlay, NULL);
  gegl_node_connect (normal, "aux", glassoverlay, "output");
/*The behind blend mode idref2 with median blur is here*/
  gegl_node_connect (behind1, "aux", grow1, "output");
  gegl_node_connect (behind2, "aux", hue2, "output");
  gegl_node_link_many (idref2, grow1,  NULL);
  gegl_node_link_many (idref2, grow2, metallic, hue2, NULL);
/*Luminance with edge detect*/
  gegl_node_connect (luma, "aux", edge, "output");
  gegl_node_link_many (idref4, edge, NULL);

  gegl_operation_meta_redirect (operation, "bloom",  bloom, "strength");
  gegl_operation_meta_redirect (operation, "enhance",  edge, "amount");
  gegl_operation_meta_redirect (operation, "outline_size",  grow2, "radius");
  gegl_operation_meta_redirect (operation, "glass_azimuth",  glassoverlay, "azimuth");
  gegl_operation_meta_redirect (operation, "azimuth",  emboss, "azimuth");
  gegl_operation_meta_redirect (operation, "depth",  emboss, "depth");
  gegl_operation_meta_redirect (operation, "elevation",  emboss, "elevation");
  gegl_operation_meta_redirect (operation, "tail",  extrusion, "factor");
  gegl_operation_meta_redirect (operation, "x",  extrusion, "center_x");
  gegl_operation_meta_redirect (operation, "y",  extrusion, "center_y");
  gegl_operation_meta_redirect (operation, "hue",  hue1, "hue");
  gegl_operation_meta_redirect (operation, "outline_hue",  hue2, "hue");
}

static void
gegl_op_class_init (GeglOpClass *klass)
{
  GeglOperationClass *operation_class;

  operation_class = GEGL_OPERATION_CLASS (klass);

  operation_class->attach = attach;

  gegl_operation_class_set_keys (operation_class,
    "name",        "lb:royal",
    "title",       _("Royal Text"),
    "reference-hash", "JillEscherAutismRedPill",
    "description", _("Text that appears as a fancy glossed stone which has a precious metal extruding border "),
    "gimp:menu-path", "<Image>/Filters/Text Styling",
    "gimp:menu-label", _("Royal Text..."),
    NULL);
}

#endif


Description:

Text that appears as a fancy glossed stone which has a precious metal extruding border

Another Preview

Attachment:
royal_2.png
royal_2.png [ 506.72 KiB | Viewed 368 times ]


Last edited by contrast_ on Sun Apr 14, 2024 6:18 pm, edited 1 time in total.

Top
 Post subject: Re: GEGL ROYAL TEXT plugin (coming soon)
PostPosted: Sun Apr 14, 2024 4:39 pm  (#4) 
Offline
GimpChat Member
User avatar

Joined: Oct 31, 2020
Posts: 1416
The filter should release tonight. In the mean time here is another preview

Attachment:
2024-04-14_17-38.png
2024-04-14_17-38.png [ 316.01 KiB | Viewed 367 times ]


Top
 Post subject: Re: GEGL ROYAL TEXT plugin (coming soon)
PostPosted: Sun Apr 14, 2024 6:23 pm  (#5) 
Offline
GimpChat Member
User avatar

Joined: Oct 31, 2020
Posts: 1416
The plugin is assumed complete and can be downloaded here. Below are locations to put the binaries


Attachment:
royals.png
royals.png [ 458.67 KiB | Viewed 365 times ]



Windows

C:\Users\(USERNAME)\AppData\Local\gegl-0.4\plug-ins

Linux
/home/(USERNAME)/.local/share/gegl-0.4/plug-ins

Linux (Flatpak includes Chromebook)
/home/(USERNAME)/.var/app/org.gimp.GIMP/data/gegl-0.4/plug-ins


Top
 Post subject: Re: GEGL ROYAL TEXT plugin (download provided)
PostPosted: Sun Apr 14, 2024 9:24 pm  (#6) 
Offline
GimpChat Member
User avatar

Joined: Oct 31, 2020
Posts: 1416
Attachment:
source_code_of_royal_text.zip [26.75 KiB]
Downloaded 4 times


Attachment:
royal_linux_binaries.zip [49.53 KiB]
Downloaded 7 times


Attachment:
royal_windows_binaries.zip [208.49 KiB]
Downloaded 7 times


Location to put binaries

Windows
C:\Users\(USERNAME)\AppData\Local\gegl-0.4\plug-ins

Linux
/home/(USERNAME)/.local/share/gegl-0.4/plug-ins

Linux (Flatpak includes Chromebook)
/home/(USERNAME)/.var/app/org.gimp.GIMP/data/gegl-0.4/plug-ins


Last edited by contrast_ on Mon Apr 15, 2024 10:00 am, edited 1 time in total.

Top
 Post subject: Re: GEGL ROYAL TEXT plugin (download provided)
PostPosted: Sun Apr 14, 2024 9:31 pm  (#7) 
Offline
GimpChat Member
User avatar

Joined: May 24, 2021
Posts: 776
Location: SEA - South East Asia
Nice!
Was it made for both GIMP 2.10 and 2.99?

I ask, because it did brake the "Chrome" filter on my GIMP 2.10

_________________
Patrice


Top
 Post subject: Re: GEGL ROYAL TEXT plugin (download provided)
PostPosted: Sun Apr 14, 2024 9:42 pm  (#8) 
Offline
GimpChat Member
User avatar

Joined: Oct 31, 2020
Posts: 1416
PixLab wrote:
Nice!
Was it made for both GIMP 2.10 and 2.99?

I ask, because it did brake the "Chrome" filter on my GIMP 2.10


yes... the reason mosaic tiles won't is because it will use Gimp 2.99.19's native bevel


Top
 Post subject: Re: GEGL ROYAL TEXT plugin (download provided)
PostPosted: Sun Apr 14, 2024 9:48 pm  (#9) 
Offline
GimpChat Member
User avatar

Joined: Oct 31, 2020
Posts: 1416
PixLab wrote:
Nice!
Was it made for both GIMP 2.10 and 2.99?

I ask, because it did brake the "Chrome" filter on my GIMP 2.10


What did chrome say when you launched it? I hope not "FATAL ERROR"

If it is "fatal error" then I strongly suggest you remove all plugins of mine and download this along with Royal
https://github.com/LinuxBeaver/LinuxBea ... lugins.zip

If not just reinstall chrome text
https://github.com/LinuxBeaver/GEGL---C ... r/releases


If you are using an old version of chrome text before mid 2023 this is explainable.


Top
 Post subject: Re: GEGL ROYAL TEXT plugin (download provided)
PostPosted: Sun Apr 14, 2024 10:17 pm  (#10) 
Offline
GimpChat Member
User avatar

Joined: May 24, 2021
Posts: 776
Location: SEA - South East Asia
contrast_ wrote:
What did chrome say when you launched it? I hope not "FATAL ERROR"

No fatal error :bigthup
It was just not shiny anymore
Attachment:
screenshot_20240415-110452.jpg
screenshot_20240415-110452.jpg [ 288.24 KiB | Viewed 352 times ]


contrast_ wrote:
If it is "fatal error" then I strongly suggest you remove all plugins of mine and download this along with Royal
https://github.com/LinuxBeaver/LinuxBea ... lugins.zip

It's all for Microsoft Windows :mrgreen: , do you have the same compilation for Linux?

contrast_ wrote:
If not just reinstall chrome text
https://github.com/LinuxBeaver/GEGL---C ... r/releases
If you are using an old version of chrome text before mid 2023 this is explainable.

This download did it, It's working again after install :bigthup
:tyspin contrast_
Attachment:
screenshot_20240415-111605.jpg
screenshot_20240415-111605.jpg [ 326.67 KiB | Viewed 352 times ]

_________________
Patrice


Top
 Post subject: Re: GEGL ROYAL TEXT plugin (download provided)
PostPosted: Mon Apr 15, 2024 10:03 am  (#11) 
Offline
GimpChat Member
User avatar

Joined: Oct 31, 2020
Posts: 1416
The binary download for Royal forgot two binaries for extrusion which means the extrusion sliders in it won't work. The update now fixes that.
If you already have these plugins you may notice extrusion works


This is the error you get for missing binaries

Quote:
GEGL WARNING
Failed to set operation type lb:bevel, using a passthrough op instead

GEGL WARNING
Failed to set operation type lb:edgesmooth, using a passthrough op instead


Top
 Post subject: Re: GEGL ROYAL TEXT plugin (download provided)
PostPosted: Mon Apr 15, 2024 9:12 pm  (#12) 
Offline
GimpChat Member
User avatar

Joined: May 24, 2021
Posts: 776
Location: SEA - South East Asia
And Chrome works better as well (or is it my mind?)

In all case :tyspin
Attachment:
Untitled.jpg
Untitled.jpg [ 309.14 KiB | Viewed 279 times ]

_________________
Patrice


Top
Post new topic Reply to topic  [ 12 posts ] 

All times are UTC - 5 hours [ DST ]


   Similar Topics   Replies 
No new posts Attachment(s) GEGL Sparkle effect plugin - download provided

5

No new posts Attachment(s) GEGL Pixel Text - plugin download

8

No new posts Attachment(s) GEGL Ocean Caustics (plugin download)

6

No new posts Attachment(s) GEGL Ring Bevel Plugin Download

14

No new posts Attachment(s) GEGL Text Style Collection - plugin with many fancy text styles

14



* Login  



Powered by phpBB3 © phpBB Group