StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
StackGenVis/frontend/node_modules/mapbox-gl/src/shaders/README.md

1.7 KiB

Mapbox GL Shaders

This repository contains GL shaders which are shared by Mapbox GL JS and Mapbox GL Native.

Pragmas

Some variables change type depending on their context:

  • if the variable is the same for all features, we declare it as a uniform
  • if the variable is different for each feature, we declare it as an attribute (in the vertex shader) and an accompanying varying (in both the vertex and fragment shaders).
  • if the variable is different for each feature and a function of zoom, we declare several attributes and uniforms then calculate the value using interpolation

We abstract over this functionality using pragmas.

#pragma mapbox: define highp vec4 color

main() {
    #pragma mapbox: initialize highp vec4 color
    ...
    gl_FragColor = color;
}

This program defines a variable within main called color, initialize the value of color, then sets gl_FragColor to the value of color.

Pragmas take the following form.

#pragma mapbox: (define|initialize) (lowp|mediump|highp) (float|vec2|vec3|vec4) {name}

When using pragmas, the following requirements apply.

  • all pragma-defined variables must have both define and initialize pragmas
  • define pragmas must be in file scope
  • initialize pragmas must be in function scope
  • all pragma-defined variables defined and initialized in the fragment shader must also be defined and initialized in the vertex shader because attributes are not accessible from the fragment shader

Prelude

The _prelude.fragment.glsl and _prelude.vertex.glsl files are automatically included in all shaders by the compiler.