Example #1
0
        private void OnStarRenderingComplete(BaseStarDataRenderer renderer, Texture2D texture, bool success)
        {
            if (m_IsCancelled)
            {
                m_BusyRenderingCount = 0;
                return;
            }

            texture.name = TextureNameForStarLayer(renderer.layerId);
            SkyEditorUtility.AddSkyResource(profile, texture);

            AssetDatabase.Refresh();

            if (renderer.layerId == "1")
            {
                profile.starLayer1DataTexture = texture;
            }
            else if (renderer.layerId == "2")
            {
                profile.starLayer2DataTexture = texture;
            }
            else if (renderer.layerId == "3")
            {
                profile.starLayer3DataTexture = texture;
            }

            m_BusyRenderingCount -= 1;

            if (completionCallback != null)
            {
                completionCallback(this, true);
            }
        }
Example #2
0
 private void OnStarRenderingProgress(BaseStarDataRenderer renderer, float progress)
 {
     if (progressCallback != null)
     {
         progressCallback(this, progress);
     }
 }
    private void OnStarRenderingProgress(BaseStarDataRenderer renderer, float progress)
    {
        // Update the tracking data.
        StarRendererData data = starData[renderer];

        data.progress = progress;

        // Update progress bar.
        EditorUtility.DisplayProgressBar(progressTitle,
                                         progressMessage, CalculateOverallRenderProgress());
    }
Example #4
0
        void RebuildStarLayer(string layerId, float density, float radius)
        {
            BaseStarDataRenderer renderer = GetBestRendererForPlatform();

            renderer.layerId             = layerId;
            renderer.imageSize           = m_ImageSize;
            renderer.density             = density;
            renderer.maxRadius           = radius;
            renderer.completionCallback += OnStarRenderingComplete;
            renderer.progressCallback   += OnStarRenderingProgress;

            m_Renderers.Add(renderer);

            EditorCoroutine.start(renderer.ComputeStarData());
        }
Example #5
0
    // Refresh the tracking data for a star rendering layer.
    void UpdateStarRendererTrackingData(BaseStarDataRenderer renderer,
                                        string layerId, List <MaterialProperty> props)
    {
        StarRendererData data = null;

        if (starData.ContainsKey(renderer) == false)
        {
            data = new StarRendererData();
            starData[renderer] = data;
        }
        else
        {
            data = starData[renderer];
        }

        MaterialProperty densityProp = GetPropertyWithName(props, "_StarLayer" + layerId + "Density");

        data.density  = densityProp.floatValue;
        data.name     = "Star layer " + layerId;
        data.layerId  = layerId;
        data.progress = 0;
    }
    private void OnStarRenderingComplete(BaseStarDataRenderer renderer, Texture2D texture, bool success)
    {
        StarRendererData data = starData[renderer];

        texture.name       = data.layerId;
        texture.filterMode = FilterMode.Point;
        texture.wrapMode   = TextureWrapMode.Clamp;

        RemoveAllObjectsWithName(data.layerId, material);

        AddObjectToMaterial(texture, material);

        // Update the material with the new texture file.
        material.SetTexture("_StarLayer" + data.layerId + "DataTex", texture);

        busyRenderingCount -= 1;

        if (busyRenderingCount <= 0)
        {
            // Hide our progress bar.
            EditorUtility.ClearProgressBar();
        }
    }
    // Appends an identifiier for the star data file names.
    private string FileNameForRendererData(BaseStarDataRenderer renderer, string prefix, string ext)
    {
        StarRendererData data = starData[renderer];

        return(prefix + data.layerId + "." + ext);
    }