我正在从数据中渲染一个3D轮廓曲面。我每隔几秒钟就会从实时监控中获得新数据,并且需要使用新数据重新绘制。我能找到的所有例子都只是展示了如何从固定数据渲染3D轮廓面。
我找不到一个例子来解释如何(清除,删除,擦除)网格或模型,并用新数据重新绘制。
谁能给我举个例子,或者解释一下如何用新的数据重新绘制3D轮廓表面。
发布于 2018-11-13 02:26:06
我已经在几个回答问题的帮助下解决了这个问题。
for (int i= main_model_3D_group.Children.Count-1;i main_model_3D_group. 0;i--) { if (main_model_3D_group.Childreni is GeometryModel3D) main_model_3D_group.Children.RemoveAt(i);}
遇到的第二个问题:我使用ImageBrush来获得渐变颜色的表面材质。ImageBrush.ImageSource会锁定该文件,因此您无法使用新的颜色数据保存相同的文件名。用下面的函数解决了这个问题;
public ImageSource BitmapFromUri(Uri source)
{
bitmap.BeginInit();
bitmap.UriSource = source;
bitmap.CacheOption = BitmapCacheOption.OnLoad;
bitmap.EndInit();
return bitmap;}
此函数使Uri源(xxx.PNG文件)处于解锁状态,但第二次调用不会重新加载该文件(假定是因为它已缓存)。通过使用2个文件名(奇数/偶数)解决了这个问题。所以其他调用都使用了不同的文件名。
https://stackoverflow.com/questions/53240451
复制相似问题