Logo Mibo

Mibo.Elmish.Graphics3D Namespace

Type/Module Description

AmbientLight3D (Module)

Convenience builders for AmbientLight3D.

AmbientLight3D (Type)

Ambient light configuration for 3D scenes.

Billboard3D (Module)

Convenience builders for Billboard3D.

Billboard3D (Module)

Factory functions for Billboard3D.

Billboard3D (Type)

Camera-facing quad draw payload. Rotation in degrees around the view axis; all-zero SourceRect = full texture.

Billboard3D (Type)

Camera-facing quad draw payload. Rotation in degrees around the view axis; all-zero SourceRect = full texture.

BillboardBatch3D (Type)

SoA billboard batch payload. Rotations/SourceRects may be null (= all defaults) and are indexed defensively. The batch is drawn with Textures[0].

BillboardBatch3D (Type)

SoA billboard batch payload. Rotations/SourceRects may be null (= all defaults) and are indexed defensively.

Command3D (Module)

Factory functions that create Command3D values for all 3D drawing operations.

Command3D (Type)

Closed set of 3D render commands. Stored in RenderBuffer3D and dispatched via pattern matching — no interface boxing.

Command3D (Type)

Closed set of 3D render commands. Stored in RenderBuffer3D and dispatched via pattern matching — no interface boxing.

DirectionalLight3D (Module)

Convenience builders for DirectionalLight3D.

DirectionalLight3D (Type)

Directional light configuration for 3D scenes.

FullScreenQuad

A reusable fullscreen quad for post-process blits. Built against a graphics device on first use; FullScreenQuad.Draw applies an effect over a two-triangle quad in clip space. The caller is responsible for binding the source texture to a sampler and setting the active render target.

IRenderPipeline3D (Type)

Interface for a pluggable 3D rendering pipeline. Owns how to turn a sorted buffer into pixels: pass order, shadow maps, lighting math, post-process.

IRenderPipeline3D (Type)

Interface for a pluggable 3D rendering pipeline. Owns how to turn a sorted buffer into pixels: pass order, shadow maps, lighting math, post-process.

IRenderTargetPool3D (Type)

Provides pooled render targets to avoid per-frame allocation and disposal of RenderTarget2D resources for 3D rendering.

IRenderTargetPool3D (Type)

Provides pooled render textures to avoid per-frame allocation and disposal of RenderTexture2D resources for 3D rendering.

Material3D (Module)

Convenience values and functions for Material3D.

Material3D (Module)

Convenience values and functions for Material3D.

Material3D (Type)

Standard PBR material definition. Carries visual properties and texture maps, but never an Effect handle. The pipeline binds the appropriate shader.

Material3D (Type)

Standard PBR material definition. Carries visual properties and texture maps, but never a shader handle. The pipeline binds the appropriate shader.

MaterialOverride (Type)

Optional material override for Command3D.DrawModelWith / Command3D.DrawAnimatedModelWith.

All applies one Material3D to every mesh part (allocation-free struct field). PerMesh takes a resolver indexed by a flat counter over model.Meshes × MeshParts in pipeline iteration order.

The PerMesh resolver is invoked at least once per mesh part per frame on the forward pass and again during shadow collection (plus additional calls under user-effect scopes), with no memoization. It must be pure and cheap — prefer returning a precomputed material over allocating or computing per call.

MaterialOverride (Type)

Optional material override for Command3D.DrawModelWith.

All applies one Material3D to every sub-mesh (allocation-free struct field). PerMesh takes a resolver indexed by the pipeline's sub-mesh iteration order — mesh index 0..model.MeshCount-1 on the raylib backend.

The PerMesh resolver is invoked several times per mesh per frame (forward pass, shadow collection, and the per-frame shader-variant warm-up), with no memoization. It must be pure and cheap — prefer returning a precomputed material over allocating or computing per call.

ModelPart

One drawable slice of a content-pipeline Model: a zero-copy wrap of the part's shared vertex/index buffers plus everything a slice draw needs — the part's buffer offsets, its absolute parent-bone transform, and its material.

ModelParts

Resolves content-pipeline models into drawable ModelPart slices.

NoopPipeline

A no-operation pipeline that clears the screen and does nothing else. Useful as a placeholder before a real pipeline (e.g., ForwardPipeline) is wired in.

PointLight3D (Module)

Convenience builders for PointLight3D.

PointLight3D (Type)

Point light configuration for 3D scenes.

PostProcessContext3D (Type)

Context handed to a PostProcess action each frame. The pipeline has already rendered the scene to Source and set the destination render target (a pooled ping-pong RT, or the back-buffer for the last pass). The action binds its own effect, sets model-derived parameters, binds Source to the effect's sampler, and calls Quad.Draw(effect).

PostProcessContext3D (Type)

Context handed to a Command3D.PostProcess action each frame. The pipeline has already rendered the scene to Source and entered the destination render target (a pooled ping-pong RT, or the back-buffer for the last pass). The action resolves its own shader, sets model-derived params, and draws a fullscreen quad of Source.

Primitive3D (Module)

Pre-generated primitive meshes for 3D rendering. The MonoGame analog of raylib's GenMeshCube/GenMeshSphere/etc. — there is no native generator, so these are built once from VertexPositionNormalTexture arrays.

Primitive3D (Module)

Pre-generated primitive meshes for 3D rendering. Generated once at module initialization to avoid runtime mesh generation overhead.

PrimitiveMesh

Effectless procedural geometry — the MonoGame analog of raylib's universal Mesh. Wraps a VertexBuffer + IndexBuffer plus a primitive count.

RenderBuffer3D (Type)

An allocation-friendly buffer for 3D render commands.

RenderBuffer3D (Type)

An allocation-friendly buffer for 3D render commands.

Renderer3D (Module)

Convenience constructors for Renderer3D.

Renderer3D (Module)

Convenience constructors for Renderer3D.

Renderer3D<'Model> (Type)

A deferred 3D renderer that accumulates commands each frame and executes them through a pluggable IRenderPipeline3D.

Renderer3D<'Model> (Type)

A deferred 3D renderer that accumulates commands each frame and executes them through a pluggable IRenderPipeline3D.

Renderer3DConfig (Module)

Convenience values and functions for Renderer3DConfig.

Renderer3DConfig (Module)

Convenience values and functions for Renderer3DConfig.

Renderer3DConfig (Type)

Configuration for the Renderer3D.

Renderer3DConfig (Type)

Configuration for the Renderer3D.

RenderTargetPool3D (Type)

Default implementation of IRenderTargetPool3D. Uses a dictionary keyed by (width, height) dimensions.

RenderTargetPool3D (Type)

Default implementation of IRenderTargetPool3D using a dictionary keyed by (width, height) dimensions. Stores textures in per-dimension queues for FIFO reuse.

SpotLight3D (Module)

Convenience builders for SpotLight3D.

SpotLight3D (Type)

Spot light configuration for cone-shaped lights with distance attenuation.

VertexInstanceWorld

Per-instance vertex data for hardware instancing: a 4×4 world matrix packed as four Vector4 rows (stream 1, instanceFrequency = 1).

VertexInstanceWorldColor

Per-instance vertex data for colored hardware instancing: a 4×4 world matrix packed as four Vector4 rows plus a per-instance color (stream 1, instanceFrequency = 1).

VertexInstanceWorldPalette

Per-instance vertex data for skinned hardware instancing: a 4×4 world matrix packed as four Vector4 rows plus the instance's row offset into the bone-palette texture (stream 1, instanceFrequency = 1).

VertexInstanceWorldPaletteColor

Per-instance vertex data for colored skinned hardware instancing: a 4×4 world matrix packed as four Vector4 rows, a per-instance color, and the instance's row offset into the bone-palette texture (stream 1, instanceFrequency = 1).

Type something to start searching.