在我的项目中,我有一个类似于以下的类:
public class Vertices
{
float[] vertexData1;
int vertexData1Offset;
float[] vertexData2;
int vertexData2Offset;
float[] vertexData3;
int vertexData3Offset;
float[] vertexBuffer;
int vertexCount;
int vertexStride;
public void Update()
{
for(int i = 0; i < vertexCount; i++)
{
vertexBuffer[(i * vertexStride) + vertexData1Offset] = vertexData1[i];
vertexBuffer[(i * vertexStride) + vertexData2Offset] = vertexData2[i];
vertexBuffer[(i * vertexStride) + vertexData3Offset] = vertexData3[i];
}
}
}
也就是说,我有一个数组(vertexBuffer),这个数组是另一组数组(vertexData1...)的组合。只有数组组合的方式,每个“组件数组”的元素都均匀分布在“主数组”中,所有元素都混杂在一起,而不是每个数组按顺序连接。
我想知道是否有一种方法可以公开这些数组(例如,以某种方式继承数组)(vertexData1...),以便此类的使用者可以访问它们,就好像它们是具有连续元素的常规数组一样(包括相互复制),但在幕后,对象实际上会在整个vertexBuffer中分布这些元素,从而不再需要 Update() 方法和重复数据。
这在 C# 中可能吗?