0

需要从一个角度渲染 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': array dimension must be between 1 and 65536

有什么建议或解决方法吗?

谢谢,

4

0 回答 0