Material now implements NativeHandle

This commit is contained in:
Nick Fisher
2025-07-01 10:06:05 +08:00
parent 35369b890f
commit b3b0e2bae1
2 changed files with 7 additions and 2 deletions

View File

@@ -3,7 +3,7 @@ import 'package:thermion_dart/src/filament/src/implementation/ffi_filament_app.d
import 'package:thermion_dart/src/filament/src/implementation/ffi_texture.dart';
import 'package:thermion_dart/thermion_dart.dart';
class FFIMaterial extends Material {
class FFIMaterial extends Material<Pointer<TMaterial>> {
final FFIFilamentApp app;
final Pointer<TMaterial> pointer;
@@ -28,6 +28,11 @@ class FFIMaterial extends Material {
return Material_hasParameter(
pointer, propertyName.toNativeUtf8().cast<Char>());
}
@override
Pointer<TMaterial> getNativeHandle() {
return pointer;
}
}
class FFIMaterialInstance extends MaterialInstance<Pointer<TMaterialInstance>> {

View File

@@ -93,7 +93,7 @@ enum TransparencyMode {
TWO_PASSES_TWO_SIDES
}
abstract class Material {
abstract class Material<T> extends NativeHandle<T> {
Future<MaterialInstance> createInstance();
Future<bool> hasParameter(String propertyName);
Future destroy();