Table of Contents

Struct OpenGlBorrowedTextureDescriptor

Namespace
Maplibre.NativeFfi
Assembly
Maplibre.NativeFfi.dll

A ring of your OpenGL textures, for MapHandle.AttachOpenGlBorrowedTexture().

public readonly record struct OpenGlBorrowedTextureDescriptor : IEquatable<OpenGlBorrowedTextureDescriptor>
Implements
Inherited Members

Remarks

logical_size sets the map's size. physical_width and physical_height give the textures' size in pixels, which is usually logical_size times the map's scale factor. The context must use OpenGlContextOwnership.Shared. Each texture must be in your context's share group, with storage of that size. The ring holds up to MaplibreNative.TextureRingMaxDepth distinct textures.

The session uses the textures until a replacement or release of the target completes, a detach or release of the session completes, or an abandon of it returns.

See mln_open_gl_borrowed_texture_descriptor in the C API reference.

Constructors

OpenGlBorrowedTextureDescriptor(LogicalSize, uint, uint, OpenGlContextDescriptor, ImmutableArray<OpenGlBorrowedTexture>, uint)

[SetsRequiredMembers]
public OpenGlBorrowedTextureDescriptor(LogicalSize LogicalSize, uint PhysicalWidth, uint PhysicalHeight, OpenGlContextDescriptor Context, ImmutableArray<OpenGlBorrowedTexture> Textures, uint Target)

Parameters

LogicalSize LogicalSize
PhysicalWidth uint
PhysicalHeight uint
Context OpenGlContextDescriptor
Textures ImmutableArray<OpenGlBorrowedTexture>
Target uint

Properties

Context

public required OpenGlContextDescriptor Context { get; init; }

Property Value

OpenGlContextDescriptor

LogicalSize

public required LogicalSize LogicalSize { get; init; }

Property Value

LogicalSize

PhysicalHeight

public required uint PhysicalHeight { get; init; }

Property Value

uint

PhysicalWidth

public required uint PhysicalWidth { get; init; }

Property Value

uint

Target

The textures' target. It must be GL_TEXTURE_2D.

public required uint Target { get; init; }

Property Value

uint

Textures

public required ImmutableArray<OpenGlBorrowedTexture> Textures { get; init; }

Property Value

ImmutableArray<OpenGlBorrowedTexture>