如何更改Viewport3D的渲染?是否有类似winforms的Paint事件?
我想在屏幕空间中绘制一些内容(在视口上)而不是在世界空间中(在视口中)。为什么?因为它太重了,无法直接在viewport3D中绘制文本和线条。我有数十万行和文字可供绘制。即使我使用好的库,它也会减慢绘图过程并使内存膨胀。
另外,我想在viewport3D的表面上绘制一个矩形而不管内容如何。 (例如,我不想计算绘制矩形的位置,以免它对物体产生任何影响。)
因此,如果我知道如何操作,那么在viewport3D的表面上绘制将是一个很好的解决方案。
答案 0 :(得分:1)
您可以覆盖Viewport3D的OnRender方法。请参阅下面的代码。
class MyViewPort : Viewport3D
{
protected override void OnRender(DrawingContext drawingContext)
{
base.OnRender(drawingContext);
}
}