在XNA中声明2d数组

时间:2013-08-09 11:02:44

标签: xna shader hlsl

需要从视点渲染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之间

有任何建议或解决方法吗?

谢谢,

0 个答案:

没有答案