/// <summary>
        /// Lazily creates texture resource sets.
        /// </summary>
        private ResourceSet GetTextureResourceSet(int id)
        {
            var tex = _textureStorage.GetTexture(id);

            if (id >= _textureResourceSets.Length)
            {
                GrowResourceSets();
            }

            if (_textureResourceSets[id] == null)
            {
                _textureViews[id]        = GraphicsDevice.ResourceFactory.CreateTextureView(tex);
                _textureResourceSets[id] = GraphicsDevice.ResourceFactory.CreateResourceSet(new ResourceSetDescription(
                                                                                                _textureLayout,
                                                                                                _textureViews[id]));
            }

            return(_textureResourceSets[id]);
        }