From 44b502a1e413335954342d5b36d839be69908e01 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Sat, 30 Nov 2024 13:59:20 +0800 Subject: [PATCH] add dithering to view --- thermion_dart/native/src/c_api/TView.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/thermion_dart/native/src/c_api/TView.cpp b/thermion_dart/native/src/c_api/TView.cpp index 05d57e0b..e311e6f6 100644 --- a/thermion_dart/native/src/c_api/TView.cpp +++ b/thermion_dart/native/src/c_api/TView.cpp @@ -126,10 +126,12 @@ using namespace filament; auto view = reinterpret_cast(tView); View::MultiSampleAntiAliasingOptions multiSampleAntiAliasingOptions; multiSampleAntiAliasingOptions.enabled = msaa; - + multiSampleAntiAliasingOptions.sampleCount = 2; view->setMultiSampleAntiAliasingOptions(multiSampleAntiAliasingOptions); + TemporalAntiAliasingOptions taaOpts; taaOpts.enabled = taa; + view->setTemporalAntiAliasingOptions(taaOpts); view->setAntiAliasing(fxaa ? AntiAliasing::FXAA : AntiAliasing::NONE); } @@ -175,6 +177,20 @@ using namespace filament; }); } + EMSCRIPTEN_KEEPALIVE void View_setDitheringEnabled(TView *tView, bool enabled) { + auto *view = reinterpret_cast(tView); + if(enabled) { + view->setDithering(Dithering::TEMPORAL); + } else { + view->setDithering(Dithering::NONE); + } + } + + EMSCRIPTEN_KEEPALIVE bool View_isDitheringEnabled(TView *tView) { + auto *view = reinterpret_cast(tView); + return view->getDithering() == Dithering::TEMPORAL; + } + #ifdef __cplusplus } }