public override void Render(Microsoft.MapPoint.Rendering3D.Scene.SceneState sceneState) { if (mesh != null) { RenderQueues renderQueues = sceneState.GetData <RenderQueues>(); renderQueues.AddRenderable(mesh); } }
public override void Render(Microsoft.MapPoint.Rendering3D.Scene.SceneState sceneState) { if (meshLayers.Count != 0) { CameraData data; if (sceneState.TryGetData <CameraData>(out data)) { RenderQueues renderQueues = sceneState.GetData <RenderQueues>(); foreach (MeshLayer meshLayer in meshLayers) { if (meshLayer.IsVisible) { renderQueues.AddRenderable(meshLayer.Mesh); } } } } }
public override void Render(Microsoft.MapPoint.Rendering3D.Scene.SceneState sceneState) { if (meshLayers.Count != 0) { CameraData data; if (sceneState.TryGetData <CameraData>(out data)) { RenderQueues renderQueues = sceneState.GetData <RenderQueues>(); lock (meshLayers) { for (int i = 0; i < meshLayers.Count; i++) { if (meshLayers[i].IsVisible) { renderQueues.AddAlphaRenderable(data.Snapshot.Position.Altitude - meshLayers[i].LayerAltitude, meshLayers[i].Mesh); } } } } } }