public void Draw(DeviceContextHolder contextHolder, int indices, SpecialRenderMode mode) {
contextHolder.DeviceContext.Rasterizer.State = _rasterizerState;
if (mode == SpecialRenderMode.Deferred) {
_effect.TechSkyDeferred.DrawAllPasses(contextHolder.DeviceContext, indices);
} else if (mode == SpecialRenderMode.Reflection) {
_effect.TechSkyForward.DrawAllPasses(contextHolder.DeviceContext, indices);
}
contextHolder.DeviceContext.Rasterizer.State = null;
}