private void Initialize()
{
for ( int i = 0; i < 6; i++ )
{
_planes[ i ] = new Plane();
}
_fieldOfView = Utility.PI / 4.0f;
_nearDistance = 100.0f;
_farDistance = 100000.0f;
_aspectRatio = 1.33333333333333f;
_orthoHeight = 1000.0f;
_frustumExtentsManuallySet = false;
_recalculateFrustum = true;
_recalculateView = true;
// Init matrices
_viewMatrix = Matrix4.Zero;
_projectionMatrix = Matrix4.Zero;
_projectionMatrixRS = Matrix4.Zero;
_projectionType = Projection.Perspective;
_lastParentPosition = Vector3.Zero;
_lastParentOrientation = Quaternion.Identity;
// init vertex data
_vertexData.vertexDeclaration.AddElement( 0, 0, VertexElementType.Float3, VertexElementSemantic.Position );
_vertexData.vertexStart = 0;
_vertexData.vertexCount = 32;
_vertexData.vertexBufferBinding.SetBinding(0, HardwareBufferManager.Instance.CreateVertexBuffer( _vertexData.vertexDeclaration, _vertexData.vertexCount, BufferUsage.DynamicWriteOnly ) );
_material = (Material)MaterialManager.Instance[ "BaseWhite" ];
_customProjectionMatrix = false;
_customViewMatrix = false;
_frustumOffset = new Vector2( 0.0f, 0.0f );
_focalLength = 1.0f;
lastLinkedReflectionPlane = new Plane();
lastLinkedObliqueProjPlane = new Plane();
UpdateView();
}