refactoring

This commit is contained in:
Nick Fisher
2025-03-21 17:18:16 +08:00
parent 4ef74c4c70
commit a67f42f0de
12 changed files with 262 additions and 52 deletions

View File

@@ -100,9 +100,13 @@ using namespace filament;
#endif
}
EMSCRIPTEN_KEEPALIVE void View_setToneMapping(TView *tView, TEngine *tEngine, TToneMapping tToneMapping)
{
auto view = reinterpret_cast<View *>(tView);
EMSCRIPTEN_KEEPALIVE void View_setColorGrading(TView *tView, TColorGrading *tColorGrading) {
auto *view = reinterpret_cast<View*>(tView);
auto *colorGrading = reinterpret_cast<ColorGrading *>(tColorGrading);
view->setColorGrading(colorGrading);
}
EMSCRIPTEN_KEEPALIVE TColorGrading *ColorGrading_create(TEngine* tEngine, TToneMapping tToneMapping) {
auto engine = reinterpret_cast<Engine *>(tEngine);
ToneMapper *tm;
@@ -122,17 +126,12 @@ using namespace filament;
break;
default:
TRACE("ERROR: Unsupported tone mapping");
return;
}
auto newColorGrading = ColorGrading::Builder().toneMapper(tm).build(*engine);
auto oldColorGrading = view->getColorGrading();
view->setColorGrading(newColorGrading);
if (oldColorGrading)
{
engine->destroy(oldColorGrading);
return nullptr;
}
auto colorGrading = ColorGrading::Builder().toneMapper(tm).build(*engine);
delete tm;
return reinterpret_cast<TColorGrading *>(colorGrading);
}
void View_setAntiAliasing(TView *tView, bool msaa, bool fxaa, bool taa)