Initial checkin of Pika from heckimp

This commit is contained in:
2023-09-25 15:35:21 -07:00
commit 891e999216
6761 changed files with 5240685 additions and 0 deletions

View File

@ -0,0 +1,99 @@
==========================================================================
GFlare plug-in ver 0.25
Eiichi Takamori <taka@ma1.seikyou.ne.jp>
==========================================================================
GFlare is a plug-in for PIKA. The name "GFlare" is short for
"Gradient Flare". It renders lense flare effect using custom
gradients. The basic idea is suggested by Marcelo Malheiros,
originally based on a 3DStudio MAX plug-in called LenZFX:
http://www.digimation.com/techsupp/lzfxfeat.htm
INSTALL:
1) Edit Makefile, if needed.
2) Type "make install".
3) Type "make install-data" if needed. (It copies sample gradients and
gflares under ~/.pika)
3) Add new entry to ~/.pika/pikarc as
(gflare-path "${pika_dir}/gflares:${pika_data_dir}/gflares")
3) Run PIKA. The menu path is <Image>/Filters/Effects/GFlare.
HOW TO USE IT:
The document is not yet done. Try and see.
Main Dialog:
- Preview
click on it changes the position of GFlare
- Settings page
- Center, Radius (pixel), Rotation (degree), Hue Rotation (degree)
- Vector Angle (degree) and Vector Length (percentage to Radius)
- adaptive supersampling ... same as "Blend tool"
- Selector page
- ListBox
- New, Edit, Copy, Delete buttons. Edit button invokes GFlare Editor.
GFlare Editor:
- General page:
- Glow page:
- Rays page:
- Second Flares page:
WARNING: This plug-in is in development stage, and the code is very
alpha. The GFlare datafile format may be changed in future version.
Suggestions and ideas for user interface, flare algorithm, etc. are
very welcome.
KNOWN BUGS:
There are still lots of bugs, of course. ;-)
They seem related to GTK, and I don't know exactly how I can fix them.
* It warns at startup as:
** WARNING **: file gdkwindow.c: line 422 (gdk_window_move_resize): "window != NULL"
If you are annoyed, accompanying "gtkviewport.c.patch" will shut up
the warning.
* Edit button remains prelighted when GFlare Editor dialog is done.
* Dialogs are not shown quickly at startup.
* Sometimes note tab labels are disappeared.
* Sometimes it crashes, but I don't know yet why it happens.
TODO:
* Random hue scattering for Second Flares.
* Improve internal gradients.
* Currently number of Second Flares is fixed(30).
* Change opacity for one second flare dynamically, in inverse
proportion to the size of it.
* Reduce dialog size
* Add tweak ability "How to combine Glow, Rays, Second Flares in
what order"
CREDITS:
Marcelo Marheiros and Federico Mena Quintero suggested a lot of
ideas. Very Thanks!!
Marcelo made gradients whose names end with _1, _2, etc. The
gradients whose names end with _101, _102 etc. are mine.
Quartic did awful Gradient Editor, and gradients PDB procedures.
A fair proportion of this code was taken from:
PIKA - Photo and Image Kooker Application
Copyright (C) 1995 Spencer Kimball and Peter Mattis
Gradient editor module copyight (C) 1996-1997 Federico Mena Quintero
federico@nuclecu.unam.mx

View File

@ -0,0 +1,18 @@
PIKA GFlare 0.25
100.000000 NORMAL
100.000000 NORMAL
75.000000 SCREEN
Flare\040Glow\040Radial\0401
%white
%white
75.000000 0.000000 0.000000
Flare\040Rays\040Radial\0401
%white
Flare\040Rays\040Size\0401
100.000000 -75.000000 0.000000
16 20.000000
%blue_grad
%random
%random
16.000000 0.000000 13.600000
POLYGON 6 1

View File

@ -0,0 +1,18 @@
PIKA GFlare 0.25
100.000000 NORMAL
40.000000 SCREEN
20.000000 SCREEN
Flare\040Glow\040Radial\0403
%white
%white
85.000000 0.000000 0.000000
%white_grad
%white
%random
125.000000 0.000000 0.000000
85 60.000000
Flare\040Glow\040Radial\0404
%random
%random
20.000000 0.000000 0.000000
CIRCLE 6 1

View File

@ -0,0 +1,18 @@
PIKA GFlare 0.25
95.300003 NORMAL
23.000000 ADDITION
20.900000 SCREEN
Radial\040Glow\0401
%white
%white
100.000000 0.000000 -145.899994
%white_grad
%white_grad
%random
70.400002 0.000000 0.000000
21 87.300003
Flare\040Radial\040103
Flare\040Sizefac\040101
%random
40.000000 0 0
CIRCLE 6 1

View File

@ -0,0 +1,18 @@
PIKA GFlare 0.25
100.000000 NORMAL
90.000000 ADDITION
50.000000 SCREEN
Flare\040Radial\040102
%white
%white
136.000000 0.000000 55.000000
%yellow_grad
Flare\040Glow\040Angular\0401
%random
110.000000 140.000000 -12.000000
63 90.000000
Flare\040Glow\040Radial\0404
Flare\040Rays\040Size\0401
%yellow_grad
30.000000 30.000000 40.000000
POLYGON 6 1

View File

@ -0,0 +1,18 @@
PIKA GFlare 0.25
100.000000 NORMAL
50.000000 NORMAL
35.500000 NORMAL
Flare\040Radial\040101
%white
%white
100.000000 0.000000 0.000000
%white_grad
%random
%random
100.000000 0.000000 0.000000
40 50.000000
Flare\040Glow\040Radial\0401
%random
%random
40.000000 0 0
CIRCLE 6 1

View File

@ -0,0 +1,18 @@
PIKA GFlare 0.25
100.000000 NORMAL
62.799999 NORMAL
37.900002 SCREEN
Flare\040Radial\040102
%white
%white
100.000000 0.000000 -85.300003
%red_grad
%random
%random
100.000000 0.000000 -155.899994
40 20.000000
Flare\040Radial\040102
%random
Skyline
40.000000 0 0
CIRCLE 6 3

View File

@ -0,0 +1,18 @@
PIKA GFlare 0.25
100.000000 NORMAL
100.000000 NORMAL
100.000000 NORMAL
Flare\040Glow\040Radial\0402
Flare\040Glow\040Angular\0401
%white
100.000000 0.000000 0.000000
Flare\040Rays\040Radial\0402
%white
%white
50.000000 90.000000 0.000000
2 85.000000
%white
%white
%white
0.000000 0.000000 0.000000
CIRCLE 6 1

View File

@ -0,0 +1,11 @@
install_data([
'Bright_Star',
'Classic',
'Default',
'Distant_Sun',
'GFlare_101',
'GFlare_102',
'Hidden_Planet',
],
install_dir: pikadatadir / 'gflare',
)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
subdir('flares')
plugin_name = 'gradient-flare'
plugin_sources = [
'gradient-flare.c',
]
if platform_windows
plugin_sources += windows.compile_resources(
pika_plugins_rc,
args: [
'--define', 'ORIGINALFILENAME_STR="@0@"'.format(plugin_name+'.exe'),
'--define', 'INTERNALNAME_STR="@0@"' .format(plugin_name),
'--define', 'TOP_SRCDIR="@0@"' .format(meson.project_source_root()),
],
include_directories: [
rootInclude, appInclude,
],
)
endif
executable(plugin_name,
plugin_sources,
dependencies: [
libpikaui_dep,
math,
],
install: true,
install_dir: pikaplugindir / 'plug-ins' / plugin_name,
)