Esempio n. 1
0
        private void Form1_Load(object sender, EventArgs e)
        {
            elementHost = new ElementHost
            {
                Dock = DockStyle.Fill
            };
            panel1.Controls.Add(elementHost);
            viewport3DX       = new HelixToolkit.Wpf.SharpDX.Viewport3DX( );
            elementHost.Child = viewport3DX;
            var b1 = new MeshBuilder();

            b1.AddSphere(new Vector3(0, 0, 0), 0.5);
            b1.AddBox(new Vector3(0, 0, 0), 1, 0.5, 2, BoxFaces.All);
            MeshGeometry3D      model = b1.ToMeshGeometry3D();
            MeshGeometryModel3D test  = new MeshGeometryModel3D
            {
                Material = PhongMaterials.Gold,
                Geometry = model
            };
            var ambientLight = new AmbientLight3D
            {
                Color = new Color4(0.1f, 0.1f, 0.1f, 1.0f)
            };
            var directionalLight = new DirectionalLight3D
            {
                Color     = SharpDX.Color.White,
                Direction = new Vector3(-2, -5, -2)
            };

            viewport3DX.Items.Add(ambientLight);
            viewport3DX.Items.Add(directionalLight);
            //test.Attach( viewport3DX );
            viewport3DX.Items.Add(test);
        }
Esempio n. 2
0
        public void InitViewport()
        {
            Viewport.Items.Clear();

            var model = new AmbientLight3D {
                Color = new Color4(1, 1, 1, 1)
            };

            if (Viewport.RenderHost != null && Viewport.RenderHost.RenderTechnique != null)
            {
                model.Attach(Viewport.RenderHost);
            }
            Viewport.Items.Add(model);

            var model2 = new DirectionalLight3D {
                Direction = new Vector3(1, 1, 1)
            };

            if (Viewport.RenderHost != null && Viewport.RenderHost.RenderTechnique != null)
            {
                model2.Attach(Viewport.RenderHost);
            }
            Viewport.Items.Add(model2);

            var model3 = new DirectionalLight3D {
                Direction = new Vector3(-1, -1, -1)
            };

            if (Viewport.RenderHost != null && Viewport.RenderHost.RenderTechnique != null)
            {
                model3.Attach(Viewport.RenderHost);
            }

            Viewport.Items.Add(model3);
        }
        public Watch3DxControl()
        {
            InitializeComponent();
            // DataContext = this;

            // titles
            view1.Title    = "Watch3DxNode";
            view1.SubTitle = "SharpDX";

            // camera setup
            view1.Camera = new PerspectiveCamera
            {
                Position         = new Point3D(3, 3, 5),
                LookDirection    = new Vector3D(-3, -3, -5),
                UpDirection      = new Vector3D(0, 1, 0),
                FarPlaneDistance = 5000000
            };

            // default render technique
            view1.RenderTechniquesManager = new DefaultRenderTechniquesManager();
            view1.RenderTechnique         = view1.RenderTechniquesManager.RenderTechniques[DefaultRenderTechniqueNames.Phong];
            view1.EffectsManager          = new DefaultEffectsManager(view1.RenderTechniquesManager);

            // Setup lights
            var directionalLight3D = new DirectionalLight3D
            {
                Color     = Color.White,
                Direction = new Vector3(-2, -5, -2)
            };

            var ambientLight3D = new AmbientLight3D {
                Color = Color.White
            };

            view1.Items.Add(ambientLight3D);
            view1.Items.Add(directionalLight3D);

            // Geometry
            var mb = new MeshBuilder();

            mb.AddSphere(new Vector3(0, 0, 0), 0.5);
            mb.AddBox(new Vector3(0, 0, 0), 1, 0.5, 2, BoxFaces.All);
            var meshGeometry = mb.ToMeshGeometry3D();

            var meshGeomModel = new MeshGeometryModel3D
            {
                Geometry = meshGeometry,
                Material = PhongMaterials.Red
            };

            // Add the Model to the viewport
            view1.Items.Add(meshGeomModel);
        }
        public void SetupLights()
        {
            // Setup lights
            var directionalLight3D = new DirectionalLight3D
            {
                Color     = Color.White,
                Direction = new Vector3(-2, -5, -2)
            };
            var ambientLight3D = new AmbientLight3D
            {
                Color = Color.White
            };

            view1.Items.Add(ambientLight3D);
            view1.Items.Add(directionalLight3D);
        }