Added notes to repo

This commit is contained in:
sloumdrone 2019-07-14 21:31:49 -07:00
parent 574e50f36f
commit bfa07593ca
1 changed files with 110 additions and 0 deletions

110
filtress_notes.txt Normal file
View File

@ -0,0 +1,110 @@
Farbdraw
Takes the concept of interval.rs sound generation and moves it over to image generation.
Users can update certain variables that continue on when not called directly, they can also have math oriented udpates as well as loops
Possibility of functions (circle, square, etc)
rgba averaging on draw where there is a previous layer
different point sizes and a concept of soft or hard (hard being constant a channel soft being diminishing over time)
Lines can be drawn from a start point at an angle with a color soft or hard with an amount of pressure (that equates loosely to distance)
Points can be done mostly the same way
Everything writes to rgba farbfeld.
Possibility of user writable filter modules that can be activated via "use _______;" to do an opperation on teh whole canvas.
- - - - -
Things have shifted to maybe doing image mangling based on input file. To do so I could just use the standard go image library to deal with the images.
+ + + + + + + + +
Meta-langauge:
__________________
Comments:
# This is a comment. It begins with a pound sign
# Multiline comments use multiple lines all starting with a pound sign
. . .
Operators:
# Operators get applied to numerical values and always lead the number
# = is implicit when writing just an int, but can be optionally included for clarity
+, -, / (floors on decimal), *, %, =
. . .
Variables:
# The following global variables are available
WID # The image width
HIG # The image height
REG # A register for saving numbers?
. . .
Setting the current pixel:
# Valuesthat over or underflow the image dimensions will be looped to aceptable locations
LOC int:int
LOC [op]int:int
LOC int:[op]int
LOC [op]int:[op]int
. . .
Applying changes:
# Just calling APY alone applies the filter to the current selected pixel
# Calling with a ratio sets the width and height of a square in which to apply the filter
APY
APY [op]int:[op]int
. . .
Colors get set either individually or as a group:
# Using COL as opposed to the individuals requires that all four values are set
# Passing an int with no op sets to that value
# Values udner or overflowing will loop to acceptable values
RED [op]int
GRN [op]int
BLU [op]int
APH [op]int
COL [op]int:[op]int:[op]int:[op]int
. . .
Set the apply mode:
# Using an op with MOD will always loop through the modes as needed based on the operator
#
# Values:
# 0 - Hard mode, replaces pixel contents with the color settings on apply
# 1 - Average mode, averages the incoming channel with the existing channel
# 2 - Loop mode, adds the values of the existing and incoming channels and loops around on overflow
# 3 - Fade mode, works as average mode, but uses the fade timer to fade over the course of a number of pixel adjustments
MOD [op]int
. . .
Set fade time:
# If set below zero, becomes zero
FAD [op]int
. . .
Doing loops:
BEG int
[loop contents]
END
. . .