forked from Misaki/GhostEngine
feat(nativegen)!: refactor to struct-based native wrappers
Major overhaul of native wrapper generation for ufbx and nvtt. Replaces all hand-written and class-based wrappers with auto-generated partial struct wrappers that directly expose native API methods via pointers. Introduces a new JSON-driven configuration system using "remaps" and "actions" for flexible parameter/return mapping and method routing. Removes legacy config sections and helper classes, focusing solely on method wrappers. Updates all usages and tests to use the new pointer-based API. Cleans up obsolete code and ensures resource management is handled via struct Dispose methods. The result is a thinner, more direct, and maintainable interop layer. BREAKING CHANGE: All managed wrapper classes and helpers are removed in favor of struct-based pointer wrappers. API usage and resource management patterns have changed.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
// <auto-generated>
|
||||
// This file is generated by Ghost.NativeWrapperGen. Do not edit manually.
|
||||
// </auto-generated>
|
||||
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Ghost.Ufbx;
|
||||
|
||||
public unsafe partial struct ufbx_cache_channel
|
||||
{
|
||||
// From: ufbx_sample_geometry_cache_real(ufbx_cache_channel*, double, float*, nuint, ufbx_geometry_cache_data_opts*)
|
||||
public nuint sample_geometry_cache_real(double time, float* data, nuint num_data, ufbx_geometry_cache_data_opts* opts)
|
||||
{
|
||||
return Api.ufbx_sample_geometry_cache_real(
|
||||
(ufbx_cache_channel*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
time,
|
||||
data,
|
||||
num_data,
|
||||
opts);
|
||||
}
|
||||
|
||||
// From: ufbx_sample_geometry_cache_vec3(ufbx_cache_channel*, double, Misaki.HighPerformance.Mathematics.float3*, nuint, ufbx_geometry_cache_data_opts*)
|
||||
public nuint sample_geometry_cache_vec3(double time, Misaki.HighPerformance.Mathematics.float3* data, nuint num_data, ufbx_geometry_cache_data_opts* opts)
|
||||
{
|
||||
return Api.ufbx_sample_geometry_cache_vec3(
|
||||
(ufbx_cache_channel*)System.Runtime.CompilerServices.Unsafe.AsPointer(ref this),
|
||||
time,
|
||||
data,
|
||||
num_data,
|
||||
opts);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user