MeshGeometry3D::Normals Property

Gets or sets a collection of normal vectors for the MeshGeometry3D.

Namespace:  System.Windows.Media.Media3D
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public:
property Vector3DCollection^ Normals {
	Vector3DCollection^ get ();
	void set (Vector3DCollection^ value);
}
<object>
  <object.Normals>
    <Vector3DCollection .../>
  </object.Normals>
</object>
<object Normals="Vector3DCollection" .../>

Property Value

Type: System.Windows.Media.Media3D::Vector3DCollection
Vector3DCollection that contains the normal vectors for the MeshGeometry3D.

Identifier field

NormalsProperty

Metadata properties set to true

None

Normal vectors are vectors perpendicular to the face of each triangle that defines a mesh. Normals determine whether a given triangle face is lit.

MeshGeometry3D allows the developer to specify position, normal, and texture coordinate information.

Normals are assumed to be associated with the front faces of a mesh primitive. The winding order (the order in which the Positions that make up each triangle of the mesh are specified) determines whether a given face is front-facing or back-facing.

If normals are not specified, their generation depends on whether the developer has specified triangle indices for the mesh. If triangle indices are specified, normals will be generated that take into account adjacent faces. If triangle indices are not specified, only one normal will be generated for the specified triangle. This might cause a faceted appearance in the mesh.

<GeometryModel3D>
  <GeometryModel3D.Geometry>
          <MeshGeometry3D 
              Positions="-1 -1 0  1 -1 0  -1 1 0  1 1 0"
              Normals="0 0 1  0 0 1  0 0 1  0 0 1"
              TextureCoordinates="0 1  1 1  0 0  1 0   "
              TriangleIndices="0 1 2  1 3 2" />
      </GeometryModel3D.Geometry>
      <GeometryModel3D.Material>
          <DiffuseMaterial>
              <DiffuseMaterial.Brush>
                  <SolidColorBrush Color="Cyan" Opacity="0.3"/>
              </DiffuseMaterial.Brush>
          </DiffuseMaterial>
      </GeometryModel3D.Material>
  <!-- Translate the plane. -->
      <GeometryModel3D.Transform>
          <TranslateTransform3D
            OffsetX="2" OffsetY="0" OffsetZ="-1"   >
          </TranslateTransform3D>
      </GeometryModel3D.Transform>
  </GeometryModel3D>

.NET Framework

Supported in: 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