A first outline for a UI for a fully GEGLed GIMP
This is a modal window.
Das Video konnte nicht geladen werden, da entweder ein Server- oder Netzwerkfehler auftrat oder das Format nicht unterstützt wird.
Formale Metadaten
Titel |
| |
Serientitel | ||
Teil | 3 | |
Anzahl der Teile | 46 | |
Autor | ||
Lizenz | CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported: Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben. | |
Identifikatoren | 10.5446/21498 (DOI) | |
Herausgeber | ||
Erscheinungsjahr | ||
Sprache |
Inhaltliche Metadaten
Fachgebiet | ||
Genre | ||
Abstract |
| |
Schlagwörter |
1
2
6
13
20
28
31
32
36
39
42
43
45
00:00
RechenschieberPunktQuick-SortGüte der AnpassungGebäude <Mathematik>ProgrammierumgebungKontrast <Statistik>QuaderMultiplikationsoperatorInteraktives FernsehenAnwendungsspezifischer ProzessorXMLUMLVorlesung/Konferenz
01:11
Prozess <Informatik>ProgrammierumgebungIntegralProgrammierungBenutzerbeteiligungEinfügungsdämpfungXMLUML
01:38
IntegralBildgebendes VerfahrenJSONXMLUML
02:04
Arithmetische FolgeGraphRechenschieberPunktLeistung <Physik>OrtsoperatorBildgebendes VerfahrenElement <Gruppentheorie>MinimumDemoszene <Programmierung>Zellularer AutomatPixelVektorraumQuaderInhalt <Mathematik>MathematikQuick-SortDifferenteParallele SchnittstelleBitDatenstrukturDatensichtgerätCASE <Informatik>Physikalisches SystemATMElektronische PublikationDateiformatKette <Mathematik>SynchronisierungFlussdiagrammTafelbild
04:21
Endliche ModelltheorieFehlermeldungElektronische PublikationTopologieZentrische StreckungNichtlinearer OperatorTouchscreenBitLastTeilbarkeitProjektive EbeneProgrammierungBildgebendes VerfahrenPhysikalisches SystemObjekt <Kategorie>Mapping <Computergraphik>MereologieGraphBitmap-GraphikZehnVorlesung/Konferenz
06:01
ParametersystemQuaderSpieltheorieBildverstehenBildgebendes VerfahrenAlgorithmusMereologieEndliche ModelltheorieProzess <Informatik>SelbstrepräsentationQuick-SortGraphische ProgrammierungFokalpunktGraphSchreib-Lese-KopfBridge <Kommunikationstechnik>Digitale PhotographieGrenzschichtablösungBefehl <Informatik>DivisionStandardabweichung
08:17
Endliche ModelltheorieSchreib-Lese-KopfKeller <Informatik>Nichtlinearer OperatorTopologieKomplex <Algebra>SelbstrepräsentationMenütechnikBitFreewareElektronische PublikationGraphBildgebendes VerfahrenKurvenanpassungEinsInteraktives FernsehenFokalpunktMailing-ListeDifferenteResultanteMultiplikationsoperatorKartesische KoordinatenDatenstrukturKette <Mathematik>LastWeg <Topologie>Funktion <Mathematik>MereologieZahlenbereichMultiplikationKategorie <Mathematik>ForcingRechter WinkelDialektInformationsspeicherung
13:43
GamecontrollerMultiplikationsoperatorLASER <Mikrocomputer>PixelQuaderBildgebendes VerfahrenXMLUML
14:12
Nichtlinearer OperatorGruppenoperationSichtenkonzeptSpieltheoriePunktPlug inEinfache GenauigkeitZentrische StreckungDimensionsanalyseDifferenzkernVerdeckungsrechnungTrennschärfe <Statistik>ZahlenbereichSelbst organisierendes SystemMathematische LogikRauschenResultanteGebäude <Mathematik>NormalvektorGamecontrollerDynamisches SystemVerzweigendes ProgrammParallele SchnittstelleQuick-SortMultiplikationsoperatorGraphBildverstehenBenutzerbeteiligungEndliche ModelltheorieElektronische PublikationAuswahlaxiomHoaxMomentenproblemHecke-OperatorDigitale PhotographieSchnittmengeEinfügungsdämpfungZirkel <Instrument>SoundverarbeitungUmsetzung <Informatik>SoftwareentwicklerEinsInelastischer StoßZusammenhängender GraphDifferenteComputerspielFormation <Mathematik>InterpolationSchreib-Lese-KopfKurvenanpassung
20:55
VerdeckungsrechnungElektronische PublikationTrennschärfe <Statistik>Gemeinsamer SpeicherBitNichtlinearer OperatorMereologieSoundverarbeitungSelbstrepräsentationPlug inSchnittmengeEreignishorizontLesen <Datenverarbeitung>EinfügungsdämpfungPlotterQuaderZellularer Automat
22:27
DreieckNichtlinearer OperatorMereologieGruppenoperationHierarchische StrukturVektorraumLeistung <Physik>Bildgebendes VerfahrenWeb-SeiteZahlenbereichArbeit <Physik>
24:08
Ein-AusgabeKette <Mathematik>Klon <Mathematik>EinsTopologieBitNichtlinearer OperatorRichtungGewicht <Ausgleichsrechnung>SchnittmengeGraphGruppenoperationAbgeschlossene MengeSatellitensystemVersionsverwaltungWort <Informatik>Basis <Mathematik>Gebäude <Mathematik>ARM <Computerarchitektur>Aggregatzustand
26:33
Nichtlinearer OperatorPhasenumwandlungKeller <Informatik>Gebäude <Mathematik>AggregatzustandMathematikQuaderWort <Informatik>SpieltheorieMenütechnik
27:37
AdressraumMinkowski-MetrikRichtungPunktParametersystemNichtlinearer OperatorKontrollstrukturBitDivergente ReiheMultiplikationsoperatorQuick-SortSchnittmengeFilter <Stochastik>Bildgebendes VerfahrenMailing-ListeATMMAPSoundverarbeitungMechanismus-Design-TheorieZentrische StreckungSpieltheorieRechter WinkelWeb logEinfügungsdämpfungVerzweigendes ProgrammLemma <Logik>DruckspannungXMLUMLVorlesung/Konferenz
Transkript: English(automatisch erzeugt)
00:01
Thank you everybody for Waking up what seemed so early Let's get started with my talk so Even that works the first time I use this so it's gonna be a technology miracle working out of the box
00:21
Good morning. My name is Peter sickening. I'm an interaction architect. I run a boutique company in Berlin and This is also my fifth LGM every year LGM is my anniversary of being roped into GIMP and So in every year I try to do a talk that sort of points forward I
00:46
Always show these slides at the beginning of my my talk is like what's an interaction architect well Can we all read this yeah, there's just enough contrast This is what a normal architect does the environment is the street or landscape and
01:05
Designing is enough, but not about me pretty it's about shaping an experience when you approach and enter the building and work and live there That's what I do. It's really similar The environment here is desktop web or handheld and again. It's not about making things pretty. It's about the experience of
01:24
using programs Certainly in gimp how well you can get the job done when you get a big job to do and it's about How to master a tool for masters Yeah, the topic I want to talk about this integration of gaggle in gimp. I
01:45
thought I Give a two-minute introduction to what gaggle actually is It's basically all in the inside and It's about a different way of storing and processing images so
02:09
Luckily the point of this slide was to show that there's a huge graph here It cannot really see the details anyway, so that's working out pretty good So let's see oh
02:22
We can see a little bit more Hmm Okay, the the thingy I'm highlighting is at the bottom. I'm showing you some elements of What's in a in a gaggle graph the first thing is these?
02:41
things that generate content distinct reads a image from file and This other box generates some text in vector Into pixels and then it gets processed further and There are all these chains of commands that do stuff with these pixels move them and transform them
03:08
Blur them etc. You see they they tend to turn up in sort of chain like structures then when you've done quite a bit of that in parallel then
03:22
Then there are compositors that mix things and Put things up on top of each other with different blending modes again, we've got a lot of different composite composite compositors More than gimp even built in and there's also all the portrait of stuff for
03:41
which I think fits mostly for vector stuff and When you put it all together then There's some kind of a image sync. That's gets it out of the system in this case. I think it's a display one or And or you write it
04:02
when you're exporting your Composition because that's what we're talking about not about the image, but about a composition You export it to some file format like PNG or or JPEG so So, yeah great
04:20
What's got to do with me, mr. Gooey So Four years ago around LGM It was really a factor to join a project that gimp was going to move from handling loads just loads and loads of bitmaps and operate directly on them to this graph based system where
04:42
The images themselves are never touched. They just go through a pipeline of operations and are spit out at the other side and When you save this gaggle tree into a file Then the images are also never changed. So You're always able to change the operations in between also a year later, so you got lossless editing and
05:06
that got me quite exciting because that's I saw as a potential to shake off all the some of the old ways of working and cure some of the existing ails in graphics processing whether it's gimp or another program and
05:24
It really was a factor in me deciding to join the club so today I want to talk about Okay you've seen a bit of the technicalities and Although the overview picture didn't work out so well, that was just a small graph, but it was already
05:41
Having tens and tens of objects hooked up together so I'm going to talk about what kind of UI I'm thinking of To integrate this into gimp so one of the things you can do when you got a technical model is To put it directly on the screen
06:04
You really cannot see anything And there these are all These are all boxes With their parameters in them and they're all hooked up together with poses yeah, this is a blender screenshot that I that I found and it's
06:24
Imaging it's processing these images through all this graph down to there and I think this is not something for creative people to use or not in general for artists who
06:43
Who work within the vision of game so what this is is visual programming Last year the question already came like oh what it is with hooking up You want to show the graph and I was like, no, that's visual programming. We know that from the 90s and
07:01
And no, I don't see that creative people Mostly want to work with that It might turn up this kind of modeling gimp because part of the gimp vision is to To really be about research of algorithms and to really dig deep inside
07:22
the representation of the process in itself But it will be sort of a separated corner Just like this part of the vision is slightly separated from the rest of the Of the normal statements about high-end photo processing and creating original art
07:42
So what you usually have to do is sort of bridge what goes on technically and they have to understand it and then Go to users and Focus on The activity focus on what's it like doing this kind of high-end photo and art making work
08:01
and Generalize that understand it understand what kind of models are playing there in the end user's head and here's what I Came up with so the focus is yes on on the image on the result and
08:23
Certainly in gimp in general you're working on You're compositing that from a bunch of layers It's very much ingrained Into the model the compositing and when you highlight one of these layers then and you work on them you just
08:42
you just do one operation after another and You do a little bit of this a little bit of that and you focus on that one layer in general At the same time you do another operation So When you look at this then I think we got a model we
09:03
Because Those layers up there is of course represented by the layer stack in the application and You can do the same for the operations you can what did I call it the manipulation dialogue the manipulation stack That's a working title. I'm Not completely sold on that
09:22
And Also now that I put some headings on this and call them already dialogues don't think this is a mock-up This is really just an interaction model of how this can use so Now we're getting closer Because this can be a representation in gimp of
09:42
of that Complex gaggle tree you've you've or graph that you've seen before Um, let's see what are we gonna do, um, so I think we're gonna
10:08
Show you now how to uh how to work with this how to put a new operation on stack and It will really work as people are used to you choose from the menu so from toolbox a tool and
10:22
uh And you start working and you see you get a new operation at the top. That's That's highlighted and Then you dismiss that and okay the image doesn't show it but it's done And yeah the with that we have already captured quite a bit
10:44
What was in that? In that gaggle graph. Ah, I have to show you that here. I've instead of operation are filling some names to uh to make it a bit more Tangible what's going on? So that's the load the image that's that chain of operations
11:01
That composite thing we talked about is here and the output is over there and this put into an application is exactly the kind of things I talked to Talk to you about before Now i'm back on track so Putting a new operation. There was the easy part where it gets more exciting is to go back in the past
11:23
And revisit an older operation we have done before maybe today maybe a month ago and Rechange that curve and by changing the curve All the other ones will be applied on top again And you immediately see the results why you are actually changing that curve in that dialogue. So
11:44
That's where for me The wild starts So there when you see this model, there's some more Easy things that can be immediately done. We uh, we all know these guys, uh
12:02
Layer visibility We can do the same for the operations you can just switch them on and off inside the stack So you can see before and after and of course you can You can do that Also for the month old operation to see still what the difference is
12:21
Does it still make so much so much of a difference and maybe I have to adjust it What's also quite cool immediately is that because it's got the same list structure you can just reorder the operations and Move something to the top for a for a bigger impact if if the operators don't
12:44
commutate That's each and every one is highlighterable so you can immediately start thinking about copy and pasting one or more of these operators and pasting them in the same layer Pasting them in a different layer, but just highlighting it and just
13:02
A much more free way of things you did before to apply it on something else One thing that's a bit of a bit of a question is We just grab one here and drop it on the layer over there what happens then
13:21
Is that a copy or is that a move of the operation? Uh If you adhere very much to the files and folders metaphor then you would say it's a move But I think it's going to be a copy but i'm not decided on that one yet so before we see more cool stuff, I
13:42
Gotta have a slight intermezzo And It's a very controlled country in belgium. So, um, what's the holy trinity so if I take this image and I do something to it Zurich airport gets invited
14:03
invaded by martian laser beams, um then Yeah, my question is then like How did I do that? did I pick some tool from the toolbox and Just did it like that. Did I build some kind of a fuzzy selection and then applied some operator on it or did I
14:25
Put some adjustment layer or normal layer over it and blended it and use the mask for that to work out the result and the answer is that i'm not going to tell you that because It doesn't matter you cannot see the difference and
14:43
And actually from a point of view gimp it really shouldn't matter What they all got in common is that they can be broken down at the end again every one of these actions to An operation that you're doing and some kind of a gray scale single dimension mask of applying it this is for what you Smear on with the tool. This is what your selection actually is. And this is what the layer mask also is. So
15:10
What i'm declaring today Although i've discussed this before with with the gaggle mice picking himself is
15:21
Full emancipation and full equality for these three ways of doing things and From the point of view of gimp There's going to be no preferred way or no single way to get any of these things to get anything done There's always going to be three ways the three ways that I sketched before and
15:41
and really Even with our well with our one million users that it's totally Up to the individual user on the individual moment in that individual composition of making To really figure out what is the most logical and plain obvious one to use for that? It really depends also
16:01
predominantly on the person and what they're comfortable with and Even down to the feeling they like to have of control or really with the hand tool to To do it in a free-flowing way that uh that determines what what they want to use The reason i'm injecting this into the talk is that um, and that's very necessary for the following reason
16:25
That is um, and that's very gaggle related uh The layer abuse that we've seen for years and years. First of all, there is the heck of the 90s the the adjustment layer as we know from photoshop
16:43
and uh And yeah from the moment I started working game I couldn't believe that when we had a single photo and it's sort of yeah, it's represented as a single layer and I just want to fine-tune the curves and be also be able to fine-tune it later and then when they do that in a non-destructive way, then
17:02
You gotta put another layer on it and it's like Wait a minute My photo is a single layer. Why can't I do just that directly on it? so I've been a long time even at all against adjustment layers in gimp But because of the trinity are now seeing like it's the third way of getting things done. So it's going to be fully supported
17:23
but um That kind of abuse got to stop the other thing is that in discussions about gaggle with the people involved implementing it. Um, there's a lot of talk when in that graph you see sort of parallel branches and There's like oh maybe a couple of pieces of text generated next to each other
17:43
That the talk is pretty soon like and each one goes on its own layer and like oh Wait a minute Stop it right there. Uh That is not in anybody's interest when their model of thinking is like, well, these are just labeling up some
18:01
Some web buttons and it's solidly within the vision of gimp to do that kind of work so can I just have one text layer to just Lay them all out like that and get that done So, um, so that's got to stop and in the catholic way, here's the dogma
18:24
Only users decide to create layers The commands really say something like new layer copy layer pasting layer, etc That's obvious and conscious ways to do to make layers it's not like Uh
18:41
We do a normal pace It shouldn't show up as a fake layer or something or immediately be shown as a layer and be treated like that from there on It's a user's choice and it's not ours. So So we're going to adhere to that users use layers as a logical organization of their file and it's their logical organization and nobody
19:03
Certainly not we are going to force them to use more layers than they are comfortable with That was number one from there was a reason for Really stressing the holy trinity. There's think about this for the talk is what two implications that I that the similarly realize if you fully pull it through and that's
19:23
the first one is Okay, you should be doing be able to do anything with a hand tool. So that means at the end painting with anything so I always have the example of oh, I just want to paint with noise or That would be nice if you could just take some tool and paint with noise
19:42
It really goes down to that any plugin You should be able to paint with the results on your canvas and apply it with that mask that you're actually building up These are also plugins that game developers have never seen before, you know You stick your brush in the effect and smear it on the compass, but I think it gets really interesting if you combine this
20:06
With the new paint dynamics that That special alexia is introducing and i'm also working on this combined with any kind of fact that you can just smear With a lot of control from your tablet on on the canvas is is something that gets
20:22
Then i'm quite excited about The other side of this is of course the adjustment layers, I never wanted to have but I have to accept Um also have to be able to apply anything not just the basic building Operators and stuff like that. It's got to work with any plugin same deal
20:43
uh else you don't have the holy trinity and Yeah, that's that's the new game dogma so back to the ranch So i've been talking a bit about these grayscale masks and
21:03
This is a representation of layer masks in the In the layer dialogue, so when you got them here then You know You can also have them there. This is when you use that hand tool from the toolbox And you're smearing it on then you're doing the effects With the settings plus that grayscale mask that you can actually show next to it
21:25
In the actual operation if you apply Uh some kind of plug-in on a selection then that selection becomes the grayscale masters right there and then now it gets pretty cool because one year later you go back to your file and Just like layer mask you you actually highlight the iG myself or so
21:47
You highlight this That mask itself they can edit it again the grayscale bits needs to be there inside the file Already warned about that that that may need some
22:00
Clever sharing of the same mask because else it can just pile up But it needs to be there because it's part of the operation you did one year ago, and you need to be able to to change that It also includes adjusting your own painting by erasing over it and using some other paint tool to go over it so
22:20
Rushing towards the end A Couple more topics In a more hand-waving way One thing that's quite tricky is pasting image material inside that layer so
22:41
It's going to move there you go So the question was yeah when i'm pasting Like some of the technical people say well, that's first of all a new layer or that goes in layer three and i'm like No, no, no, wait a minute Especially because of the trinity
23:02
When you pay something that's just an operation you did on this layer and it becomes part of it Of course, it needs to be there On the stack, there's your little paste and it needs to be on the stack because a year later you need to be able to revisit that and When you highlight that you may move the thing to another place and
23:22
Apply other operations on it talking about applying operations on your pace before you nail it down on the layer That's something that I see the power of it and we really got to support it that probably means that we Need a little triangle there and a sub layer or sub
23:41
It's really a sub layer of Of operations on the paste that so we're going to get hierarchy inside the actual operations So we will need to we'll need something like that. This is similar to Layer groups and go inside that this is similar to to s To having vector layers and then having a bunch of them that can also be stacked. So you need sub layer hierarchy inside it
24:08
Two more topics in a hand waving way One of the difficult things that I got to know last year is the cloning bit so There's that bit of tree again. And these guys here are called clone that we can just about read it
24:26
and As Pippin described it That's just something like it catches whatever comes in here in the input and teleports it to weigh some Weigh somewhere else in the graph itself and
24:41
If you change this bit it also changes in the sky above there, so So really certainly in that direction from the master to the clone it works like that Pretty quickly the
25:02
solution for that was was found to When you get something copied then you cannot just literally paste it and get a copy of it. You can also paste as clone Which will then turn up in in quite a few of the menus to do things as a clone
25:24
But that's only the start of it Because I think yeah, he just wants to have this funnel and teleport it to somewhere else I can think of more things you can paste as a clone. You can just take a layer And paste it as a clone. You got a cloned layer and They're one in the same thing
25:43
I can take a group of operators In my uh, whatever my operator's dialogue and paste them as a clone somewhere else and If you change them on either side, the other ones change too. So you got eternally chained Set of operators of the same thing
26:01
Still the discussion of this cloning should be just like linking hard or soft cloning if there should be a master and then slave relationship Or it should be really hard cloning all the same thing you change one. You always change another one. So This is where the mind bubbles and
26:22
that's That's something tbd finally Just to send you off with another thing that is quite intriguing When we got all that gaggle building to to gimp and you saw the operations tech then
26:44
The last dogma of today will be that you still be able to use gimp like this Without The gaggle stack at all if you're not interested in turning operations on and off reordering them or revisiting the past and changing them Then gimp will work
27:01
Really fully for you and mostly like it was in the past there are of course other changes, but It will begin Just like you knew it with working on layers Doing the operations using the toolbox to do stuff or things from the menu and um So this is a document that's also going to be pulled through to the design phase that
27:23
at the end You're not dependent on the on the gaggle dialogue or the operation dialogue to get your stuff done If you still be just in a linear way you want to get stuff done Export it and get out of there so with that I leave you for today Thank you
27:48
Space for one question one question and the rest we will need to discuss in the break Anyone has a question Yes You i'm sorry you need to not all at once i'm coming front and maybe you want to move
28:02
Into the front because otherwise we're blocking the entry. So please there's seats enough here Can you move please? I'm, just wondering you know with the With all the gaggle operations there Are you going to have some sort of cataloging or tags or?
28:20
How do you know that something you used two years ago? What it did Or you know rather than sort of just going in there and fiddling with the machinery of the of the operations. How do you remember? What a series because you may have much more than four or five operations, right? given image
28:40
well, first of all the Let me stress that really the operations that you saw the operations you'll be able to put in are Just the same stuff you see right now just All your filters will be called as the filters are all All your modes of applying stuff all the compositing will be called as it is right now as it is recognized
29:02
by the whole graphics community, so It's simply a prerequisite that when you're operating in You know the tool you mastered it you put in your couple of years of working with it to get to that level Where you're working really? Well, so Your question how do you recognize those old operators really scales in the same way with how do I recognize to do my next step?
29:24
What do I need to do to get the next thing done? So it's that same mechanism of this name stands for this kind of effect that gives you That is used to recognize the old stuff or to plan how to do the next thing If you look at your old operators and what I showed you was you click on them you get your old parameters
29:43
so you take it from there from the point where you were And you pick up from there to adjust it in the direction that you want to take now so that's Yeah, that's just building on the same mechanism as before you have to know what you're doing You have to know what gaussian blur does for you
30:00
To pick it also from that stack of operations to know like I need to adjust my blur because it's just not right And I thought it could be a little bit more a little bit less or a bit more edgy or whatever So it is also at the end it is a tool for masters and You simply get to learn and know how to get your graphics done With the same set of operators that you know from last year
30:23
And it will be there in five years time too. They will be just on that list of things you've done Thank you