Case study · Desktop application

InterForge

A desktop tool that turns a text prompt into a game-ready asset — a 2D sprite, a 2.5D relief, or a full 3D mesh. Entirely on your own GPU. No cloud, no API keys, no per-generation cost.

Prompt goes in. SDXL renders the concept art, the background is stripped, and then you choose what comes out: a flat textured sprite, a depth-reconstructed relief that reads as solid from the front, or full geometry you can orbit all the way around. Everything is remeshed, UV-unwrapped, given a full LOD ladder and exported as GLB, FBX or OBJ. The whole pipeline runs locally on an 8 GB card.

Most tools pick one of those three and make you live with it. Choosing per asset is the point — a background prop does not need the triangles a hero character does.

One concept, two modes

The same generated character down two branches of the pipeline.

Armoured runner — generated concept art
Concept artSDXL · local
2D
2 tris · 4 verts · 1 texture A textured quad. That is all a sprite needs to be, and it still exports as a GLB so it drops into the same engine pipeline as everything else.
2.5D
9,654 tris · 5,237 verts · 1 texture · UV-mapped Depth reconstructed from the same image. Solid from the front at a fraction of the cost of full geometry — right for anything the camera never walks behind.

2.5D Relief

Depth reconstructed from a single image. Shown face-on, which is how a relief is meant to be seen.

Stylised fox — generated concept art
Concept artSDXL · local
Stylised fox 10,150 tris · 5,522 verts · 1 texture · UV-mapped

3D Full geometry

Complete reconstruction — geometry all the way around. Drag to orbit, scroll to zoom.

Slime runner — generated concept art
Concept artSDXL · local
Slime runner 15,296 tris · 11,040 verts · 2 textures · UV-mapped
Horned brute — generated concept art
Concept artSDXL · local
Horned brute 19,928 tris · 12,167 verts · 2 textures · UV-mapped

The application

A native desktop app, not a web wrapper. Four stages across the top — Prospect, Pose, Forge, Projects — with an asset tray that carries work between them.

InterForge Prospect view: a prompt field, asset-type list and generated concepts in the asset tray
Prospect Prompt, optional image reference, and a typed asset list — character, creature, animal, weapon, armour, shield, prop, vehicle, building — so the model is steered before a word of the prompt is written. Negative guardrails are applied automatically.
InterForge Forge view: the six-step mesh pipeline running, with export format options
Forge — the mesh pipeline Six stages, each reporting as it runs: build geometry, decimate with quadric error simplification, refine to a watertight manifold, generate LOD0→LOD3 at 100/50/25/10% face count, export, and write a project manifest. Output as GLB, FBX or OBJ.
InterForge Anvil sketch board: a story field with ordered concept panels
Anvil — sketch board Storyboarding alongside asset generation. Write the script, order the panels, and feed any of them back into the pipeline as a reference.

How it works

  1. Prospect — SDXL generates concept art from your prompt, with LoRAs for style and asset-type conditioning.
  2. Smelt — background removal and contour cleanup, isolating the subject.
  3. Forge — Stable Fast 3D turns one locked image into a UV-textured mesh.
  4. Decimate & refine — quadric error simplification down to a target polygon count, then smoothing and manifold repair for clean normals.
  5. LOD generation — LOD0 through LOD3 at 100/50/25/10% of the decimated face count.
  6. Export — GLB, FBX or OBJ, plus a project manifest with paths, settings and the LOD table.

The LOD table is the part that matters if you actually ship games. Most generators hand you one dense mesh and leave the optimisation to you; this produces the whole ladder, so an asset is usable in an engine the moment it lands rather than after an afternoon in Blender.

Running locally is the rest of it. Cloud generators charge per generation and hold your pipeline hostage; this runs on hardware you already own, which matters when you are iterating on one character forty times.

← Back to projects