Exemple #1
0
        public void Update(float deltaT)
        {
            if (Shader == null || _Mesh == null)
            {
                return;
            }

            if (!_Mesh.IsLoaded)
            {
                return;
            }

            _Mesh.Update();

            Camera.Update();
            Camera.AspectRatio = (float)_renderControl.ActualWidth / (float)_renderControl.ActualHeight;

            //Camera.TargetPosition = _Mesh.Position;
            Shader.SetWorld(_Mesh.World);
            Shader.SetWorldViewProjection(_Mesh.World * Camera.View * Camera.Projection);

            if (!_Mesh.Animated)
            {
                return;
            }

            var skinnedShader = Shader as PosColorNormSkinnedEffect;

            skinnedShader.SetBoneTransforms(_Mesh.Animator.Transforms);
            _Mesh.Animator.Animate();
        }