mirror of
https://github.com/rive-app/rive-cpp.git
synced 2026-01-18 21:21:17 +01:00
feat(Image sampler filters) Adds Image filter options for rendering images (#9309) 930facea3f
* added filter type to draw batch * c++ implementation of ImageSamplerOptions * image sampler options now pushes correct for RiveRenderPaint * wip * OpenGL uses correct sample options * now only one filter option that accounts for mip map * d3d now uses sampler states options * better way to get the filter option * added mirror and inverse mirror options * started using helper functions for retreiving sampler optiojnhs * workaround for vulkn semaphore issue * wip * added filter type to draw batch * c++ implementation of ImageSamplerOptions * image sampler options now pushes correct for RiveRenderPaint * wip * OpenGL uses correct sample options * now only one filter option that accounts for mip map * d3d now uses sampler states options * better way to get the filter option * added mirror and inverse mirror options * started using helper functions for retreiving sampler optiojnhs * workaround for vulkn semaphore issue * wip * undo deleting empty descriptor * properly packed image options * removed uneeded checks * more unit tests * unreal image_filter_options integration, gm for image filters * properly implement new draw functions for cgrender * finish mege conflicts * merge vulkan sampler options * cherry-picked vulkan imp into branch * initial metal * clang-format * d3d12 image filter options * fixed d3d * clang-format * fixed mip filter for metal * made every filter option act as similiar as possible * addressed pr changes * fixed tests * empty commit to fix github * fix: webgl renderers * started addressing PR comments * metal change for pr * more pr stuff * final PR address * shader update per PR request * rhi updat e * added gm requested in pr * made d3d12 work with more then 2000 sampler changes per flush * pr comments Co-authored-by: Chris Dalton <chris@rive.app> Co-authored-by: Jonathon Copeland <jcopela4@gmail.com> Co-authored-by: Luigi Rosso <luigi.rosso@gmail.com>
This commit is contained in:
@@ -23,8 +23,12 @@ public:
|
||||
void transform(const Mat2D& transform) override;
|
||||
void clipPath(RenderPath* path) override;
|
||||
void drawPath(RenderPath* path, RenderPaint* paint) override;
|
||||
void drawImage(const RenderImage*, BlendMode, float opacity) override;
|
||||
void drawImage(const RenderImage*,
|
||||
const rive::ImageSampler,
|
||||
BlendMode,
|
||||
float opacity) override;
|
||||
void drawImageMesh(const RenderImage*,
|
||||
const rive::ImageSampler,
|
||||
rcp<RenderBuffer> vertices_f32,
|
||||
rcp<RenderBuffer> uvCoords_f32,
|
||||
rcp<RenderBuffer> indices_u16,
|
||||
|
||||
@@ -240,6 +240,7 @@ void SkiaRenderer::clipPath(RenderPath* path)
|
||||
}
|
||||
|
||||
void SkiaRenderer::drawImage(const RenderImage* image,
|
||||
const rive::ImageSampler,
|
||||
BlendMode blendMode,
|
||||
float opacity)
|
||||
{
|
||||
@@ -253,6 +254,7 @@ void SkiaRenderer::drawImage(const RenderImage* image,
|
||||
#define SKIA_BUG_13047
|
||||
|
||||
void SkiaRenderer::drawImageMesh(const RenderImage* image,
|
||||
const rive::ImageSampler,
|
||||
rcp<RenderBuffer> vertices,
|
||||
rcp<RenderBuffer> uvCoords,
|
||||
rcp<RenderBuffer> indices,
|
||||
|
||||
Reference in New Issue
Block a user