Skip to content

Nfty.Model

Rise: pixel art to 3D. Voxel meshes, glTF writing and reading. Depends on Nfty.Core.

31 public types. Each page lists the public and protected members with their signatures and the documentation written beside the code.

Nfty.Model

Type Kind Summary
DepthFill class Fill-all: the one action that replaced the old Front / Symmetric / Raised modes.
FaceAtlas class The texture every model carries: [front W][gutter 1][back W], height H.
GltfReader class Reads back the models ModelWriter writes (GLB, glTF + .bin, embedded glTF) and nothing else.
Mesh class A triangle mesh: what Riser builds, what the writers serialize, and what the step-6 preview rasterizes.
ModelBatch class Rises many pictures at once and delivers the files to a folder or a zip.
ModelBatchResult record What a batch made.
ModelDestination class Where a streamed batch goes: a folder of files, or one zip.
ModelExportResult record What a streamed batch wrote.
ModelFile record One file of a written model: its name (no folder — the caller chooses where it goes) and its complete bytes.
ModelFormat enum The file shape a model is written in.
ModelInput record One picture to rise in a batch.
ModelTokens class The text spellings of ModelFormat and Pivot, in one place.
ModelWriter class Writes a risen mesh and its texture as model files.
PartialAlphaBookException class A CookBook with a partly transparent variant cannot be cooked into models: every asset's picture would be refused one by one.
PartialAlphaException class A picture with a partly transparent pixel cannot be risen.
Pivot enum Which point of the model's bounding box is moved to the origin.
ReadModel record A model read back from a file: the solid and the PNG its UVs address.
RiseOptions record How a picture is risen and written.
Riser class Rises one finished picture into one solid.
SetModeler class Rises every asset of a cook into model files: StackDepth.ForAsset() for the depth, Riser.TryBuild() for the solid, ModelWriter for the bytes.
SkipReason enum Why a picture in a batch could not rise.
SkippedModel record A picture a batch left out.
StackDepth class The stack rule, in one place: a layered picture is risen as ONE solid, never as stacked slabs (slabs z-fight wherever two layers cover a pixel).
StackFaces class The two face pictures of a risen stack: what the front and the back of each column show, each taken from the layer that OWNS that face by the union rule, plus the seam where a column's wall switches from one owner's color to the other's.
StackPick struct One present layer of a selection: its ingredient, the variant chosen, and the color it rolled (null for the stored pixels).
StackRise class What the stack rule makes of a stack: the art, the union depth map and the face owners' pictures.
UnsupportedModelException class A model file uses something GltfReader does not read.

Nfty.Model.Render

Type Kind Summary
Camera class An immutable turntable-orbit camera: Camera.ViewProjection() is the one function that owns the view and projection mapping together, and every other mapping (picking, zoom-anchoring) derives from it or its inverse rather than restating the matrices beside it.
Raster class The software rasterizer: transforms a Mesh by a Camera's view-projection, clips against the near plane, culls back faces, resolves visibility with a z-buffer, samples the texture with nearest-neighbor filtering, and shades with flat, quantized, camera-relative lighting — the whole rendering pipeline the spec lists (see docs/superpowers/specs/2026-09-22-model-preview-design.md, "Rendering").
RenderTarget class A plain pixel-and-depth surface Raster writes into: one background-filled color per pixel and a z-buffer initialized to "nothing here yet".
Viewport class The one mapping between normalized device coordinates and pixels.