Logo Mibo

HexGrid3DRenderer Module

Hex-grid renderers for the MonoGame backend. Mirrors the cell-grid renderers but for HexGrid3D; layout logic is reused from Mibo.Core.Layout3D.

Functions and values

Function or value Description

render grid renderCell

Full Usage: render grid renderCell

Parameters:
Modifiers: inline
Type parameters: 'T
grid : HexGrid3D<'T>
renderCell : Vector3 -> 'T -> unit

renderInstanced ctx grid buffer

Full Usage: renderInstanced ctx grid buffer

Parameters:
Type parameters: 'T, 'K (requires equality)

Renders a hex grid using GPU instancing. Cells are grouped by a key function, and each group emits one DrawInstanced per sub-mesh.

ctx : InstancedRenderContext<'T, 'K>
grid : HexGrid3D<'T>
buffer : RenderBuffer3D

renderInstancedWithEffect ctx grid shaderForKey buffer

Full Usage: renderInstancedWithEffect ctx grid shaderForKey buffer

Parameters:
Type parameters: 'T, 'K (requires equality)

Like renderInstanced but wraps each key's draws in a BeginEffect/EndEffect scope when shaderForKey returns ValueSome. A ValueNone key uses the default PBR path. Whole-grid shading: pass fun _ -> ValueSome effect.

ctx : InstancedRenderContext<'T, 'K>
grid : HexGrid3D<'T>
shaderForKey : 'K -> Effect voption
buffer : RenderBuffer3D

renderVolume bounds grid renderCell

Full Usage: renderVolume bounds grid renderCell

Parameters:
Modifiers: inline
Type parameters: 'T
bounds : BoundingBox
grid : HexGrid3D<'T>
renderCell : Vector3 -> 'T -> unit

renderVolumeInstanced ctx bounds grid buffer

Full Usage: renderVolumeInstanced ctx bounds grid buffer

Parameters:
Type parameters: 'T, 'K (requires equality)

Like renderInstanced but restricted to a bounding volume.

ctx : InstancedRenderContext<'T, 'K>
bounds : BoundingBox
grid : HexGrid3D<'T>
buffer : RenderBuffer3D

renderVolumeInstancedWithEffect ctx bounds grid shaderForKey buffer

Full Usage: renderVolumeInstancedWithEffect ctx bounds grid shaderForKey buffer

Parameters:
Type parameters: 'T, 'K (requires equality)

Like renderVolumeInstanced but wraps each key's draws in a BeginEffect/EndEffect scope when shaderForKey returns ValueSome.

ctx : InstancedRenderContext<'T, 'K>
bounds : BoundingBox
grid : HexGrid3D<'T>
shaderForKey : 'K -> Effect voption
buffer : RenderBuffer3D

renderWithIndices grid renderCell

Full Usage: renderWithIndices grid renderCell

Parameters:
Modifiers: inline
Type parameters: 'T
grid : HexGrid3D<'T>
renderCell : int -> int -> int -> Vector3 -> 'T -> unit

Type something to start searching.