Exemple #1
0
        void ReleaseInstance()
        {
            TextureWriter.twGuardBegin();
            aepAPI.aepGuardBegin();

            // release ports & params
            aepAPI.aepDestroyLayer(m_img_src);
            m_img_src = default(aepAPI.aepLayer);

            aepAPI.aepEraseDeferredCall(m_otp_render); m_otp_render   = 0;
            TextureWriter.twEraseDeferredCall(m_tw_read); m_tw_read   = 0;
            TextureWriter.twEraseDeferredCall(m_tw_write); m_tw_write = 0;

            m_params = null;

            // release instance
            aepAPI.aepDestroyInstance(m_inst);
            m_inst.ptr = IntPtr.Zero;

            aepAPI.aepGuardEnd();
            TextureWriter.twGuardEnd();

            if (m_began)
            {
                aepAPI.aepEndSequence(m_inst);
                m_began = false;
            }
        }
Exemple #2
0
        void UpdateInputImages(Texture rt_src)
        {
            if (rt_src != null)
            {
                // copy rt_src content to memory
                if (!m_img_src)
                {
                    m_img_src = aepAPI.aepCreateLayer();
                }
                aepAPI.aepResizeLayer(m_img_src, rt_src.width, rt_src.height);

                var src_data = default(aepAPI.aepLayerData);
                aepAPI.aepGetLayerData(m_img_src, ref src_data);
                m_tw_read = TextureWriter.ReadDeferred(
                    src_data.pixels, src_data.width * src_data.height, TextureWriter.twPixelFormat.RGBAu8, rt_src, m_tw_read);
                GL.IssuePluginEvent(GetTWEvent(), m_tw_read);
            }
        }