示例#1
0
        public override void Update()
        {
            base.Update();

            var renderingSettings = Game.PackageSettings?.GetConfiguration <RenderingSettings>();
            var aspect            = (renderingSettings == null) ? 1.7778f : (float)renderingSettings.DefaultBackBufferWidth / (float)renderingSettings.DefaultBackBufferHeight;

            // update frustumMesh aspect
            var newCameraParameters = new CameraParameters(Component, aspect);

            if (!newCameraParameters.Equals(cameraParameters))
            {
                cameraParameters = newCameraParameters;
                frustumMesh.RebuildVertexBuffer(GraphicsCommandList, cameraParameters);
            }

            // update frustumMesh transformation
            frustum.Transform.UseTRS = false;
            frustum.Transform.UpdateWorldMatrix();
        }