void OnEnable()
 {
     _renderer = (CloudRenderer)target;
     if (_renderer.material != null)
     {
         _materialEditor = (MaterialEditor)CreateEditor(_renderer.material);
     }
 }
Beispiel #2
0
    void Start()
    {
        var format = UnityEngine.Experimental.Rendering.GraphicsFormat.R16G16B16A16_UNorm;

        rt = new RenderTexture(resolution, resolution, 0);
        rt.graphicsFormat    = format;
        rt.enableRandomWrite = true;
        rt.useMipMap         = false;
        rt.volumeDepth       = resolution;
        rt.dimension         = UnityEngine.Rendering.TextureDimension.Tex3D;
        rt.wrapMode          = TextureWrapMode.Repeat;
        rt.filterMode        = FilterMode.Bilinear;
        rt.Create();

        TextureSize       = rt.width;
        numThreadGroups   = Mathf.CeilToInt(TextureSize / 8f);
        worley_points_lv1 = CreateWorleyPoints(prng, WorleyResolutionLv1);
        worley_points_lv2 = CreateWorleyPoints(prng, WorleyResolutionLv2);
        worley_points_lv3 = CreateWorleyPoints(prng, WorleyResolutionLv3);
        cloudRenderer     = GetComponent <CloudRenderer>();
        GenWorley();
    }