如何在 HLSL 中定义具有大维度的数组?

How can I define an array with a large dimension in HLSL?

有没有一种方法可以在 HLSL 中定义一个大数组或任何替代方法,因为我正试图将我的一些计算转移到 GPU。

我目前有

struct Buffer
{
    float3 image[640 * 480];   
};

但我收到错误

error X3059: array dimension must be between 1 and 65536

如果我不必将其拆分然后在 CPU 上将它们合并在一起就好了。

有办法解决这个问题吗?

更新

如评论中所述,将此数据存储为纹理更有意义,因为我尝试创建的数组存储像素数据。我试图在 HLSL 文件中定义我的 Texture2D,但我似乎无法编辑数据或写入纹理文件。

有人知道怎么做吗?

我找不到解决这个问题的方法,但是当我处理图像数据时,使用 RWTexture2D<float4> 并提供读写访问似乎可以很好地实现我想要实现的目标。