Thanks again Hugo for the answer :)
That makes sense but when I'm doing it it doesn't work.
In a simple test in the Effect Editor (1.13) I am creating a layer which spawns particles within a random volume. I have created a Shape Sampler, set its type to Mesh and selected my mesh. The mesh volume does intersect with the particles as they evolve. I have created an evolver script and placed the following code in it:
function void Eval()
float3 particlePos = Position;
int frag1 = Teapot.contains(particlePos);
Size = 0.009 * frag1;
with Teapot being the shape sampler name.
I assumed this would select the particle's current position and check if it intersects with the teapot shape (sometimes it would and sometimes it wouldn't in my test setup) and then set its scale depending on the output from contains()
The result from Teapot.contains(particlePos); is always 0 so my effect dissapears completely.
I have tried setting the SampleDimensionality on my shape/mesh to both Surface and Volume but neither work.
Any idea what I'm doing wrong here?