Я настроил трафаретный буфер так, чтобы вызовы отрисовки влияли только на части экрана. В частности, я хочу нарисовать на небольшой площади. Он станет пользовательским интерфейсом, поэтому все нарисованное будет неким 2D-спрайтом. Использование объекта спрайт работает очень хорошо. Спрайты, находящиеся за пределами области, обрезаются.
Однако, когда я добавляю текст, все рисуется потом, а сам текст не обрезается. PIX показывает, что новый DepthStencilState устанавливается с отключенным буфером трафарета, как только вызывается отрисовка текста. Текст рисуется тем же объектом спрайта, который отвечает за рисование других спрайтов.
Рисование выполняется методом SlimDX.Direct3D10.Font.Draw.
Есть ли способ заставить DirectX не изменять объект состояния? Я использую SlimDX, но, согласно его коду, он не отвечает за изменение состояния.
Нико