public void SetSourceTexture(Texture texture)
        {
            CheckInit();

            if (texture != null)
            {
                _sourceTexture = texture;
            }
            else
            {
                _sourceTexture = _textureNull;
            }

            RenderTextureUtils.SetRenderTextureSize(ref _texture, _sourceTexture.width, _sourceTexture.height);

            foreach (var component in _components)
            {
                if (component != null)
                {
                    component.UpdateSourceTexture();
                }
            }
        }
Example #2
0
    public virtual void SaveAsset()
    {
        string path = "Assets/" + assetName + ".asset";

        switch (dimension)
        {
        case TextureDimension.Tex2D:
            Texture2D output2D = RenderTextureUtils.ConvertToTexture2D(renderTexture, 0, size, assetTextureFormat);
            UnityEditor.AssetDatabase.CreateAsset(output2D, path);
            Debug.Log("Wrote 2D " + output2D + " to " + path, this);
            break;

        case TextureDimension.Tex3D:
            Texture3D output3D = RenderTextureUtils.ConvertToTexture3D(renderTexture, size, assetTextureFormat);
            UnityEditor.AssetDatabase.CreateAsset(output3D, path);
            Debug.Log("Wrote 3D " + output3D + " to " + path, this);

            break;

        default:
            Debug.LogError("Only Tex2D and Tex3D dimensions are supported");
            break;
        }
    }
Example #3
0
 public override void UpdateSourceTexture()
 {
     RenderTextureUtils.SetRenderTextureSize(ref _rtC, _mskController.sourceTexture.width, _mskController.sourceTexture.height);
 }