diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index f2a9bb4d..c0f0872d 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -26,7 +26,7 @@ PODS: - Filament/utils (1.12.4) - Flutter (1.0.0) - mimetic_filament (0.0.1): - - Filament (~> 1.12.3) + - Filament (~> 1.12.4) - Flutter DEPENDENCIES: @@ -46,7 +46,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Filament: 701abb8200237da11b6f74c318f2a875ef309b91 Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a - mimetic_filament: 089d6e6ef4a3061fa22b023a895e0a3e0e350254 + mimetic_filament: 786c54c8c204e2898f9ca33c45ea7500042df62a PODFILE CHECKSUM: 7adbc9d59f05e1b01f554ea99b6c79e97f2214a2 diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index ea956665..28140955 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -285,7 +285,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -315,6 +315,7 @@ ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_INPUT_FILETYPE = automatic; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; @@ -363,7 +364,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -394,6 +395,7 @@ ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_INPUT_FILETYPE = automatic; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -420,7 +422,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; @@ -450,6 +452,7 @@ ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_INPUT_FILETYPE = automatic; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; diff --git a/example/lib/main.dart b/example/lib/main.dart index e91cfac5..68e1fe25 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -23,7 +23,7 @@ class _MyAppState extends State { bool _rotate = false; int _primitiveIndex = 0; - double _weight = 0.0; + final weights = List.filled(255, 0.0); List _targets = []; @override @@ -61,97 +61,100 @@ class _MyAppState extends State { }, child: Stack(children: [ FilamentWidget(controller: _filamentController), - Column( - mainAxisSize: MainAxisSize.min, - children: [ - ElevatedButton( - child: Text("initialize"), - onPressed: () async { - await _filamentController.loadSkybox( - "assets/default_env/default_env_skybox.ktx", - "assets/default_env/default_env_ibl.ktx"); - await _filamentController.loadGltf( - "assets/guy.gltf", "assets"); - _targets = await _filamentController - .getTargetNames("CC_Base_Body.002"); - setState(() {}); + Positioned.fill( + top: 200, + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + SizedBox( + height: 100, + child: Row(children: [ + ElevatedButton( + child: Text("initialize"), + onPressed: () async { + await _filamentController.loadSkybox( + "assets/default_env/default_env_skybox.ktx", + "assets/default_env/default_env_ibl.ktx"); + await _filamentController.loadGltf( + "assets/caleb_mouth_morph_target.gltf", + "assets"); + _targets = await _filamentController + .getTargetNames("CC_Base_Body"); + setState(() {}); - // _filamentController.createMorpher( - // "CC_Base_Body.003", "CC_Base_Body.003", - // materialName: "Material"); - }), - // ElevatedButton( - // child: Text("load skybox"), - // onPressed: () { - // _filamentController.loadSkybox( - // "assets/default_env/default_env_skybox.ktx", - // "assets/default_env/default_env_ibl.ktx"); - // }), - // ElevatedButton( - // child: Text("load gltf"), - // onPressed: () { - // _filamentController.loadGltf( - // "assets/guy.gltf", "assets", "Material"); - // }), - // ElevatedButton( - // child: Text("create morpher"), - // onPressed: () { - // _filamentController.createMorpher( - // "CC_Base_Body.003", "CC_Base_Body.003", - // materialName: "Material"); - // }), - Row(children: [ - Container( - padding: EdgeInsets.all(10), - color: Colors.white, - child: Text(_primitiveIndex.toString())), - ElevatedButton( - child: Text("+"), - onPressed: () { - setState(() { - _primitiveIndex = min(_primitiveIndex + 1, 5); - }); - }), - ElevatedButton( - child: Text("-"), - onPressed: () { - setState(() { - _primitiveIndex = max(_primitiveIndex - 1, 0); - }); - }), - ]), - Slider( - min: 0, - max: 1, - divisions: 10, - value: _weight, - onChanged: (v) { - setState(() { - _weight = v; - _filamentController.applyWeights( - List.filled(255, _weight), - _primitiveIndex.toInt()); - }); - }), - Row(children: [ - Checkbox( - value: _rotate, - onChanged: (v) { - setState(() { - _rotate = v == true; - }); - }), - ElevatedButton( - onPressed: () => _filamentController.zoom(100.0), - child: const Text("+")), - ElevatedButton( - onPressed: () => _filamentController.zoom(-100.0), - child: const Text("-")) - ]), - ] + - _targets.map((t) => Text(t)).toList()), + _filamentController.createMorpher( + "CC_Base_Body", [1, 7, 8]); + }), + Checkbox( + value: _rotate, + onChanged: (v) { + setState(() { + _rotate = v == true; + }); + }), + ElevatedButton( + onPressed: () => + _filamentController.zoom(30.0), + child: const Text("-")), + ElevatedButton( + onPressed: () => + _filamentController.zoom(-30.0), + child: const Text("+")), + ElevatedButton( + onPressed: () => + _filamentController.playAnimation(0), + child: const Text("Play")) + ])), + Column( + children: _targets + .asMap() + .map((i, t) => MapEntry( + i, + Row(children: [ + Text(t), + Slider( + min: 0, + max: 1, + divisions: 10, + value: weights[i], + onChanged: (v) { + setState(() { + weights[i] = v; + _filamentController + .applyWeights(weights); + }); + }) + ]))) + .values + .toList(), + ) + ], + ), + )), ])), ), ); } } + +// ElevatedButton( +// child: Text("load skybox"), +// onPressed: () { +// _filamentController.loadSkybox( +// "assets/default_env/default_env_skybox.ktx", +// "assets/default_env/default_env_ibl.ktx"); +// }), +// ElevatedButton( +// child: Text("load gltf"), +// onPressed: () { +// _filamentController.loadGltf( +// "assets/guy.gltf", "assets", "Material"); +// }), +// ElevatedButton( +// child: Text("create morpher"), +// onPressed: () { +// _filamentController.createMorpher( +// "CC_Base_Body.003", "CC_Base_Body.003", +// materialName: "Material"); +// }),