Viewport3D 的绘制事件
Paint Event of Viewport3D
如何更改 Viewport3D 的渲染?有没有类似winforms的Paint Event?
我想在屏幕 space(在视口中)而不是在世界 space(在视口中)中绘制一些内容。为什么?因为直接在viewport3D中绘制文字和线条太重了。我有数十万行和文字要绘制。即使我使用好的库,它也会减慢绘图过程并显着增加内存。
另外,我想在 viewport3D 的表面上绘制一个矩形,而不考虑内容。 (例如,我不想计算我应该在哪里绘制矩形,这样它就不会出现在对象后面。)
所以在 viewport3D 的表面上绘图将是一个很好的解决方案,如果我知道如何去做的话。
您可以覆盖 Viewport3D 的 OnRender 方法。参考下面的代码。
class MyViewPort : Viewport3D
{
protected override void OnRender(DrawingContext drawingContext)
{
base.OnRender(drawingContext);
}
}
如何更改 Viewport3D 的渲染?有没有类似winforms的Paint Event?
我想在屏幕 space(在视口中)而不是在世界 space(在视口中)中绘制一些内容。为什么?因为直接在viewport3D中绘制文字和线条太重了。我有数十万行和文字要绘制。即使我使用好的库,它也会减慢绘图过程并显着增加内存。
另外,我想在 viewport3D 的表面上绘制一个矩形,而不考虑内容。 (例如,我不想计算我应该在哪里绘制矩形,这样它就不会出现在对象后面。)
所以在 viewport3D 的表面上绘图将是一个很好的解决方案,如果我知道如何去做的话。
您可以覆盖 Viewport3D 的 OnRender 方法。参考下面的代码。
class MyViewPort : Viewport3D
{
protected override void OnRender(DrawingContext drawingContext)
{
base.OnRender(drawingContext);
}
}