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))); }
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(); }
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; } }
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 ); }
public void event_PostRenderTargetUpdate(RenderTargetEvent evt) { mPlaneEnt.SetVisible(true); }
public void event_PreRenderTargetUpdate(RenderTargetEvent evt) { mPlaneEnt.SetVisible(false); }
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); }