Я готовлюсь к запуску приложения C ++ DirectX 10, которое будет состоять из нескольких «панелей» для отображения различных типов информации. Я имел некоторый успех, экспериментируя с несколькими областями просмотра на одном RenderTargetView. Тем не менее, я не могу найти однозначного ответа относительно того, как очистить одно окно просмотра за раз. Эти панели (видовые окна) в моем приложении будут перекрываться в некоторых областях, поэтому я хотел бы иметь возможность рисовать их «снизу вверх», очищая каждый видовой экран по мере продвижения, чтобы рисунок из нижних панелей не просвечивал на высшие. В DirectX 9 кажется, что существовал метод Clear () объекта устройства, который очищал бы только текущий установленный видовой экран. DirectX 10 использует ClearRenderTargetView (), который очищает всю область рисования, и я не могу найти какой-либо другой параметр, эквивалентный тому, как это делал DirectX 9.
Есть ли способ в DirectX 10 очистить только область просмотра / прямоугольник в области рисования? Один человек предположил, что единственный способ - нарисовать квад в этом пространстве. Кажется, что другой возможностью было бы иметь отдельный RenderTargetView для каждой панели, но я бы хотел этого избежать, так как он требует других избыточных ресурсов, таких как отдельные буферы глубины / трафарета (если это не недоразумение с моей стороны).
Любая помощь будет принята с благодарностью! Спасибо!