- Posts: 177
texture/sampler array support?
- kingeric1992
-
Topic Author
- Offline
Less More
5 years 3 months ago - 5 years 3 months ago #1 by kingeric1992
texture/sampler array support? was created by kingeric1992
just wondering... and proper syntax?
Last edit: 5 years 3 months ago by kingeric1992.
Please Log in or Create an account to join the conversation.
- crosire
-
- Offline
Less More
- Posts: 3840
5 years 2 months ago #2 by crosire
Replied by crosire on topic texture/sampler array support?
As inor in?
sampler mySamplers[50];
samplerArray mySamplers;
The following user(s) said Thank You: kingeric1992
Please Log in or Create an account to join the conversation.
- kingeric1992
-
Topic Author
- Offline
Less More
- Posts: 177
5 years 2 months ago - 5 years 2 months ago #3 by kingeric1992
Replied by kingeric1992 on topic texture/sampler array support?
I'm thinking the first one. but I suppose that wouldn't matters at all without branching by the index.
anyway, how about array = array ?
I can construct a function that returns a array of float2 like thisbut unable to retrieve it later withand report: error X3013: no matching function overload for 'test'
anyway, how about array = array ?
I can construct a function that returns a array of float2 like this
void test (out float2 a[8], float2 b[8])
{
a[0] = b[0];
a[1] = b[1];
...
a[7] = b[7];
};
float2 r[8] = {float2(0,0), float2(1,1), ....float2(7,7)};
r = test(r);
Last edit: 5 years 2 months ago by kingeric1992.
Please Log in or Create an account to join the conversation.
- crosire
-
- Offline
Less More
- Posts: 3840
5 years 2 months ago #4 by crosire Assigning arrays to each other is tricky, because the values inside could be stored in different registers, meaning a simple copy from one to another does not work. That's why you usually need a loop or explicit assignment of each value inside the array. To properly reflect that in the high level code, array assignment is not supported by the language directly, as it would introduce a lot more boilerplate code behind the scenes that one would not guess from looking just at the high level code.
Samplers arrays are a similar story. They would only be possible if the array index is known at compile time:The following would not work due to the same register restrictions:That however makes the whole sampler array thing a little useless, which is why I decided to simply not have the language support them at all back then.
Replied by crosire on topic texture/sampler array support?
Should be:kingeric1992 wrote: but unable to retrieve it later with
and report: error X3013: no matching function overload for 'test'float2 r[8] = {float2(0,0), float2(1,1), ....float2(7,7)}; r = test(r);
float2 a[8] = { ... };
float2 b[8] = { ... };
test(a, b);
Samplers arrays are a similar story. They would only be possible if the array index is known at compile time:
sampler samplers[5];
tex2D(samplers[2], ...);
sampler samplers[5];
int i = ...;
tex2D(samplers[i], ...);
Please Log in or Create an account to join the conversation.
- kingeric1992
-
Topic Author
- Offline
Less More
- Posts: 177
5 years 2 months ago #5 by kingeric1992
Replied by kingeric1992 on topic texture/sampler array support?
Thanks, that works.
sadly the result is not as expected...as expected.
more debugging then. (≧∀≦)ゞ
sadly the result is not as expected...as expected.
more debugging then. (≧∀≦)ゞ
Please Log in or Create an account to join the conversation.