Skip to content
Snippets Groups Projects
point.frag 1.11 KiB
Newer Older
Alexander Rose's avatar
Alexander Rose committed
/**
 * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
 *
 * @author Alexander Rose <alexander.rose@weirdbyte.de>
 */

Alexander Rose's avatar
Alexander Rose committed
precision highp float;
Alexander Rose's avatar
Alexander Rose committed
precision highp int;
Alexander Rose's avatar
Alexander Rose committed

Alexander Rose's avatar
Alexander Rose committed
#pragma glslify: import('./chunks/common-frag-params.glsl')
Alexander Rose's avatar
Alexander Rose committed
#pragma glslify: import('./chunks/color-frag-params.glsl')

Alexander Rose's avatar
Alexander Rose committed
#ifdef dPointFilledCircle
    uniform float uPointEdgeBleach;
#endif

const vec2 center = vec2(0.5);
const float radius = 0.5;

Alexander Rose's avatar
Alexander Rose committed
    #pragma glslify: import('./chunks/assign-material-color.glsl')
Alexander Rose's avatar
Alexander Rose committed
    #if defined(dColorType_objectPicking) || defined(dColorType_instancePicking) || defined(dColorType_groupPicking)
        gl_FragColor = material;
    #else
        gl_FragColor = material;

        #ifdef dPointFilledCircle
            float dist = distance(gl_PointCoord, center);
            float alpha = 1.0 - smoothstep(radius - uPointEdgeBleach, radius, dist);
            if (alpha < 0.0001) discard;
Alexander Rose's avatar
Alexander Rose committed
            gl_FragColor.a *= alpha;
        #endif
Alexander Rose's avatar
Alexander Rose committed
        #pragma glslify: import('./chunks/apply-marker-color.glsl')
        #pragma glslify: import('./chunks/apply-fog.glsl')
    #endif