Directional light : 3D « Windows Presentation Foundation « C# / CSharp Tutorial

Home
C# / CSharp Tutorial
1.Language Basics
2.Data Type
3.Operator
4.Statement
5.String
6.struct
7.Class
8.Operator Overload
9.delegate
10.Attribute
11.Data Structure
12.Assembly
13.Date Time
14.Development
15.File Directory Stream
16.Preprocessing Directives
17.Regular Expression
18.Generic
19.Reflection
20.Thread
21.I18N Internationalization
22.LINQ
23.GUI Windows Forms
24.Windows Presentation Foundation
25.Windows Communication Foundation
26.Workflow
27.2D
28.Design Patterns
29.Windows
30.XML
31.XML LINQ
32.ADO.Net
33.Network
34.Directory Services
35.Security
36.unsafe
C# / C Sharp
C# / C Sharp by API
C# / CSharp Open Source
C# / CSharp Tutorial » Windows Presentation Foundation » 3D 
24.159.9.Directional light
<Window  x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="" Height="300" Width="300" Loaded="Window1_Loaded">
    <Window.Resources>
        <MeshGeometry3D x:Key="triangleMesh" Positions="-1,-1,0 1,-1,-2 1,1,0" TriangleIndices="0 1 2" />
    </Window.Resources>
    <UniformGrid>
        <Viewport3D x:Name="vp1">
            <Viewport3D.Camera>
                <PerspectiveCamera LookDirection="0,0,-1" Position="0,0,5" />
            </Viewport3D.Camera>
            <ModelVisual3D>
                <ModelVisual3D.Content>
                    <DirectionalLight Direction="-1,-1,-1" Color="White" />
                </ModelVisual3D.Content>
            </ModelVisual3D>
        </Viewport3D>


    </UniformGrid>
</Window>
//File:Window.xaml.cs
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Media3D;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
        }
        private void Window1_Loaded(object sender, RoutedEventArgs e)
        {
            MeshGeometry3D triangleMesh = (MeshGeometry3D)TryFindResource("triangleMesh");
            CreateTriangles(vp1, 4, triangleMesh);
        }

        private void CreateTriangles(Viewport3D viewport3D,int triangleCount, MeshGeometry3D triangleMesh)
        {
                ModelVisual3D modelVisual3D = new ModelVisual3D();
                GeometryModel3D geometryModel3D = new GeometryModel3D();
                geometryModel3D.Geometry = triangleMesh;
                geometryModel3D.Material= new DiffuseMaterial(Brushes.Firebrick);
                modelVisual3D.Content = geometryModel3D;
                RotateTransform3D rotateTransform = new RotateTransform3D();
                rotateTransform.Rotation = new AxisAngleRotation3D(new Vector3D(00, -1)20);
                modelVisual3D.Transform = rotateTransform;
                viewport3D.Children.Add(modelVisual3D);
        }
    }
}
WPF Directional Light
24.159.3D
24.159.1.MeshGeometry3D with TextureCoordinatesMeshGeometry3D with TextureCoordinates
24.159.2.Painting a 3D surface with a bitmapPainting a 3D surface with a bitmap
24.159.3.ControlDarkDark to ControlLightLightControlDarkDark to ControlLightLight
24.159.4.ControlDark to ControlLightControlDark to ControlLight
24.159.5.CubeCube
24.159.6.Using 3D ModelsUsing 3D Models
24.159.7.Animation RotateTransform3DAnimation RotateTransform3D
24.159.8.Point lightPoint light
24.159.9.Directional lightDirectional light
24.159.10.Spot lightSpot light
24.159.11.Ambient lightAmbient light
24.159.12.Specular MaterialSpecular Material
24.159.13.Diffuse MaterialDiffuse Material
24.159.14.Draw a 3D ModelDraw a 3D Model
24.159.15.Interact with 3D ObjectsInteract with 3D Objects
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.