6#include <PhosphorAnimation/phosphoranimation_export.h>
77 bool isUserEffect =
false;
94 bool isMultipass =
false;
99 bool useWallpaper =
false;
103 bool bufferFeedback =
false;
108 qreal bufferScale = 1.0;
129 bool useDepthBuffer =
false;
167 static constexpr qreal kMinBufferScale = 0.125;
168 static constexpr qreal kMaxBufferScale = 1.0;
169 static_assert(kMinBufferScale > 0.0 && kMinBufferScale < kMaxBufferScale,
170 "kMinBufferScale must be positive and strictly less than kMaxBufferScale");
226 return path == other.
path && wrap == other.
wrap;
230 return !(*
this == other);
237 return !
id.isEmpty() && !fragmentShaderPath.isEmpty();
246 return !(*
this == other);
Q_DECLARE_TYPEINFO(PhosphorAnimationShaders::AnimationShaderEffect::TextureSlot, Q_RELOCATABLE_TYPE)
Definition AnimationAppRule.h:17
Declared shader inputs beyond the standard set (iTime, iFrame, etc.).
Definition AnimationShaderEffect.h:185
QVariant maxValue
JSON/QML key: max.
Definition AnimationShaderEffect.h:193
QString name
Definition AnimationShaderEffect.h:187
QString description
Optional one-line tooltip for the settings UI.
Definition AnimationShaderEffect.h:189
QVariant minValue
JSON/QML key: min.
Definition AnimationShaderEffect.h:192
QVariant stepValue
Optional slider step; JSON/QML key: step. QML falls back to (max-min)/200.
Definition AnimationShaderEffect.h:194
QString group
Optional accordion group name for the settings UI.
Definition AnimationShaderEffect.h:190
QVariant defaultValue
JSON/QML key: default.
Definition AnimationShaderEffect.h:191
QString id
Definition AnimationShaderEffect.h:186
QString type
"float", "int", "bool", "color"
Definition AnimationShaderEffect.h:188
User texture slot.
Definition AnimationShaderEffect.h:219
QString wrap
"clamp" / "repeat" / "mirror"; empty = runtime default. Other values are rejected by fromJson.
Definition AnimationShaderEffect.h:222
bool operator!=(const TextureSlot &other) const
Definition AnimationShaderEffect.h:228
QString path
Filename relative to the effect's sourceDir.
Definition AnimationShaderEffect.h:220
bool operator==(const TextureSlot &other) const
Definition AnimationShaderEffect.h:224
Metadata for a single animation shader effect (transition).
Definition AnimationShaderEffect.h:45
QString version
Semantic version of this effect pack.
Definition AnimationShaderEffect.h:59
FboExtentKind
How wide the shader effect's render target is — relative to its anchor (default), or filling the surf...
Definition AnimationShaderEffect.h:153
QString fragmentShaderPath
Path to the fragment shader (relative to the effect dir).
Definition AnimationShaderEffect.h:67
QString author
Author attribution.
Definition AnimationShaderEffect.h:56
static AnimationShaderEffect fromJson(const QJsonObject &obj)
QString category
Category for settings-UI grouping (e.g. "Fade", "Geometric", "Glitch").
Definition AnimationShaderEffect.h:62
QString bufferFilter
Default filter mode for all buffer samplers.
Definition AnimationShaderEffect.h:121
QList< TextureSlot > textures
Definition AnimationShaderEffect.h:233
QStringList bufferShaderPaths
Buffer-pass shader paths (relative to effect dir).
Definition AnimationShaderEffect.h:87
QJsonObject toJson() const
QString id
Stable identifier — lookup key in the registry.
Definition AnimationShaderEffect.h:47
bool operator!=(const AnimationShaderEffect &other) const
Definition AnimationShaderEffect.h:244
bool operator==(const AnimationShaderEffect &other) const
QString sourceDir
Resolved absolute directory containing this effect's assets.
Definition AnimationShaderEffect.h:74
QString name
Human-readable display name (localizable by the consumer).
Definition AnimationShaderEffect.h:50
QList< ParameterInfo > parameters
Definition AnimationShaderEffect.h:196
QString bufferWrap
Default wrap mode for all buffer samplers.
Definition AnimationShaderEffect.h:113
QStringList bufferWraps
Per-buffer wrap-mode overrides; index aligns with bufferShaderPaths.
Definition AnimationShaderEffect.h:117
QString description
One-line description for settings UI tooltips.
Definition AnimationShaderEffect.h:53
QStringList bufferFilters
Per-buffer filter-mode overrides; index aligns with bufferShaderPaths.
Definition AnimationShaderEffect.h:125
bool isValid() const
Definition AnimationShaderEffect.h:235
QString previewPath
Preview image path (relative to the effect dir). For settings UI.
Definition AnimationShaderEffect.h:80
QString vertexShaderPath
Path to the vertex shader (relative to the effect dir).
Definition AnimationShaderEffect.h:71