EmissiveMaterial::Brush Property

Gets or sets the Brush applied by the EmissiveMaterial.

Namespace:  System.Windows.Media.Media3D
Assembly:  PresentationCore (in PresentationCore.dll)

public:
property Brush^ Brush {
	Brush^ get ();
	void set (Brush^ value);
}

Property Value

Type: System.Windows.Media::Brush
The brush applied by the EmissiveMaterial. The default value is nullptr.

Identifier field

BrushProperty

Metadata properties set to true

None

If no texture coordinates are specified for a MeshGeometry3D, its material might not render as expected. The only exception is when the Material's Brush property specifies a SolidColorBrush; in this case, the Material will be rendered using a default set of texture coordinates.

The following example shows how to use EmissiveMaterial to add color to an existing Material equal to the color of the EmissiveMaterial's brush. The code below shows DiffuseMaterial and EmissiveMaterial applied in combination to add blue to the DiffuseMaterial's appearance.

<!-- The material applied to the 3D object is made up of a DiffuseMaterial (gradient brush) with 
     an EmissiveMaterial layered on top (blue SolidColorBrush). The EmissiveMaterial adds blue to the gradient. -->
<GeometryModel3D.Material>
  <MaterialGroup>
    <DiffuseMaterial>
      <DiffuseMaterial.Brush>
        <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
          <LinearGradientBrush.GradientStops>
            <GradientStop Color="Yellow" Offset="0" />
            <GradientStop Color="Red" Offset="0.25" />
            <GradientStop Color="Blue" Offset="0.75" />
            <GradientStop Color="LimeGreen" Offset="1" />
          </LinearGradientBrush.GradientStops>
        </LinearGradientBrush>
      </DiffuseMaterial.Brush>
    </DiffuseMaterial>
    <EmissiveMaterial>
      <EmissiveMaterial.Brush>
        <SolidColorBrush x:Name="mySolidColorBrush" Color="Blue" />
      </EmissiveMaterial.Brush>
    </EmissiveMaterial>
  </MaterialGroup>
</GeometryModel3D.Material>

In procedural code:

No code example is currently available or this language may not be supported.

The following code shows the entire sample in XAML.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
  <DockPanel>
    <Viewbox>
      <Canvas Width="321" Height="201">

        <!-- The Viewport3D provides a rendering surface for 3-D visual content. -->
        <Viewport3D ClipToBounds="True" Width="150" Height="150"
          Canvas.Left="0" Canvas.Top="10">

          <!-- Defines the camera used to view the 3D object. -->
          <Viewport3D.Camera>
            <PerspectiveCamera x:Name="myPerspectiveCamera" Position="0,0,2" LookDirection="0,0,-1" 
             FieldOfView="60" />
          </Viewport3D.Camera>

          <!-- The ModelVisual3D children contain the 3D models -->
          <Viewport3D.Children>

            <!-- This ModelVisual3D defines the lights cast in the scene. Without light, the
                 3D object cannot be seen. -->
            <ModelVisual3D>
              <ModelVisual3D.Content>
                <DirectionalLight Color="#FFFFFF" Direction="-0.612372,-0.5,-0.612372" />
              </ModelVisual3D.Content>
            </ModelVisual3D>
            <ModelVisual3D>
              <ModelVisual3D.Content>
                <GeometryModel3D>

                  <!-- The geometry specifes the shape of the 3D plane. In this case, a flat sheet is created. -->
                  <GeometryModel3D.Geometry>
                    <MeshGeometry3D
                     TriangleIndices="0,1,2 3,4,5 "
                     Normals="0,0,1 0,0,1 0,0,1 0,0,1 0,0,1 0,0,1 "
                     TextureCoordinates="0,0 1,0 1,1 1,1 0,1 0,0 "
                     Positions="-0.5,-0.5,0.5 0.5,-0.5,0.5 0.5,0.5,0.5 0.5,0.5,0.5 -0.5,0.5,0.5 -0.5,-0.5,0.5 " />
                  </GeometryModel3D.Geometry>
                  <!-- The material applied to the 3D object is made up of a DiffuseMaterial (gradient brush) with 
                       an EmissiveMaterial layered on top (blue SolidColorBrush). The EmissiveMaterial adds blue to the gradient. -->
                  <GeometryModel3D.Material>
                    <MaterialGroup>
                      <DiffuseMaterial>
                        <DiffuseMaterial.Brush>
                          <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
                            <LinearGradientBrush.GradientStops>
                              <GradientStop Color="Yellow" Offset="0" />
                              <GradientStop Color="Red" Offset="0.25" />
                              <GradientStop Color="Blue" Offset="0.75" />
                              <GradientStop Color="LimeGreen" Offset="1" />
                            </LinearGradientBrush.GradientStops>
                          </LinearGradientBrush>
                        </DiffuseMaterial.Brush>
                      </DiffuseMaterial>
                      <EmissiveMaterial>
                        <EmissiveMaterial.Brush>
                          <SolidColorBrush x:Name="mySolidColorBrush" Color="Blue" />
                        </EmissiveMaterial.Brush>
                      </EmissiveMaterial>
                    </MaterialGroup>
                  </GeometryModel3D.Material>
                  <!-- The Transform specifies how to transform the 3D object. This transform 
                       rotates the object.-->
                  <GeometryModel3D.Transform>
                    <RotateTransform3D>
                      <RotateTransform3D.Rotation>
                        <AxisAngleRotation3D x:Name="myAngleRotation" Axis="0,3,0" Angle="40" />
                      </RotateTransform3D.Rotation>
                    </RotateTransform3D>
                  </GeometryModel3D.Transform>
                </GeometryModel3D>
              </ModelVisual3D.Content>
            </ModelVisual3D>
          </Viewport3D.Children>
        </Viewport3D>
      </Canvas>
    </Viewbox>
  </DockPanel>
</Page>

Below is the entire sample in procedural code.

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft