Exemplo n.º 1
0
                protected override void OnPreRenderTargetUpdate(RenderTargetEvent evt)
                {
                    base.OnPreRenderTargetUpdate(evt);

                    Camera camera = owner.camera;

                    //update camera settings
                    camera.NearClipDistance = .1f;
                    camera.FarClipDistance  = 1000;
                    camera.AspectRatio      = 1.3f;
                    camera.Fov      = 80;
                    camera.Position = new Vec3(3, 1, 2);
                    camera.FixedUp  = Vec3.ZAxis;
                    camera.LookAt(new Vec3(0, 0, 0));

                    //override visibility (hide main scene objects, show from lists)
                    List <SceneNode> sceneNodes = new List <SceneNode>();

                    if (owner.sceneNode != null)
                    {
                        sceneNodes.Add(owner.sceneNode);
                    }
                    SceneManager.Instance.SetOverrideVisibleObjects(new SceneManager.OverrideVisibleObjectsClass(
                                                                        new StaticMeshObject[0], sceneNodes.ToArray(), new RenderLight[0]));

                    //draw box by debug geometry
                    camera.DebugGeometry.Color = new ColorValue(1, 1, 0);
                    camera.DebugGeometry.AddBounds(new Bounds(new Vec3(-1, -1, -1), new Vec3(1, 1, 1)));
                }
                protected override void OnPreRenderTargetUpdate(RenderTargetEvent evt)
                {
                    base.OnPreRenderTargetUpdate(evt);

                    Camera defaultCamera = RendererWorld.Instance.DefaultCamera;
                    Camera camera = owner.camera;

                    //set camera settings to default state
                    camera.ProjectionType = defaultCamera.ProjectionType;
                    camera.OrthoWindowHeight = defaultCamera.OrthoWindowHeight;
                    camera.NearClipDistance = defaultCamera.NearClipDistance;
                    camera.FarClipDistance = defaultCamera.FarClipDistance;

                    Vec2I sizeInPixels = owner.Viewport.DimensionsInPixels.Size;
                    camera.AspectRatio = (float)sizeInPixels.X / (float)sizeInPixels.Y;

                    camera.Fov = defaultCamera.Fov;
                    camera.FixedUp = defaultCamera.FixedUp;
                    camera.Direction = defaultCamera.Direction;
                    camera.Position = defaultCamera.Position;

                    ////override visibility (hide main scene objects, show from lists)
                    //List<SceneNode> sceneNodes = new List<SceneNode>();
                    //if( owner.sceneNode != null )
                    //   sceneNodes.Add( owner.sceneNode );
                    //SceneManager.Instance.SetOverrideVisibleObjects( new SceneManager.OverrideVisibleObjectsClass(
                    //   new StaticMeshObject[ 0 ], sceneNodes.ToArray(), new RenderLight[ 0 ] ) );

                    if (owner.Render != null)
                        owner.Render(owner, camera);
                }
                protected override void OnPreRenderTargetUpdate(RenderTargetEvent evt)
                {
                    base.OnPreRenderTargetUpdate(evt);

                    Camera defaultCamera = RendererWorld.Instance.DefaultCamera;
                    Camera camera        = owner.camera;

                    //set camera settings to default state
                    camera.ProjectionType    = defaultCamera.ProjectionType;
                    camera.OrthoWindowHeight = defaultCamera.OrthoWindowHeight;
                    camera.NearClipDistance  = defaultCamera.NearClipDistance;
                    camera.FarClipDistance   = defaultCamera.FarClipDistance;

                    Vec2I sizeInPixels = owner.Viewport.DimensionsInPixels.Size;

                    camera.AspectRatio = (float)sizeInPixels.X / (float)sizeInPixels.Y;

                    camera.Fov       = defaultCamera.Fov;
                    camera.FixedUp   = defaultCamera.FixedUp;
                    camera.Direction = defaultCamera.Direction;
                    camera.Position  = defaultCamera.Position;

                    ////override visibility (hide main scene objects, show from lists)
                    //List<SceneNode> sceneNodes = new List<SceneNode>();
                    //if( owner.sceneNode != null )
                    //   sceneNodes.Add( owner.sceneNode );
                    //SceneManager.Instance.SetOverrideVisibleObjects( new SceneManager.OverrideVisibleObjectsClass(
                    //   new StaticMeshObject[ 0 ], sceneNodes.ToArray(), new RenderLight[ 0 ] ) );

                    if (owner.Render != null)
                    {
                        owner.Render(owner, camera);
                    }
                }
                protected override void OnPreRenderTargetUpdate(RenderTargetEvent evt)
                {
                    base.OnPreRenderTargetUpdate(evt);

                    Camera camera = owner.camera;

                    //update camera settings
                    camera.NearClipDistance = .1f;
                    camera.FarClipDistance = 1000;
                    camera.AspectRatio = 1.3f;
                    camera.Fov = 80;
                    camera.Position = new Vec3(3, 1, 2);
                    camera.FixedUp = Vec3.ZAxis;
                    camera.LookAt(new Vec3(0, 0, 0));

                    //override visibility (hide main scene objects, show from lists)
                    List<SceneNode> sceneNodes = new List<SceneNode>();
                    if (owner.sceneNode != null)
                        sceneNodes.Add(owner.sceneNode);
                    SceneManager.Instance.SetOverrideVisibleObjects(new SceneManager.OverrideVisibleObjectsClass(
                        new StaticMeshObject[0], sceneNodes.ToArray(), new RenderLight[0]));

                    //draw box by debug geometry
                    camera.DebugGeometry.Color = new ColorValue(1, 1, 0);
                    camera.DebugGeometry.AddBounds(new Bounds(new Vec3(-1, -1, -1), new Vec3(1, 1, 1)));
                }
Exemplo n.º 5
0
 public override void postRenderTargetUpdate(RenderTargetEvent evt)
 {
     OgrePINVOKE.CompositorChain_postRenderTargetUpdate(swigCPtr, RenderTargetEvent.getCPtr(evt));
     if (OgrePINVOKE.SWIGPendingException.Pending)
     {
         throw OgrePINVOKE.SWIGPendingException.Retrieve();
     }
 }
 public virtual void postRenderTargetUpdate(RenderTargetEvent evt)
 {
     OgrePINVOKE.RenderTargetListener_postRenderTargetUpdate(swigCPtr, RenderTargetEvent.getCPtr(evt));
     if (OgrePINVOKE.SWIGPendingException.Pending)
     {
         throw OgrePINVOKE.SWIGPendingException.Retrieve();
     }
 }
 protected override void OnPostRenderTargetUpdate(RenderTargetEvent evt)
 {
     //SceneManager.Instance.ResetOverrideVisibleObjects();
 }
Exemplo n.º 8
0
            protected override void OnPreRenderTargetUpdate( RenderTargetEvent evt )
            {
                base.OnPreRenderTargetUpdate( evt );

                Camera camera = owner.reflectionCamera;
                Camera defaultCamera = RendererWorld.Instance.DefaultCamera;

                camera.NearClipDistance = defaultCamera.NearClipDistance;
                camera.FarClipDistance = defaultCamera.FarClipDistance;
                camera.AspectRatio = defaultCamera.AspectRatio;
                camera.Fov = defaultCamera.Fov;
                camera.Position = defaultCamera.Position;
                camera.FixedUp = defaultCamera.FixedUp;
                camera.Direction = defaultCamera.Direction;

                Plane reflectionPlane = new Plane( Vec3.ZAxis, owner.Position.Z );
                camera.DisableReflection();
                camera.EnableReflection( reflectionPlane );

                //set clip planes
                {
                    Plane clipPlane = new Plane( Vec3.ZAxis, owner.Position.Z );
                    Plane[] clipPlanes = new Plane[ 5 ];
                    clipPlanes[ 0 ] = clipPlane;

                    Vec3 reflectedCameraPosition = camera.GetReflectionMatrix() * camera.Position;

                    Bounds bounds = new Bounds( owner.Position );
                    bounds.Expand( new Vec3( owner.Size.X, owner.Size.Y, 0 ) * .5f );
                    Vec3 p0 = new Vec3( bounds.Minimum.X, bounds.Minimum.Y, owner.Position.Z );
                    Vec3 p1 = new Vec3( bounds.Maximum.X, bounds.Minimum.Y, owner.Position.Z );
                    Vec3 p2 = new Vec3( bounds.Maximum.X, bounds.Maximum.Y, owner.Position.Z );
                    Vec3 p3 = new Vec3( bounds.Minimum.X, bounds.Maximum.Y, owner.Position.Z );
                    clipPlanes[ 1 ] = Plane.FromPoints( reflectedCameraPosition, p0, p1 );
                    clipPlanes[ 2 ] = Plane.FromPoints( reflectedCameraPosition, p1, p2 );
                    clipPlanes[ 3 ] = Plane.FromPoints( reflectedCameraPosition, p2, p3 );
                    clipPlanes[ 4 ] = Plane.FromPoints( reflectedCameraPosition, p3, p0 );

                    camera.SetClipPlanesForAllGeometry( clipPlanes );
                }

                //set reflection level settings
                if( DecorativeObjectManager.Instance != null )
                    saveDrawDecorativeObjects = DecorativeObjectManager.Instance.Visible;

                camera.DrawStaticGeometry = true;
                camera.DrawModels = true;
                camera.DrawEffects = true;

                if( (int)owner.ReflectionLevel < (int)ReflectionLevels.OnlyStaticGeometry )
                    camera.DrawStaticGeometry = false;
                if( (int)owner.ReflectionLevel < (int)ReflectionLevels.OnlyModels )
                    camera.DrawModels = false;
                if( (int)owner.ReflectionLevel < (int)ReflectionLevels.ReflectAll )
                {
                    camera.DrawEffects = false;
                    if( DecorativeObjectManager.Instance != null )
                        DecorativeObjectManager.Instance.Visible = false;
                }

                //activate simple rendering mode for terrains
                foreach( HeightmapTerrain terrain in HeightmapTerrain.Instances )
                {
                    saveHeightmapTerrainsSimpleRenderingState.Add( terrain, terrain.SimpleRendering );
                    terrain.SimpleRendering = true;
                }
            }
Exemplo n.º 9
0
            protected override void OnPostRenderTargetUpdate( RenderTargetEvent evt )
            {
                RenderSystem.Instance.ResetScissorTest();

                //restore simple rendering mode state for terrains
                foreach( HeightmapTerrain terrain in HeightmapTerrain.Instances )
                {
                    bool simpleRendering;
                    if( saveHeightmapTerrainsSimpleRenderingState.TryGetValue( terrain,
                        out simpleRendering ) )
                    {
                        terrain.SimpleRendering = simpleRendering;
                    }
                }
                saveHeightmapTerrainsSimpleRenderingState.Clear();

                //restore draw settings
                if( DecorativeObjectManager.Instance != null )
                    DecorativeObjectManager.Instance.Visible = saveDrawDecorativeObjects;

                base.OnPostRenderTargetUpdate( evt );
            }
 protected override void OnPostRenderTargetUpdate(RenderTargetEvent evt)
 {
     //SceneManager.Instance.ResetOverrideVisibleObjects();
 }
Exemplo n.º 11
0
 public void event_PostRenderTargetUpdate(RenderTargetEvent evt)
 {
     mPlaneEnt.SetVisible(true);
 }
Exemplo n.º 12
0
 public void event_PreRenderTargetUpdate(RenderTargetEvent evt)
 {
     mPlaneEnt.SetVisible(false);
 }
Exemplo n.º 13
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RenderTargetEvent obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }