Gecko:AcceleratedFilters: Difference between revisions

Line 54: Line 54:
** Define an object which describes a graph of filter primitives. Let's call it the FilterDescription.
** Define an object which describes a graph of filter primitives. Let's call it the FilterDescription.
** Moz2D DrawTargets provide an API to construct a backend-specific Filter object from the FilterDescription.
** Moz2D DrawTargets provide an API to construct a backend-specific Filter object from the FilterDescription.
** The Filter object contains methods for setting parameters for each filter primitive. Parameters can be images (SourceSurfaces), scalars, lists of scalars. "Enum" parameters could be baked into the FilterDescription.
** The Filter object contains methods for setting parameters for each filter primitive. Parameters can be images (SourceSurfaces), scalars, lists of scalars.
*** It might make sense to bake "enum" parameters, and the length of each list of scalars, into the FilterDescription since it doesn't make much sense to animate those (though they are technically animatable).
** The Filter object does not allow changes to the graph structure.
** The Filter object does not allow changes to the graph structure.
** Moz2D DrawTargets provide a DrawSurfaceWithFilter API similar to DrawSurfaceWithShadow (and will eventually replace DrawSurfaceWithShadow), which takes a Filter.
** Moz2D DrawTargets provide a DrawSurfaceWithFilter API similar to DrawSurfaceWithShadow (and will eventually replace DrawSurfaceWithShadow), which takes a Filter.
1,295

edits