Table of Contents

Class ParameterReflection

Namespace
ShadowDusk.Core.Reflection
Assembly
ShadowDusk.Core.dll

A flattened effect parameter as exposed to the MonoGame runtime (the user-settable surface, e.g. via Effect.Parameters["Foo"]), with its name, optional semantic, type shape, and annotations.

public sealed record ParameterReflection : IEquatable<ParameterReflection>
Inheritance
ParameterReflection
Implements
Inherited Members

Properties

Annotations

The annotations declared on the parameter, if any.

public IReadOnlyList<AnnotationReflection>? Annotations { get; init; }

Property Value

IReadOnlyList<AnnotationReflection>

Class

The parameter's shape class (scalar, vector, matrix, object, …).

public required EffectParameterClass Class { get; init; }

Property Value

EffectParameterClass

Columns

The number of columns; 1 for scalars.

public required int Columns { get; init; }

Property Value

int

Elements

The array element count; 1 when not an array.

public required int Elements { get; init; }

Property Value

int

Name

The parameter's name.

public required string Name { get; init; }

Property Value

string

Rows

The number of rows; 1 for scalars.

public required int Rows { get; init; }

Property Value

int

Semantic

The HLSL semantic attached to the parameter, if any.

public string? Semantic { get; init; }

Property Value

string

Type

The parameter's element type.

public required EffectParameterType Type { get; init; }

Property Value

EffectParameterType