示例#1
0
        private void DestroyResources()
        {
            if (basePositionTextureResource != null)
            {
                VertexProcessorCache.ReleaseResource(basePositionTextureResource);
                basePositionTextureResource = null;
            }
            if (baseNormalTextureResource != null)
            {
                VertexProcessorCache.ReleaseResource(baseNormalTextureResource);
                basePositionTextureResource = null;
            }
            if (baseTangentTextureResource != null)
            {
                VertexProcessorCache.ReleaseResource(baseTangentTextureResource);
                basePositionTextureResource = null;
            }

            if (positionTexture)
            {
                Object.DestroyImmediate(positionTexture);
            }
            if (normalTexture)
            {
                Object.DestroyImmediate(normalTexture);
            }
            if (tangentTexture)
            {
                Object.DestroyImmediate(tangentTexture);
            }

            if (previousPositionTexture)
            {
                Object.DestroyImmediate(previousPositionTexture);
            }

            if (optimizedVertexMapResource != null)
            {
                VertexProcessorCache.ReleaseResource(optimizedVertexMapResource);
                optimizedVertexMapResource = null;
            }

            if (unpackedMeshResource != null)
            {
                VertexProcessorCache.ReleaseResource(unpackedMeshResource);
                unpackedMeshResource = null;
            }

            if (meshResource != null)
            {
                VertexProcessorCache.ReleaseResource(meshResource);
                meshResource = null;
            }

            if (vertexProcessorDebug != null)
            {
                vertexProcessorDebug.Dispose();
                vertexProcessorDebug = null;
            }
        }