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); }
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); }