需要从视点渲染6个图像800x640,并且基于这些图像,应该创建一个新的图像800x640,一种鱼眼视图。 此时,应用程序通过调用此RenderTarget2D.GetData方法绘制每个图像并读取颜色,并根据每个像素位置计算最终图像的新位置。它工作正常。
但由于调用RenderTarget2D.GetData会降低性能,我试图在着色器中声明一个800x640数组,然后连续渲染6个图像。然后在像素着色器中找到新鱼眼视图图像的新坐标。
float4 PSTooBasic(VertexPSInput pin) : COLOR
{
int xCoord = GetWaldXCoordinate(pin.PositionWS.x);
int yCoord = GetWaldYCoordinate(pin.PositionWS.y);
WaldPixs[xCoord][yCoord] = 1;
return BlackColor;
}
但是这个数组声明行: uniform int WaldPixs [800] [640];
给出了这个编译错误:错误X3059:'WaldPixs':数组维度必须介于1到65536之间
有任何建议或解决方法吗?
谢谢,