Files
doom-dm/Engine/src/Graphics/Buffer/Vertex/VertexAttribute.cs
2024-12-13 15:15:23 +03:00

32 lines
800 B
C#

using OpenTK.Graphics.OpenGL;
namespace Engine.Graphics.Buffer.Vertex;
[AttributeUsage(AttributeTargets.Field)]
public class VertexAttribute : Attribute
{
public VertexAttribType Type { get; }
public int ComponentCount { get; }
public bool Normalized { get; }
public int RepeatCount { get; }
public VertexAttribute(VertexAttribType parType, int parComponentCount = 1, int parRepeatCount = 1,
bool parNormalized = false
)
{
if (parComponentCount <= 0)
{
throw new ArgumentException("Count must be greater than 0");
}
if (parRepeatCount <= 0)
{
throw new ArgumentException("Repeat must be greater than 0");
}
Type = parType;
ComponentCount = parComponentCount;
Normalized = parNormalized;
RepeatCount = parRepeatCount;
}
}