Skip to content

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

Merged
donkeyProgramming merged 6 commits into
donkeyProgramming:masterfrom
benMcChesney:master
Apr 28, 2026
Merged

donkeyProgramming merged 6 commits into
donkeyProgramming:masterfrom
benMcChesney:master

Conversation

@benMcChesney

Copy link
Copy Markdown
Contributor

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
Copy Markdown
Owner

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

@benMcChesney
benMcChesney marked this pull request as draft April 3, 2026 20:48
@benMcChesney

Copy link
Copy Markdown
Contributor Author

I'll rework it into a cleaner branch of a newer version. Thanks for the feedback.

@donkeyProgramming
donkeyProgramming marked this pull request as ready for review April 28, 2026 17:42
@donkeyProgramming
donkeyProgramming merged commit f343360 into donkeyProgramming:master Apr 28, 2026
1 check passed
@benMcChesney

benMcChesney commented Jun 15, 2026 via email

Copy link
Copy Markdown
Contributor Author

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