Skip to content

Customization of wave function for TileReflection#1051

Merged
cameronwhite merged 13 commits into
PintaProject:masterfrom
Lehonti:improvement1
Oct 27, 2024
Merged

Customization of wave function for TileReflection#1051
cameronwhite merged 13 commits into
PintaProject:masterfrom
Lehonti:improvement1

Conversation

@Lehonti

@Lehonti Lehonti commented Oct 18, 2024

Copy link
Copy Markdown
Contributor

The sharp, clear-cut edges of the tiles in TileReflection are achieved through the tangent function, which approaches infinite on one side and minus infinite on the other side, resulting in very sudden jumps.

But what if we chose a different function? For example if we chose sine, the image would be bulged in a tile pattern but it wouldn't have clear edges. Other functions would behave in different, interesting ways.

@cameronwhite

Copy link
Copy Markdown
Member

This is cool, definitely has some interesting effects!

I'm mostly unsure about the naming of the Wave Type parameter and its menu options, which are pretty technical and might not make much sense to a user without an understanding of what the effect is doing internally. Ideally there could be some names that describe what behaviour is produced?

@Lehonti

Lehonti commented Oct 20, 2024

Copy link
Copy Markdown
Contributor Author

@cameronwhite what names would you suggest?

@cameronwhite

Copy link
Copy Markdown
Member

I haven't thought much about names for the new modes, but for example you might label the existing mode as Tile Shape -> Curved Edges or something like that?
The current mode looks like the image is reflected in a mirror made up of tiles that have some curvature along their edges. Ideally we could have some labels for the new modes that give some idea of the general look of the effect

@Lehonti

Lehonti commented Oct 25, 2024

Copy link
Copy Markdown
Contributor Author

@cameronwhite, since we're focusing on the visual effect rather than the wave function, I’ve narrowed the options down to two to start (we can add more tile types later). I named the enum TileType, with the options CleavedEdges (the existing type) and CurvedEdges (the new type). English isn’t my first language, so feel free to suggest different names if you think they would be more suitable.

Comment thread Pinta.Effects/Effects/TileEffect.cs Outdated
[Caption ("Intensity"), MinimumValue (-20), MaximumValue (20)]
public int Intensity { get; set; } = 8;

[Caption ("Wave Type")]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The caption here should also be updated to Tile Type

Comment thread Pinta.Effects/Effects/TileEffect.cs Outdated

public enum TileType
{
[Caption ("Cleaved Edges")]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd maybe use Sharp rather than Cleaved here, since that might be easier to translate into other languages too

Comment thread Pinta.Effects/Effects/TileEffect.cs Outdated
[Caption ("Cleaved Edges")]
CleavedEdges,

[Caption ("Curved Edges")]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about just Curved or Round?
From what I recall when testing it out last week, in this mode it's more like the whole tile is curved, whereas the other mode is more like a flat tile except at the edges

@Lehonti

Lehonti commented Oct 27, 2024

Copy link
Copy Markdown
Contributor Author

@cameronwhite I implemented your suggestions 👍

@cameronwhite cameronwhite merged commit 37711fc into PintaProject:master Oct 27, 2024
@Lehonti Lehonti deleted the improvement1 branch October 27, 2024 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants