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
<PackageReference Include="LibreMetaverse.PrimMesher" Version="3.2.0" />
<PackageVersion Include="LibreMetaverse.PrimMesher" Version="3.2.0" />
<PackageReference Include="LibreMetaverse.PrimMesher" />
paket add LibreMetaverse.PrimMesher --version 3.2.0
#r "nuget: LibreMetaverse.PrimMesher, 3.2.0"
#:package LibreMetaverse.PrimMesher@3.2.0
#addin nuget:?package=LibreMetaverse.PrimMesher&version=3.2.0
#tool nuget:?package=LibreMetaverse.PrimMesher&version=3.2.0
▗▖ ▄ ▗▖ ▄▄▄ ▗▞▀▚▖▗▖ ▗▖▗▞▀▚▖ ■ ▗▞▀▜▌▄ ▄ ▗▞▀▚▖ ▄▄▄ ▄▄▄ ▗▞▀▚▖
▐▌ ▄ ▐▌ █ ▐▛▀▀▘▐▛▚▞▜▌▐▛▀▀▘▗▄▟▙▄▖▝▚▄▟▌█ █ ▐▛▀▀▘█ ▀▄▄ ▐▛▀▀▘
▐▌ █ ▐▛▀▚▖█ ▝▚▄▄▖▐▌ ▐▌▝▚▄▄▖ ▐▌ ▀▄▀ ▝▚▄▄▖█ ▄▄▄▀ ▝▚▄▄▖
▐▙▄▄▖█ ▐▙▄▞▘ ▐▌ ▐▌ ▐▌
▐▌
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. CallExtrudewith a path type and readcoords,facesandnormals; in viewer mode (viewerMode = true) it also gives per-face vertices and texture coordinates (viewerFaces).SculptMeshandSculptMap: 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
- Source, issues and discussion: https://github.com/cinderblocks/libremetaverse
- Moving from 3.1: the migration guide
- License: BSD-3-Clause
| Product | Versions 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. |
-
.NETFramework 4.8.1
- LibreMetaverse.Imaging.Abstractions (>= 3.2.0)
- System.Buffers (>= 4.6.1)
- System.Memory (>= 4.6.3)
-
.NETStandard 2.1
- LibreMetaverse.Imaging.Abstractions (>= 3.2.0)
-
net10.0
- LibreMetaverse.Imaging.Abstractions (>= 3.2.0)
-
net8.0
- LibreMetaverse.Imaging.Abstractions (>= 3.2.0)
-
net9.0
- LibreMetaverse.Imaging.Abstractions (>= 3.2.0)
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 |