void OnEnable() { _renderer = (CloudRenderer)target; if (_renderer.material != null) { _materialEditor = (MaterialEditor)CreateEditor(_renderer.material); } }
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(); }