add RenderTarget_destroyRenderThread
This commit is contained in:
@@ -1,5 +1,3 @@
|
|||||||
import 'dart:ffi';
|
|
||||||
|
|
||||||
import 'package:thermion_dart/src/viewer/src/ffi/src/callbacks.dart';
|
import 'package:thermion_dart/src/viewer/src/ffi/src/callbacks.dart';
|
||||||
import 'package:thermion_dart/src/viewer/src/ffi/src/ffi_filament_app.dart';
|
import 'package:thermion_dart/src/viewer/src/ffi/src/ffi_filament_app.dart';
|
||||||
import 'package:thermion_dart/src/viewer/src/ffi/src/ffi_texture.dart';
|
import 'package:thermion_dart/src/viewer/src/ffi/src/ffi_texture.dart';
|
||||||
@@ -25,6 +23,6 @@ class FFIRenderTarget extends RenderTarget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Future destroy() async {
|
Future destroy() async {
|
||||||
await withVoidCallback((cb) => RenderTarget_destroy(app.engine, renderTarget));
|
await withVoidCallback((cb) => RenderTarget_destroyRenderThread(app.engine, renderTarget, cb));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -186,6 +186,12 @@ namespace thermion
|
|||||||
TTexture *depth,
|
TTexture *depth,
|
||||||
void (*onComplete)(TRenderTarget *)
|
void (*onComplete)(TRenderTarget *)
|
||||||
);
|
);
|
||||||
|
EMSCRIPTEN_KEEPALIVE void RenderTarget_destroyRenderThread(
|
||||||
|
TEngine *tEngine,
|
||||||
|
TRenderTarget *tRenderTarget,
|
||||||
|
void (*onComplete)()
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
// TextureSampler methods
|
// TextureSampler methods
|
||||||
EMSCRIPTEN_KEEPALIVE void TextureSampler_createRenderThread(void (*onComplete)(TTextureSampler*));
|
EMSCRIPTEN_KEEPALIVE void TextureSampler_createRenderThread(void (*onComplete)(TTextureSampler*));
|
||||||
|
|||||||
@@ -784,7 +784,19 @@ EMSCRIPTEN_KEEPALIVE void SceneAsset_createFromFilamentAssetRenderThread(
|
|||||||
auto fut = _renderThread->add_task(lambda);
|
auto fut = _renderThread->add_task(lambda);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMSCRIPTEN_KEEPALIVE void RenderTarget_destroyRenderThread(
|
||||||
|
TEngine *tEngine,
|
||||||
|
TRenderTarget *tRenderTarget,
|
||||||
|
void (*onComplete)()
|
||||||
|
) {
|
||||||
|
std::packaged_task<void()> lambda(
|
||||||
|
[=]() mutable
|
||||||
|
{
|
||||||
|
RenderTarget_destroy(tEngine, tRenderTarget);
|
||||||
|
onComplete();
|
||||||
|
});
|
||||||
|
auto fut = _renderThread->add_task(lambda);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
EMSCRIPTEN_KEEPALIVE void TextureSampler_createRenderThread(void (*onComplete)(TTextureSampler *))
|
EMSCRIPTEN_KEEPALIVE void TextureSampler_createRenderThread(void (*onComplete)(TTextureSampler *))
|
||||||
|
|||||||
Reference in New Issue
Block a user