gpt4 book ai didi

c - 在 HLSL 中初始化大小未知的数组

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:03 27 4
gpt4 key购买 nike

我有一个小片段着色器,它对数组中的多个值进行操作,但是数组的大小存储在一个常量中。

数组声明如下:

float4 colors[(blurRadius*2+1)*(blurRadius*2+1)];

然后我继续使用 for 循环为它们分配值

for(int i = -blurRadius; i<= blurRadius; i++)
{
for(int j = -blurRadius; j<=blurRadius;j++)
{
colors[j + blurRadius + ((i+blurRadius)*blurRadius)]=float4(0,0,0,0);
}
}

但是,当运行代码时返回以下编译器错误:

error X4000: variable 'colors' used without having been completely initialized

如何在 HLSL 中完全初始化一个我不知道其大小的数组?

最佳答案

看来我今天有点白痴了。只要您的步幅正确,上面列出的方法就非常有效。

结果:

j + blurRadius + ((i+blurRadius)*blurRadius)

没有寻址整个数组,所以当我还没有赋值时,其中的一些后来被访问了。

关于c - 在 HLSL 中初始化大小未知的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4777143/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com