Пример #1
0
 public LevelObject(BehaviourModel.ObjectBehaviourModel _behaviourmodel, RenderObject _renderaspect, ResourceCollectorXNA.Engine.Render.Materials.Material _material, RaycastBoundObject _raycastaspect, EditorData ed)
 {
     behaviourmodel = _behaviourmodel;
     renderaspect = _renderaspect;
     raycastaspect = _raycastaspect;
     editorAspect = ed;
     material = _material;
 }
        public void ProceedObject(RenderObject AddedObject)
        {
            //тут решаем что за рыба и как её соотв рендерить.
            /* if (AddedObjectDescription.IsGrass)
             {

             }
             else
             {*/
            if (AddedObject.isanimaated)
            {
                if (AddedObject.isshadowcaster && EnableShadows)
                    AddedObject.ShadowTehnique = Shader.CreateAnimShadowMap;

                if (AddedObject.isshadowreceiver)
                    if (EnableShadows)
                        if (SmoothShadows)
                            AddedObject.PictureTehnique = Shader.AnimRenderSMSmooth;
                        else
                            AddedObject.PictureTehnique = Shader.AnimRenderSM;
                    else
                        AddedObject.PictureTehnique = Shader.AnimRenderNoSM;
            }
            else
            {
                if (AddedObject.isshadowcaster && EnableShadows)
                    AddedObject.ShadowTehnique = Shader.CreateStaticShadowMap;

                if (AddedObject.isshadowreceiver)
                    if (EnableShadows)
                        if (SmoothShadows)
                            AddedObject.PictureTehnique = Shader.NotAnimRenderSMSmooth;
                        else
                            AddedObject.PictureTehnique = Shader.NotAnimRenderSM;
                    else
                        AddedObject.PictureTehnique = Shader.NotAnimRenderNoSM;
                else
                    AddedObject.PictureTehnique = Shader.NotAnimRenderNoSM;

            }
            //}
        }