hi All !

I would like to create a float array in my hlsl fx file.

problem…

vvvv gives me:

**"Literal loop terminated early due to out of bounds array access X3504"**

in two words, I have 9 textures and a “master blend_coeff” which goes from 0 to 1000.

going from 0 to 1000 reveals texture 1, then 2, then 3…

here’s part of code which contains error:

```
float4 PS(vs2ps In): COLOR
{
float k[9](9);
for (int m=0;m<10;m++){
if (coeff_col>=m*111 && coeff_col<=m*(1000/9)+(1000/9)) {
k[m](m)=mapping_values(coeff_col,0,m*(1000/9)+(1000/9),0.,1.);///problem here
}
}
float4 col1 = tex2D(Samp1, In.TexCd);
float4 col2 = tex2D(Samp2, In.TexCd);
float4 col3 = tex2D(Samp3, In.TexCd);
float4 col4 = tex2D(Samp4, In.TexCd);
float4 col5 = tex2D(Samp5, In.TexCd);
float4 col6 = tex2D(Samp6, In.TexCd);
float4 col7 = tex2D(Samp7, In.TexCd);
float4 col8 = tex2D(Samp8, In.TexCd);
float4 col9 = tex2D(Samp9, In.TexCd);
float4 col=col1*k[0](0)+col2*k[1](1)+col3*k[2](2)+col4*k[3](3)+col5*k[4](4)+col6*k[5](5)+col7*k[6](6)+col8*k[7](7)+col9*k[8](8);
return col;
}
```

thanks in advance !

(just so exciting to discover the FX world of vvvv :-)

tiouss

the for loop has 10 steps 0…9 your array has only 9 entries 0…8.

sampling all 9 textures when you only show 2 or 3 at a time is not very efficient btw…

@tonfilm…

arr…of course !

thanks tonfilm.

the final patch will let the viewer see every image layers at the same time at different positions of the screen… that’s why, I have to sample all textures ;-)

thanks !

ok so next step is little bit buggy to me…

I have sphere mask which goes from 0 to 1 alpha value.

I would like this mask to reveal every 9 textures in a fade.

for instance: for points in image where alpha mask=1/9, alpha of point’s first

texture alpha =1…

for points in image where alpha mask=2/9, alpha of point’s first texture=0,

alpha of those points texure2 alpha =1…

my issue is only the last texture is displayed as if alpha of mask was 1 everywhere and every time…

here’s the patch and fx file to demonstrate my issue…

thanks in advance

debug_blend_9.v4p (27.8 kB)

blend_9_textures.fx (5.5 kB)

little up ?

thanks in advance

haven’t checked the whole code, but it seems that the mapping_values function is not clamped to 0…1 it will just surpass the destination min…max in both directions if the input is outside input min…max. so put the output of mapping_values into the saturate function to clamp it between 0…1.