main.cpp
glm::vec4 find_ranges(std::vector<float> & data)
{
    std::sort(data.begin(), data.end());
    int lowest = 0;
    while (data[lowest] == 0.0f)
    {
        ++lowest;
    }
 
    int size = data.size();
    int length = size - lowest;
    glm::vec4 ranges = glm::vec4( data[lowest], data[lowest + length * 3 / 4 - 1], data[lowest + length * 7 / 8 - 1], data[size - 1] );
    return ranges;
}
/*
 - takes the iteration data as a standard vector of floats, and returns the vec4 representing the color ranges.
 - sort all data. This leaves us with some amount of zeroes (which correspond to pixels in the Mandelbrot set), and non-zero values.
 - search for the first non-zero value at index lowest. 
 -  first bound is this lowest non-zero value.
 - next bound is at 3/4 ( done using trial and error, around 0.7-0.85 has good color contrast, below or above destroys the beauty ).

*/
takes the iteration data as a standard vector of floats, and returns the vec4 representing the color ranges.
sort all data. This leaves us with some amount of zeroes (which correspond to pixels in the Mandelbrot set), and non-zero values.
search for the first non-zero value at index lowest.
first bound is this lowest non-zero value.
next bound is at 3/4 ( done using trial and error, around 0.7-0.85 has good color contrast, below or above destroys the beauty ).
takes the iteration data as a standard vector of floats and returns the vec4 representing the color ranges . sort all data . This leaves us with some amount of zeroes ( which correspond to pixels in the Mandelbrot set ) and non - zero values . search for the first non - zero value at index lowest . first bound is this lowest non - zero value . next bound is at 3 / 4 ( done using trial and error around 0 . 7 - 0 . 85 has good color contrast below or above destroys the beauty ) .
glm::vec4 find_ranges(std::vector<float> & data)
{
    std::sort(data.begin(), data.end());
    int lowest = 0;
    while (data[lowest] == 0.0f)
    {
        ++lowest;
    }
    int size = data.size();
    int length = size - lowest;
    glm::vec4 ranges = glm::vec4( data[lowest], data[lowest + length * 3 / 4 - 1], data[lowest + length * 7 / 8 - 1], data[size - 1] );
    return ranges;
}
glm :: vec4 find_ranges ( std :: vector < float > & data ) { std :: sort ( data . begin ( ) , data . end ( ) ) ; int lowest = 0 ; while ( data [ lowest ] == 0.0f ) { ++ lowest ; } int size = data . size ( ) ; int length = size - lowest ; glm :: vec4 ranges = glm :: vec4 ( data [ lowest ] , data [ lowest + length * 3 / 4 - 1 ] , data [ lowest + length * 7 / 8 - 1 ] , data [ size - 1 ] ) ; return ranges ; }
takes the iteration data as a standard vector of floats, and returns the vec4 representing the color ranges.
takes the iteration data as a standard vector of floats and returns the vec4 representing the color ranges .