private VertexInfo[,] GetControlPoints(int UCount, int VCount)
{
var ControlPoints = new VertexInfo[UCount, VCount];
var VertexPtr = (byte*)GpuDisplayList.GpuProcessor.Memory.PspAddressToPointerSafe(GpuState->GetAddressRelativeToBaseOffset(GpuState->VertexAddress), 0);
var VertexReader = new VertexReader();
VertexReader.SetVertexTypeStruct(GpuState->VertexState.Type, VertexPtr);
for (int u = 0; u < UCount; u++)
{
for (int v = 0; v < VCount; v++)
{
ControlPoints[u, v] = VertexReader.ReadVertex(v * UCount + u);
//Console.WriteLine("getControlPoints({0}, {1}) : {2}", u, v, controlPoints[u, v]);
}
}
return ControlPoints;
}