有没有办法在HLSL中定义一个大型数组,或者我正在尝试将一些计算移到GPU上。
我目前有
struct Buffer
{
float3 image[640 * 480];
};
但我收到了错误
error X3059: array dimension must be between 1 and 65536
如果我不必将其拆分,然后将它们合并在CPU上,那就太棒了。
有解决方法吗?
更新
正如评论中所提到的,将这些数据存储为纹理更有意义,因为我正在尝试创建存储像素数据的数组。我试图在HLSL文件中定义我的Texture2D
,但我似乎无法编辑数据或写入纹理文件。
有谁知道怎么做?
答案 0 :(得分:0)
我无法找到解决方案但是当我操作图像数据时,使用RWTexture2D<float4>
并提供读写访问似乎可以正常工作。