On 16/01/2015 at 09:36, xxxxxxxx wrote:
as said before, a Shader works on fragment level, it shades a (part of a) surface, not a whole polygon. If you want to apply a texture you can use the given UV-coordinates to sample the texture and apply the color to the current fragment.
When ShaderData.Output is called you are already inside the render process. The "current point" is described by the data found in BaseVolumeData. Since a shader may be called many times during the render process, ShaderData.Output should be as fast as possible. So GeRayCollider should not be used.
The desired information you need is only available in the C++ SDK by accessing the surface identity of the BaseVolumeData.
In Cinema 4D selections are typically not assigned to shaders but to materials.