Exemplo n.º 1
0
 protected override bool ResolveDependencies()
 {
     this.cameraEventHandler = CameraEventHandler.GetCameraEventHandler(this.rendererContextIndex);
     this.lightEventHandler  = LightEventHandler.GetLightEventHandler(this.rendererContextIndex);
     return(this.cameraEventHandler != null &&
            (this.lightEventHandler != null || !this.DrawInLight));
 }
Exemplo n.º 2
0
        private void OnCameraDisconnected(Camera sender, EventArgs e)
        {
            if (this.onCameraDisconnected == null)
            {
                this.onCameraDisconnected = this.OnCameraDisconnected;
            }

            if (Program.CheckAndInvoke(this.CameraDisconnected, this.onCameraDisconnected, sender, e))
            {
                this.CameraDisconnected(sender, e);
            }
        }
Exemplo n.º 3
0
        public static void RemoveEvent(Camera camera, CameraEventHandler onPostRenderEvent)
        {
            if (camera == null)
            {
                return;
            }

            PreRenderEvent e = camera.GetComponent <PreRenderEvent>();

            if (e != null)
            {
                e.OnEvent -= onPostRenderEvent;
            }
        }
Exemplo n.º 4
0
        public static void RemoveRenderEvent(Camera camera, CameraEventHandler onPostRenderEvent)
        {
            if (camera == null)
            {
                return;
            }

            RenderEvent renderEvent = camera.GetComponent <RenderEvent>();

            if (renderEvent != null)
            {
                renderEvent.OnPostRenderEvent -= onPostRenderEvent;
            }
        }
Exemplo n.º 5
0
    public static void RemoveEvent(Camera camera, CameraEventHandler postRenderEvent)
    {
        if (camera == null)
        {
            throw new System.ArgumentException("Camera not found");
        }

        CameraPostRender cameraPostRender = camera.GetComponent <CameraPostRender>();

        if (cameraPostRender == null)
        {
            throw new System.ArgumentException("CameraPostRenderComponent not found");
        }

        cameraPostRender.d_event -= postRenderEvent;
    }
Exemplo n.º 6
0
        private void glControl1_Load(object sender, EventArgs e)
        {
            glControl1.VSync = true;

            myViewPort           = new Viewport(0, 0, glControl1.Width, glControl1.Height);
            myCamera             = new Camera(myViewPort);
            myCameraEventHandler = new CameraEventHandler(myCamera);

            myCamera.position = new Vector3(-1, 1, -1);
            myCamera.lookAt(Vector3.Zero);

            myParticleSystem = ParticleManager.loadDefinition("../data/particleSystems/ringOfFire.json");
            particleSystemPropGrid.SelectedObject = myParticleSystem;
            updateFeatureCollection();

            GL.ClearColor(0.2f, 0.2f, 0.2f, 1.0f);

            //setup the rendering scene
            myView = new Graphics.View("Main View", myCamera, myViewPort);
            Pass p = new Pass("model", "forward-lighting");

            p.clearTarget = true;
            p.filter      = new TypeFilter(new List <String>()
            {
                "light", "staticModel", "skinnedModel", "particle"
            });
            myView.addPass(p);

            //create the default font
            myFont = FontManager.findFont("FREESANS");

            //add the view
            Renderer.views[myView.name] = myView;

            //add the ground plane
            //Renderer.renderables.Add(new SimpleModel(SimpleModel.SimpleModelType.TEXURED_PLANE, new Vector3(0f, 0f, 0f), 10.0f, Color4.White));
            Renderer.renderables.Add(myParticleSystem);

            //setup the timer
            myRenderTimer.Interval = 5;
            myRenderTimer.Tick    += renderTimerElapsed;
            myRenderTimer.Start();

            myIsLoaded = true;
        }
Exemplo n.º 7
0
    protected override void Unload()
    {
        base.Unload();
        if (this.commandBuffer != null)
        {
            if (this.cameraEventHandler != null && this.cameraEventHandler.CameraComponent)
            {
                this.RemoveCommandBuffer();
            }

            this.commandBuffer.Clear();
            this.commandBuffer.Release();
            this.commandBuffer = null;
        }
        // Here a tricks : a reference to a component that has been destroyed act as null on a comparaison.
        if (this.cameraEventHandler != null)
        {
            this.cameraEventHandler.OnPreCullEvents -= this.OnPreCullEvent;
        }

        this.cameraEventHandler = null;
        this.lightEventHandler  = null;
    }