As of Rhino 8.18 or perhaps earlier, display elements created using DisplayPipeline.Draw*() are casting shadows in rendered display modes (where *=YouNameIt… MeshShaded, Curve, Points, Polyline, etc.).
Is this a bug? If not, please let us know how to disable the behavior.
I also tried each of the above using CastShadows instead of ShadowsOn, with the same results.
If anyone knows of a different sequence that works, I’m all ears. Either way, I’d imagine many 3rd-party plug-ins use RhinoCommon’s Pre/PostDrawObjects overrides – and until now, these routines have never participated in shadow casting. Ideally that default behavior would be restored…
You might want to try drawing during the foreground phase as that is after all shadow operations are performed. In the foreground phase depth testing and writing are typically disabled so you may want to temporarily turn it on.