Skip to content

Add Rmv->glTF static exporter & texture handling#314

Open
benMcChesney wants to merge 1 commit intodonkeyProgramming:masterfrom
benMcChesney:master
Open

Add Rmv->glTF static exporter & texture handling#314
benMcChesney wants to merge 1 commit intodonkeyProgramming:masterfrom
benMcChesney:master

Conversation

@benMcChesney
Copy link

Add static RMV->GLTF export support and expand texture/export tooling, UI and CI. Some parts of the render chain are rendered in separate non-destructive passes.

Key changes:

  • Add new RmvToGltf static exporter pieces: GltfStaticMeshBuilder, GltfStaticExporter, view & viewmodel, AlphaMaskCombiner, MeshOptimizerStaticPose helper.
  • Enhance GltfMeshBuilder: optional skeleton flag, robust handling/normalization of skin weights, default bindings for degenerate cases, and safer vertex handling.
  • Extend GltfTextureHandler: new TextureResult/MaskTextureResult records, mask handling, alpha extraction, normal-map variants, displacement map export pipeline (offset/raw/16-bit options), Pfim-based DDS handling and integration with packfile service.
  • Update DI: register static exporter, GltfStaticMeshBuilder and new services.
  • DdsToNormalPngExporter: now outputs a raw PNG path ("_raw.png") and uses ImageSaveHandler; removed inline blue-normal conversion routine.
  • Add AlphaMaskCombiner utility to merge diffuse + mask into an RGBA PNG.
  • XAML: replace custom CachedTabControl with standard TabControl; add binding proxy resource, item style (drag/drop, middle-click close), and template cleanup/fixes for tab context menu and close button formatting.
  • Misc: small fixes (AnimationBinWh3 splice casting fix, csproj cleanup/added folders) and other editor additions (QuickExportPosedMeshCommand etc.).

These changes improve exporter robustness (static and skinned meshes), provide richer texture export options (masks, displacement, normal variants), and integrate exporters into DI and test pipelines.

Add static RMV->glTF export support and expand texture/export tooling, UI and CI. Some parts of the render chain are rendered in separate non-destructive passes.

Key changes:
- Add new RmvToGltf static exporter pieces: GltfStaticMeshBuilder, GltfStaticExporter, view & viewmodel, AlphaMaskCombiner, MeshOptimizerStaticPose helper.
- Enhance GltfMeshBuilder: optional skeleton flag, robust handling/normalization of skin weights, default bindings for degenerate cases, and safer vertex handling.
- Extend GltfTextureHandler: new TextureResult/MaskTextureResult records, mask handling, alpha extraction, normal-map variants, displacement map export pipeline (offset/raw/16-bit options), Pfim-based DDS handling and integration with packfile service.
- Update DI: register static exporter, GltfStaticMeshBuilder and new services.
- DdsToNormalPngExporter: now outputs a raw PNG path ("_raw.png") and uses ImageSaveHandler; removed inline blue-normal conversion routine.
- Add AlphaMaskCombiner utility to merge diffuse + mask into an RGBA PNG.
- XAML: replace custom CachedTabControl with standard TabControl; add binding proxy resource, item style (drag/drop, middle-click close), and template cleanup/fixes for tab context menu and close button formatting.
- CI: expand pr-test workflow to run many individual project tests.
- Misc: small fixes (AnimationBinWh3 splice casting fix, csproj cleanup/added folders) and other editor additions (QuickExportPosedMeshCommand etc.).

These changes improve exporter robustness (static and skinned meshes), provide richer texture export options (masks, displacement, normal variants), and integrate exporters into DI and test pipelines.
@donkeyProgramming
Copy link
Owner

In your merge, you removed quite a few bugfixes and new features.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants