PerspectiveCamera.FieldOfView Property

 

Gets or sets a value that represents the camera's horizontal field of view.

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

public double FieldOfView { get; set; }

Property Value

Type: System.Double

The camera's horizontal field of view, in degrees. The default value is 45.

For PerspectiveCamera, "field of view" is the horizontal bounds of the camera's projection between the camera's position and the image plane.

Identifier Field

FieldOfViewProperty

Metadata properties set to true

None

<DockPanel>
  <Viewport3D Name="myViewport">

    <Viewport3D.Camera>
      <PerspectiveCamera FarPlaneDistance="20" LookDirection="5,-2,-3" UpDirection="0,1,0" NearPlaneDistance="0" Position="-5,2,3" FieldOfView="45" />
    </Viewport3D.Camera>

    <ModelVisual3D x:Name="topModelVisual3D">
      <ModelVisual3D.Children>
        <ModelVisual3D>
          <ModelVisual3D.Content>
            <DirectionalLight Color="#FFFFFFFF" Direction="-3,-4,-5" />
          </ModelVisual3D.Content>
        </ModelVisual3D>

        <ModelVisual3D>
          <ModelVisual3D.Content>
            <GeometryModel3D Geometry="{StaticResource myTeapot}">
              <GeometryModel3D.Material>
                <DiffuseMaterial>
                  <DiffuseMaterial.Brush>
                    <SolidColorBrush Color="Blue" Opacity="1.0" />
                  </DiffuseMaterial.Brush>
                </DiffuseMaterial>
              </GeometryModel3D.Material>
              <GeometryModel3D.Transform>
                <RotateTransform3D>
                  <RotateTransform3D.Rotation>
                    <AxisAngleRotation3D x:Name="myAngleRotation" Axis="0,3,0" Angle="1" />
                  </RotateTransform3D.Rotation>
                </RotateTransform3D>
              </GeometryModel3D.Transform>
            </GeometryModel3D>
          </ModelVisual3D.Content>
        </ModelVisual3D>


      </ModelVisual3D.Children>
    </ModelVisual3D>


    <Viewport3D.Triggers>

      <EventTrigger RoutedEvent="Viewport3D.Loaded">
        <BeginStoryboard>
          <Storyboard>
            <DoubleAnimation 
              Storyboard.TargetName="myAngleRotation"
              Storyboard.TargetProperty="Angle"
              From="0" To="360" Duration="0:0:10"
              RepeatBehavior="Forever" />
          </Storyboard>
        </BeginStoryboard>
      </EventTrigger>
    </Viewport3D.Triggers>


  </Viewport3D>
</DockPanel>

.NET Framework
Available since 3.0
Return to top
Show: