32 lines
800 B
C#
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;
|
|
}
|
|
} |