public MainWindow() { InitializeComponent(); viewport.Camera = _perspCam; sceneNodeGroup = new SceneNodeGroupModel3D(); viewport.Items.Add(sceneNodeGroup); viewport.Items.Add(new AxisPlaneGridModel3D() { UpAxis = Axis.Z }); viewport.Items.Add(new LineGeometryModel3D() { Name = "grid_XY", Visibility = Visibility.Hidden, Geometry = LineBuilder.GenerateGrid(new Vector3(0, 0, 1), 0, 10), Thickness = 1, Color = Colors.DimGray }); viewport.Items.Add(new LineGeometryModel3D() { Name = "grid_YZ", Visibility = Visibility.Hidden, Geometry = LineBuilder.GenerateGrid(new Vector3(1, 0, 0), 0, 10), Thickness = 1, Color = Colors.DimGray }); viewport.Items.Add(new LineGeometryModel3D() { Name = "grid_XZ", Visibility = Visibility.Hidden, Geometry = LineBuilder.GenerateGrid(new Vector3(0, 1, 0), 0, 10), Thickness = 1, Color = Colors.DimGray }); WindowState = WindowState.Maximized; var opacityHelper = new OpacityHelper(viewport); dcPanel.DataContext = opacityHelper; }
public MainViewModel() { EffectsManager = new DefaultEffectsManager(); ModelGroup = new SceneNodeGroupModel3D(); compositeHelper.Rendering += Render; //Test importing Importer importer = new Importer(); importer.Configuration.CreateSkeletonForBoneSkinningMesh = true; importer.Configuration.SkeletonSizeScale = 0.01f; importer.Configuration.GlobalScale = 0.1f; scn = importer.Load("Gunan_animated.fbx"); //Add to model group for rendering ModelGroup.AddNode(scn.Root); //Setup each animation, this will actively play all (not always desired) animationUpdaters = new List <IAnimationUpdater>(scn.Animations.CreateAnimationUpdaters().Values); }
private void Button_Click_Initialize(object sender, RoutedEventArgs e) { viewport = new Viewport3DX(); viewport.BackgroundColor = Colors.Black; viewport.ShowCoordinateSystem = true; viewport.ShowFrameRate = true; viewport.EffectsManager = manager; viewport.Items.Add(new DirectionalLight3D() { Direction = new System.Windows.Media.Media3D.Vector3D(-1, -1, -1) }); viewport.Items.Add(new AmbientLight3D() { Color = Color.FromArgb(255, 50, 50, 50) }); sceneNodeGroup = new SceneNodeGroupModel3D(); viewport.Items.Add(sceneNodeGroup); viewport.MouseDown3D += Viewport_MouseDown3D; Grid.SetColumn(viewport, 0); mainGrid.Children.Add(viewport); buttonInit.IsEnabled = false; buttonRemoveViewport.IsEnabled = true; viewmodel.EnableButtons = true; }
public static SceneNodeGroupModel3D LoadMapMGEO(MGEOFile mgeo) { List <MeshGeometryModel3D> meshGeometryModels = GenerateMeshGeometryModels(mgeo); SceneNodeGroupModel3D mainModelGroup = new SceneNodeGroupModel3D(); foreach (MeshGeometryModel3D meshGeometryModel in meshGeometryModels) { GroupNode groupNode = new GroupNode() { Name = meshGeometryModel.Name }; groupNode.AddChildNode(new MeshNode() { Name = meshGeometryModel.Name, Geometry = meshGeometryModel.Geometry, Material = meshGeometryModel.Material, }); mainModelGroup.AddNode(groupNode); } return(mainModelGroup); }