public void Draw(DeviceContextHolder contextHolder, int indices, SpecialRenderMode mode) {
switch (mode) {
case SpecialRenderMode.Deferred:
_effect.TechSpecialGlDeferred.DrawAllPasses(contextHolder.DeviceContext, indices);
break;
case SpecialRenderMode.Reflection:
_effect.TechSpecialGlForward.DrawAllPasses(contextHolder.DeviceContext, indices);
break;
case SpecialRenderMode.Shadow:
_effect.TechSpecialGlMask.DrawAllPasses(contextHolder.DeviceContext, indices);
break;
}
}