Generate imaging and rendering API shims

This commit is contained in:
2026-08-08 12:03:16 +02:00
parent 0a2e7dd057
commit 8ca986dbd3
21 changed files with 1345 additions and 147 deletions

View File

@@ -1,11 +1,35 @@
// @generated by tools/generate_surface.py; do not edit by hand.
// Source: LibreMetaverse 2aa70bb68513b39795da5d13c88f31b86e85a3ba
// @generated by tools/generate_api_shims.py; do not edit by hand.
#![allow(clippy::missing_errors_doc)]
#![allow(clippy::must_use_candidate)]
#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
/// `class` shim for C# `LibreMetaverse.Imaging.Skia.SkiaTextureCodec`; members remain intentionally unimplemented.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
/// C# type: `T:LibreMetaverse.Imaging.Skia.SkiaTextureCodec`.
pub struct SkiaTextureCodec;
impl SkiaTextureCodec {
pub const CSHARP_NAME: &'static str = "LibreMetaverse.Imaging.Skia.SkiaTextureCodec";
pub const CSHARP_KIND: &'static str = "class";
/// C# member: `M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.#ctor`.
pub fn new() -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.#ctor",
)
}
/// C# member: `M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.Decode(System.IO.Stream)`.
pub fn decode(
&self,
stream: Box<dyn libremetaverse_types::compat::ReadWrite + Send>,
) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.Decode(System.IO.Stream)",
)
}
/// C# member: `M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.ToManagedImage(SkiaSharp.SKBitmap)`.
pub fn to_managed_image(
bitmap: libremetaverse_imaging_skia::backend::SKBitmap,
) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.Skia.SkiaTextureCodec.ToManagedImage(SkiaSharp.SKBitmap)",
)
}
}
impl libremetaverse_imaging::ITextureCodec for SkiaTextureCodec {}

View File

@@ -1,5 +1,12 @@
//! Skia imaging adapter corresponding to `LibreMetaverse.Imaging.Skia`.
extern crate self as libremetaverse_imaging_skia;
pub mod backend {
/// Project-owned bitmap boundary; no `SkiaSharp` API is copied.
pub struct SKBitmap;
}
mod generated;
pub use generated::*;

View File

@@ -1,24 +1,100 @@
// @generated by tools/generate_surface.py; do not edit by hand.
// Source: LibreMetaverse 2aa70bb68513b39795da5d13c88f31b86e85a3ba
// @generated by tools/generate_api_shims.py; do not edit by hand.
#![allow(clippy::missing_errors_doc)]
#![allow(clippy::must_use_candidate)]
#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
/// Shim for C# `LibreMetaverse.Imaging.ITextureCodec`.
/// C# type: `T:LibreMetaverse.Imaging.ITextureCodec`.
pub trait ITextureCodec {
const CSHARP_NAME: &'static str = "LibreMetaverse.Imaging.ITextureCodec";
/// C# member: `M:LibreMetaverse.Imaging.ITextureCodec.Decode(System.IO.Stream)`.
fn decode(
&self,
stream: Box<dyn libremetaverse_types::compat::ReadWrite + Send>,
) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.ITextureCodec.Decode(System.IO.Stream)",
)
}
}
/// `enum` shim for C# `LibreMetaverse.Imaging.ImageChannels`; members remain intentionally unimplemented.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ImageChannels;
impl ImageChannels {
pub const CSHARP_NAME: &'static str = "LibreMetaverse.Imaging.ImageChannels";
pub const CSHARP_KIND: &'static str = "enum";
/// C# type: `T:LibreMetaverse.Imaging.ManagedImage`.
pub struct ManagedImage {
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Alpha`.
pub alpha: Vec<u8>,
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Blue`.
pub blue: Vec<u8>,
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Bump`.
pub bump: Vec<u8>,
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Channels`.
pub channels: libremetaverse_imaging::ManagedImageImageChannels,
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Green`.
pub green: Vec<u8>,
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Height`.
pub height: i32,
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Red`.
pub red: Vec<u8>,
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.Width`.
pub width: i32,
data: Vec<u8>,
}
/// `class` shim for C# `LibreMetaverse.Imaging.ManagedImage`; members remain intentionally unimplemented.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct ManagedImage;
impl ManagedImage {
pub const CSHARP_NAME: &'static str = "LibreMetaverse.Imaging.ManagedImage";
pub const CSHARP_KIND: &'static str = "class";
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.#ctor(System.Int32,System.Int32,LibreMetaverse.Imaging.ManagedImage.ImageChannels)`.
pub fn new(
width: i32,
height: i32,
channels: libremetaverse_imaging::ManagedImageImageChannels,
) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.ManagedImage.#ctor(System.Int32,System.Int32,LibreMetaverse.Imaging.ManagedImage.ImageChannels)",
)
}
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.Clear`.
pub fn clear(&self) -> Result<(), crate::Error> {
libremetaverse_types::not_implemented("M:LibreMetaverse.Imaging.ManagedImage.Clear")
}
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.Clone`.
pub fn clone(&self) -> Result<libremetaverse_imaging::ManagedImage, crate::Error> {
libremetaverse_types::not_implemented("M:LibreMetaverse.Imaging.ManagedImage.Clone")
}
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ConvertChannels(LibreMetaverse.Imaging.ManagedImage.ImageChannels)`.
pub fn convert_channels(
&self,
channels: libremetaverse_imaging::ManagedImageImageChannels,
) -> Result<(), crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.ManagedImage.ConvertChannels(LibreMetaverse.Imaging.ManagedImage.ImageChannels)",
)
}
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ExportRaw`.
pub fn export_raw(&self) -> Result<Vec<u8>, crate::Error> {
libremetaverse_types::not_implemented("M:LibreMetaverse.Imaging.ManagedImage.ExportRaw")
}
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32,System.Int32)`.
pub fn resize_bilinear(&self, width: i32, height: i32) -> Result<(), crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.ManagedImage.ResizeBilinear(System.Int32,System.Int32)",
)
}
/// C# member: `M:LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32,System.Int32)`.
pub fn resize_nearest_neighbor(&self, width: i32, height: i32) -> Result<(), crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Imaging.ManagedImage.ResizeNearestNeighbor(System.Int32,System.Int32)",
)
}
}
/// C# type: `T:LibreMetaverse.Imaging.ManagedImage.ImageChannels`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct ManagedImageImageChannels(pub i32);
impl ManagedImageImageChannels {
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Alpha`.
pub const ALPHA: Self = Self(4);
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Bump`.
pub const BUMP: Self = Self(8);
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Color`.
pub const COLOR: Self = Self(2);
/// C# member: `F:LibreMetaverse.Imaging.ManagedImage.ImageChannels.Gray`.
pub const GRAY: Self = Self(1);
}

View File

@@ -1,5 +1,15 @@
//! Imaging abstractions corresponding to `LibreMetaverse.Imaging.Abstractions`.
extern crate self as libremetaverse_imaging;
pub mod codec {
pub trait IImage {}
pub trait IImageCreator {}
pub struct ImageCreator<T>(pub std::marker::PhantomData<T>);
pub struct InterleavedImage;
pub struct BlkImgDataSrc;
}
mod generated;
pub use generated::*;

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,7 @@
//! Primitive mesher corresponding to `LibreMetaverse.PrimMesher`.
extern crate self as libremetaverse_prim_mesher;
mod generated;
pub use generated::*;

View File

@@ -1,11 +1,154 @@
// @generated by tools/generate_surface.py; do not edit by hand.
// Source: LibreMetaverse 2aa70bb68513b39795da5d13c88f31b86e85a3ba
// @generated by tools/generate_api_shims.py; do not edit by hand.
#![allow(clippy::missing_errors_doc)]
#![allow(clippy::must_use_candidate)]
#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
/// `class` shim for C# `LibreMetaverse.Rendering.MeshFoundry`; members remain intentionally unimplemented.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
/// C# type: `T:LibreMetaverse.Rendering.MeshFoundry`.
pub struct MeshFoundry;
impl MeshFoundry {
pub const CSHARP_NAME: &'static str = "LibreMetaverse.Rendering.MeshFoundry";
pub const CSHARP_KIND: &'static str = "class";
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.#ctor`.
pub fn new() -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented("M:LibreMetaverse.Rendering.MeshFoundry.#ctor")
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
pub fn generate_faceted_mesh(
&self,
prim: libremetaverse::Primitive,
lod: libremetaverse::rendering::DetailLevel,
) -> Result<Option<libremetaverse::rendering::FacetedMesh>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMeshMesh(LibreMetaverse.Primitive,System.Byte[])`.
pub fn generate_faceted_mesh_mesh_with_primitive_bytes(
&self,
prim: libremetaverse::Primitive,
mesh_data: Vec<u8>,
) -> Result<Option<libremetaverse::rendering::FacetedMesh>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMeshMesh(LibreMetaverse.Primitive,System.Byte[])",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMeshMesh(LibreMetaverse.Primitive,System.Byte[],LibreMetaverse.Rendering.DetailLevel)`.
pub fn generate_faceted_mesh_mesh_with_primitive_bytes_detail_level(
&self,
prim: libremetaverse::Primitive,
mesh_data: Vec<u8>,
lod: libremetaverse::rendering::DetailLevel,
) -> Result<Option<libremetaverse::rendering::FacetedMesh>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedMeshMesh(LibreMetaverse.Primitive,System.Byte[],LibreMetaverse.Rendering.DetailLevel)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)`.
pub fn generate_faceted_sculpt_mesh(
&self,
prim: libremetaverse::Primitive,
sculpt_texture: libremetaverse_imaging::ManagedImage,
lod: libremetaverse::rendering::DetailLevel,
) -> Result<Option<libremetaverse::rendering::FacetedMesh>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateFacetedSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
pub fn generate_simple_mesh(
&self,
prim: libremetaverse::Primitive,
lod: libremetaverse::rendering::DetailLevel,
) -> Result<Option<libremetaverse::rendering::SimpleMesh>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleMeshWithNormals(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
pub fn generate_simple_mesh_with_normals(
&self,
prim: libremetaverse::Primitive,
lod: libremetaverse::rendering::DetailLevel,
) -> Result<Option<libremetaverse::rendering::SimpleMesh>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleMeshWithNormals(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)`.
pub fn generate_simple_sculpt_mesh(
&self,
prim: libremetaverse::Primitive,
sculpt_texture: libremetaverse_imaging::ManagedImage,
lod: libremetaverse::rendering::DetailLevel,
) -> Result<Option<libremetaverse::rendering::SimpleMesh>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.GenerateSimpleSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsConvexHulls(LibreMetaverse.Primitive,System.Byte[])`.
pub fn mesh_sub_mesh_as_convex_hulls_with_primitive_bytes(
&self,
prim: libremetaverse::Primitive,
compressed_mesh_data: Vec<u8>,
) -> Result<Vec<Vec<libremetaverse_types::Vector3>>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsConvexHulls(LibreMetaverse.Primitive,System.Byte[])",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsConvexHulls(LibreMetaverse.Primitive,System.Byte[],System.Collections.Generic.List{LibreMetaverse.Vector3}@)`.
pub fn mesh_sub_mesh_as_convex_hulls_with_primitive_bytes_list(
&self,
prim: libremetaverse::Primitive,
compressed_mesh_data: Vec<u8>,
bounding_hull: &mut Vec<libremetaverse_types::Vector3>,
) -> Result<Vec<Vec<libremetaverse_types::Vector3>>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsConvexHulls(LibreMetaverse.Primitive,System.Byte[],System.Collections.Generic.List{LibreMetaverse.Vector3}@)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsSimpleMesh(LibreMetaverse.Primitive,System.Byte[])`.
pub fn mesh_sub_mesh_as_simple_mesh(
&self,
prim: libremetaverse::Primitive,
compressed_mesh_data: Vec<u8>,
) -> Result<Option<libremetaverse::rendering::SimpleMesh>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.MeshSubMeshAsSimpleMesh(LibreMetaverse.Primitive,System.Byte[])",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.TerrainMesh(System.Single[0:,0:],System.Single,System.Single,System.Single,System.Single)`.
pub fn terrain_mesh(
&self,
z_map: Vec<f32>,
x_begin: f32,
x_end: f32,
y_begin: f32,
y_end: f32,
) -> Result<libremetaverse::rendering::Face, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.TerrainMesh(System.Single[0:,0:],System.Single,System.Single,System.Single,System.Single)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.TransformTexCoords(System.Collections.Generic.List{LibreMetaverse.Rendering.Vertex},LibreMetaverse.Vector3,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Vector3)`.
pub fn transform_tex_coords(
&self,
vertices: Vec<libremetaverse::rendering::Vertex>,
center: libremetaverse_types::Vector3,
te_face: libremetaverse::PrimitiveTextureEntryFace,
prim_scale: libremetaverse_types::Vector3,
) -> Result<(), crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.TransformTexCoords(System.Collections.Generic.List{LibreMetaverse.Rendering.Vertex},LibreMetaverse.Vector3,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Vector3)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.MeshFoundry.UnpackMesh(System.Byte[])`.
pub fn unpack_mesh(
&self,
asset_data: Vec<u8>,
) -> Result<Option<libremetaverse_structured_data::OSDMap>, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.MeshFoundry.UnpackMesh(System.Byte[])",
)
}
}
impl libremetaverse::rendering::IRendering for MeshFoundry {}

View File

@@ -1,5 +1,7 @@
//! `MeshFoundry` renderer corresponding to `LibreMetaverse.Rendering.MeshFoundry`.
extern crate self as libremetaverse_rendering_mesh_foundry;
mod generated;
pub use generated::*;

View File

@@ -9,6 +9,7 @@ description = "Simple renderer shims for the MetaCrate LibreMetaverse rewrite"
[dependencies]
libremetaverse = { path = "../libremetaverse" }
libremetaverse-imaging = { path = "../libremetaverse-imaging" }
libremetaverse-types = { path = "../libremetaverse-types" }
[lints]

View File

@@ -1,11 +1,70 @@
// @generated by tools/generate_surface.py; do not edit by hand.
// Source: LibreMetaverse 2aa70bb68513b39795da5d13c88f31b86e85a3ba
// @generated by tools/generate_api_shims.py; do not edit by hand.
#![allow(clippy::missing_errors_doc)]
#![allow(clippy::must_use_candidate)]
#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
/// `class` shim for C# `LibreMetaverse.Rendering.SimpleRenderer`; members remain intentionally unimplemented.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
/// C# type: `T:LibreMetaverse.Rendering.SimpleRenderer`.
pub struct SimpleRenderer;
impl SimpleRenderer {
pub const CSHARP_NAME: &'static str = "LibreMetaverse.Rendering.SimpleRenderer";
pub const CSHARP_KIND: &'static str = "class";
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.#ctor`.
pub fn new() -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented("M:LibreMetaverse.Rendering.SimpleRenderer.#ctor")
}
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.GenerateFacetedMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
pub fn generate_faceted_mesh(
&self,
prim: libremetaverse::Primitive,
lod: libremetaverse::rendering::DetailLevel,
) -> Result<libremetaverse::rendering::FacetedMesh, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.SimpleRenderer.GenerateFacetedMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.GenerateFacetedSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)`.
pub fn generate_faceted_sculpt_mesh(
&self,
prim: libremetaverse::Primitive,
sculpt_texture: libremetaverse_imaging::ManagedImage,
lod: libremetaverse::rendering::DetailLevel,
) -> Result<libremetaverse::rendering::FacetedMesh, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.SimpleRenderer.GenerateFacetedSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.GenerateSimpleMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)`.
pub fn generate_simple_mesh(
&self,
prim: libremetaverse::Primitive,
lod: libremetaverse::rendering::DetailLevel,
) -> Result<libremetaverse::rendering::SimpleMesh, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.SimpleRenderer.GenerateSimpleMesh(LibreMetaverse.Primitive,LibreMetaverse.Rendering.DetailLevel)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.GenerateSimpleSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)`.
pub fn generate_simple_sculpt_mesh(
&self,
prim: libremetaverse::Primitive,
sculpt_texture: libremetaverse_imaging::ManagedImage,
lod: libremetaverse::rendering::DetailLevel,
) -> Result<libremetaverse::rendering::SimpleMesh, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.SimpleRenderer.GenerateSimpleSculptMesh(LibreMetaverse.Primitive,LibreMetaverse.Imaging.ManagedImage,LibreMetaverse.Rendering.DetailLevel)",
)
}
/// C# member: `M:LibreMetaverse.Rendering.SimpleRenderer.TransformTexCoords(System.Collections.Generic.List{LibreMetaverse.Rendering.Vertex},LibreMetaverse.Vector3,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Vector3)`.
pub fn transform_tex_coords(
&self,
vertices: Vec<libremetaverse::rendering::Vertex>,
center: libremetaverse_types::Vector3,
te_face: libremetaverse::PrimitiveTextureEntryFace,
prim_scale: libremetaverse_types::Vector3,
) -> Result<(), crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.Rendering.SimpleRenderer.TransformTexCoords(System.Collections.Generic.List{LibreMetaverse.Rendering.Vertex},LibreMetaverse.Vector3,LibreMetaverse.Primitive.TextureEntryFace,LibreMetaverse.Vector3)",
)
}
}
impl libremetaverse::rendering::IRendering for SimpleRenderer {}

View File

@@ -1,5 +1,7 @@
//! Simple renderer corresponding to `LibreMetaverse.Rendering.Simple`.
extern crate self as libremetaverse_rendering_simple;
mod generated;
pub use generated::*;

View File

@@ -54,6 +54,9 @@ pub struct IEqualityComparer<T>(pub PhantomData<fn(T)>);
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct StringReader(pub String);
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct StreamReader(pub Vec<u8>);
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct StringWriter(pub String);

View File

@@ -2,6 +2,7 @@
mod generated;
pub use TextureEntryFace as PrimitiveTextureEntryFace;
pub use generated::*;
pub use libremetaverse_imaging as imaging_abstractions;
pub use libremetaverse_structured_data as structured_data;