6#include <PhosphorAnimation/phosphoranimation_export.h>
94 bool isUserEffect =
false;
111 bool isMultipass =
false;
116 bool useWallpaper =
false;
120 bool bufferFeedback =
false;
125 qreal bufferScale = 1.0;
146 bool useDepthBuffer =
false;
188 int geometryGridSubdivisions = 0;
198 static constexpr qreal kMinBufferScale = 0.125;
199 static constexpr qreal kMaxBufferScale = 1.0;
200 static_assert(kMinBufferScale > 0.0 && kMinBufferScale < kMaxBufferScale,
201 "kMinBufferScale must be positive and strictly less than kMaxBufferScale");
257 return path == other.
path && wrap == other.
wrap;
261 return !(*
this == other);
268 return !
id.isEmpty() && !fragmentShaderPath.isEmpty();
277 return !(*
this == other);
Q_DECLARE_TYPEINFO(PhosphorAnimationShaders::AnimationShaderEffect::TextureSlot, Q_RELOCATABLE_TYPE)
Definition AnimationShaderContract.h:10
PHOSPHORANIMATION_EXPORT bool shaderEffectAppliesToEventPath(const AnimationShaderEffect &effect, const QString &path)
True iff effect may meaningfully run on event path.
Declared shader inputs beyond the standard set (iTime, iFrame, etc.).
Definition AnimationShaderEffect.h:216
QVariant maxValue
JSON/QML key: max.
Definition AnimationShaderEffect.h:224
QString name
Definition AnimationShaderEffect.h:218
QString description
Optional one-line tooltip for the settings UI.
Definition AnimationShaderEffect.h:220
QVariant minValue
JSON/QML key: min.
Definition AnimationShaderEffect.h:223
QVariant stepValue
Optional slider step; JSON/QML key: step. QML falls back to (max-min)/200.
Definition AnimationShaderEffect.h:225
QString group
Optional accordion group name for the settings UI.
Definition AnimationShaderEffect.h:221
QVariant defaultValue
JSON/QML key: default.
Definition AnimationShaderEffect.h:222
QString id
Definition AnimationShaderEffect.h:217
QString type
"float", "int", "bool", "color"
Definition AnimationShaderEffect.h:219
User texture slot.
Definition AnimationShaderEffect.h:250
QString wrap
"clamp" / "repeat" / "mirror"; empty = runtime default. Other values are rejected by fromJson.
Definition AnimationShaderEffect.h:253
bool operator!=(const TextureSlot &other) const
Definition AnimationShaderEffect.h:259
QString path
Filename relative to the effect's sourceDir.
Definition AnimationShaderEffect.h:251
bool operator==(const TextureSlot &other) const
Definition AnimationShaderEffect.h:255
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:170
QString fragmentShaderPath
Path to the fragment shader (relative to the effect dir).
Definition AnimationShaderEffect.h:84
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:138
QList< TextureSlot > textures
Definition AnimationShaderEffect.h:264
QStringList bufferShaderPaths
Buffer-pass shader paths (relative to effect dir).
Definition AnimationShaderEffect.h:104
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:275
bool operator==(const AnimationShaderEffect &other) const
QString sourceDir
Resolved absolute directory containing this effect's assets.
Definition AnimationShaderEffect.h:91
QString name
Human-readable display name (localizable by the consumer).
Definition AnimationShaderEffect.h:50
QList< ParameterInfo > parameters
Definition AnimationShaderEffect.h:227
QString bufferWrap
Default wrap mode for all buffer samplers.
Definition AnimationShaderEffect.h:130
QStringList bufferWraps
Per-buffer wrap-mode overrides; index aligns with bufferShaderPaths.
Definition AnimationShaderEffect.h:134
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:142
bool isValid() const
Definition AnimationShaderEffect.h:266
QString previewPath
Preview image path (relative to the effect dir). For settings UI.
Definition AnimationShaderEffect.h:97
QString vertexShaderPath
Path to the vertex shader (relative to the effect dir).
Definition AnimationShaderEffect.h:88
QStringList appliesTo
Event-class tokens this effect is meaningful on.
Definition AnimationShaderEffect.h:79