Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
        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);
        }