Ejemplo n.º 1
0
        public static void ReturnPNTX2VertexBuffer(VertexBuffer11 buff)
        {
            if (buff == null)
            {
                return;
            }
            buff.Dispose();
            GC.SuppressFinalize(buff);

            // BufferMutex.WaitOne();
            //todo11 reimplement buffer pooling
            //int count = buff.Count;
            //if (!VertexX2Pools.ContainsKey(count))
            //{
            //    VertexX2Pools.Add(count, new Buffers(count));
            //}

            //VertexX2Pools[count].Entries.Push(buff);
            //BufferMutex.ReleaseMutex();
        }
Ejemplo n.º 2
0
        public static void DisposeBuffers()
        {
            foreach (Buffers pool in IndexPools.Values)
            {
                foreach (object buf in pool.Entries)
                {
                    IndexBuffer11 indexBuf = buf as IndexBuffer11;
                    indexBuf.Dispose();
                    GC.SuppressFinalize(indexBuf);
                }
            }
            IndexPools.Clear();

            foreach (Buffers pool in VertexX2Pools.Values)
            {
                foreach (object buf in pool.Entries)
                {
                    VertexBuffer11 vertexBuf = buf as VertexBuffer11;
                    vertexBuf.Dispose();
                    GC.SuppressFinalize(vertexBuf);
                }
            }
            Vector3dPools.Clear();

            // no need to dispose since these are just managed buffers
            LockX2Pools.Clear();
            Vector3dPools.Clear();
            IndexU32Pools.Clear();
            IndexU32Pools.Clear();
            TriangleListPool.Entries.Clear();

            foreach (Texture11 texture in TexturePool256)
            {
                texture.Dispose();
                GC.SuppressFinalize(texture);
            }
            TexturePool256.Clear();
        }
Ejemplo n.º 3
0
        public static void ReturnPNTX2VertexBuffer(VertexBuffer11 buff)
        {
            if (buff == null)
            {
                return;
            }
            buff.Dispose();
            GC.SuppressFinalize(buff);

               // BufferMutex.WaitOne();
            //todo11 reimplement buffer pooling
            //int count = buff.Count;
            //if (!VertexX2Pools.ContainsKey(count))
            //{
            //    VertexX2Pools.Add(count, new Buffers(count));
            //}

            //VertexX2Pools[count].Entries.Push(buff);
            //BufferMutex.ReleaseMutex();
        }