LibreMetaverse.PrimMesher 3.2.0

Prefix Reserved
dotnet add package LibreMetaverse.PrimMesher --version 3.2.0
                    
NuGet\Install-Package LibreMetaverse.PrimMesher -Version 3.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LibreMetaverse.PrimMesher" Version="3.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="LibreMetaverse.PrimMesher" Version="3.2.0" />
                    
Directory.Packages.props
<PackageReference Include="LibreMetaverse.PrimMesher" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add LibreMetaverse.PrimMesher --version 3.2.0
                    
#r "nuget: LibreMetaverse.PrimMesher, 3.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package LibreMetaverse.PrimMesher@3.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=LibreMetaverse.PrimMesher&version=3.2.0
                    
Install as a Cake Addin
#tool nuget:?package=LibreMetaverse.PrimMesher&version=3.2.0
                    
Install as a Cake Tool
▗▖   ▄ ▗▖    ▄▄▄ ▗▞▀▚▖▗▖  ▗▖▗▞▀▚▖   ■  ▗▞▀▜▌▄   ▄ ▗▞▀▚▖ ▄▄▄ ▄▄▄ ▗▞▀▚▖
▐▌   ▄ ▐▌   █    ▐▛▀▀▘▐▛▚▞▜▌▐▛▀▀▘▗▄▟▙▄▖▝▚▄▟▌█   █ ▐▛▀▀▘█   ▀▄▄  ▐▛▀▀▘
▐▌   █ ▐▛▀▚▖█    ▝▚▄▄▖▐▌  ▐▌▝▚▄▄▖  ▐▌        ▀▄▀  ▝▚▄▄▖█   ▄▄▄▀ ▝▚▄▄▖
▐▙▄▄▖█ ▐▙▄▞▘          ▐▌  ▐▌       ▐▌                                
                                   ▐▌                                

LibreMetaverse.PrimMesher

Turns the numbers that describe a Second Life prim into triangles. Give it a shape (the number of sides, the cut, the hollow, the twist, the taper, the path) and it builds the mesh; give it a sculpt map and it builds the sculpt. It is the geometry engine behind the renderer packages, and can be used directly.

  Archiving · Utilities · Voice.Vivox · Voice.WebRTC
      │  built on the client
  LibreMetaverse   the client: login, managers, inventory
      │
  Transport        UDP socket, reliable circuit, throttle
      │
  Protocol         packets and capability messages
      │
  Assets           the offline data model
      ├── ModelFormats · Rendering.MeshFoundry · Rendering.Simple
      │
  StructuredData · Imaging.Abstractions
      │
  Types            UUID, vectors, quaternions, colors

  on their own: [PrimMesher] · Imaging.Skia · RLV · LslTools

This package sits beside the stack rather than in it: it needs only LibreMetaverse.Imaging.Abstractions.

What is in it

  • PrimMesh: the parametric prims. Box, cylinder, prism, sphere, torus, tube and ring all come from one set of parameters: sides, profile cut, hollow, twist, taper, top shear, skew, radius and revolutions. Call Extrude with a path type and read coords, faces and normals; in viewer mode (viewerMode = true) it also gives per-face vertices and texture coordinates (viewerFaces).
  • SculptMesh and SculptMap: a mesh from a sculpt texture, with the sphere, torus, plane and cylinder stitching types.
  • ObjMesh: reads a Wavefront OBJ file into per-face polygons and vertices.
  • The small value types the above are made of: Coord, Quat, UVCoord, Face, ViewerFace, ViewerVertex, Path, Profile.

Example

using LibreMetaverse.PrimMesher;

var box = new PrimMesh(sides: 4, profileStart: 0f, profileEnd: 1f, hollow: 0f, hollowSides: 4);
box.Extrude(PathType.Linear);
Console.WriteLine($"{box.coords.Count} vertices, {box.faces.Count} triangles");

Use it when

You need geometry for prims without a rendering stack: an exporter, a collision shape, a physics bake, a thumbnail. If you have a Primitive from the world and want a ready mesh, LibreMetaverse.Rendering.MeshFoundry wraps this for you and also decodes mesh assets.

Depends on

LibreMetaverse.Imaging.Abstractions (sculpt maps are images). It targets .NET Standard 2.1, .NET Framework 4.8.1, and .NET 8, 9 and 10.

Install

dotnet add package LibreMetaverse.PrimMesher

More

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
.NET Framework net481 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on LibreMetaverse.PrimMesher:

Package Downloads
LibreMetaverse.Rendering.Meshmerizer

Advanced mesh rendering library for LibreMetaverse that uses the Meshmerizer engine to generate renderable geometry from Second Life prims, sculpts, and mesh assets.

LibreMetaverse.Rendering.MeshFoundry

Modern mesh rendering library for LibreMetaverse. Generates renderable geometry from Second Life prims, sculpts, and mesh assets with correct normal decoding, skin weight support, and TexCoord1/NormalizedScale for PBR.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.2.0 114 10/13/2026
3.1.8 284 10/6/2026
3.1.7 129 10/4/2026
3.1.6 1,203 9/14/2026
3.1.5 398 9/3/2026
3.1.4 157 8/26/2026
3.1.3 622 7/24/2026
3.1.2 186 7/21/2026
3.1.1 286 7/14/2026
3.1.0 231 7/11/2026
3.0.4 245 7/9/2026
3.0.3 356 7/3/2026
3.0.2 197 6/29/2026
3.0.1 203 6/27/2026
3.0.0 333 6/23/2026
2.6.10 251 6/20/2026
2.6.9 228 6/8/2026
2.6.8 240 6/7/2026
2.6.7 238 5/14/2026
2.6.6 286 4/12/2026
Loading failed