Header menu logo Mibo

Mibo.Elmish.Graphics3D Namespace

Type/Module Description

AmbientLight3D (Module)

Convenience builders for AmbientLight3D.

AmbientLight3D (Type)

Ambient light configuration for 3D scenes.

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.

Draw3D (Module)

Pipe-friendly drawing DSL for 3D rendering. Each function takes a RenderBuffer3D as its last argument, adds the corresponding command, and returns the buffer for chaining.

Draw3D (Module)

Pipe-friendly drawing DSL for 3D rendering. Each function takes a RenderBuffer3D as its last argument, adds the corresponding command, and returns the buffer for chaining.

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.

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.

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).

Type something to start searching.