123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /**
- * Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
- *
- * @author Alexander Rose <alexander.rose@weirdbyte.de>
- */
- precision highp float;
- precision highp int;
- #pragma glslify: import('./chunks/common-vert-params.glsl')
- #pragma glslify: import('./chunks/color-vert-params.glsl')
- #pragma glslify: import('./chunks/size-vert-params.glsl')
- uniform mat4 uModelView;
- attribute vec3 aPosition;
- attribute vec2 aMapping;
- attribute vec2 aTexCoord;
- attribute mat4 aTransform;
- attribute float aInstance;
- attribute float aGroup;
- uniform float uOffsetX;
- uniform float uOffsetY;
- uniform float uOffsetZ;
- // uniform bool ortho;
- uniform float uPixelRatio;
- uniform float uViewportHeight;
- varying vec2 vTexCoord;
- #pragma glslify: matrixScale = require(./utils/matrix-scale.glsl)
- void main(void){
- #pragma glslify: import('./chunks/assign-color-varying.glsl')
- #pragma glslify: import('./chunks/assign-marker-varying.glsl')
- #pragma glslify: import('./chunks/assign-size.glsl')
- vTexCoord = aTexCoord;
- float scale = matrixScale(uModelView);
- float offsetX = uOffsetX * scale;
- float offsetY = uOffsetY * scale;
- float offsetZ = uOffsetZ * scale;
- if (vTexCoord.x == 10.0) {
- offsetZ -= 0.001;
- }
- vec4 mvPosition = uModelView * aTransform * vec4(aPosition, 1.0);
- // #ifdef FIXED_SIZE
- // if (ortho) {
- // scale /= pixelRatio * ((uViewportHeight / 2.0) / -uCameraPosition.z) * 0.1;
- // } else {
- // scale /= pixelRatio * ((uViewportHeight / 2.0) / -mvPosition.z) * 0.1;
- // }
- // #endif
- vec4 mvCorner = vec4(mvPosition.xyz, 1.0);
- mvCorner.xy += aMapping * size * scale;
- mvCorner.x += offsetX;
- mvCorner.y += offsetY;
- // if(ortho){
- // mvCorner.xyz += normalize(-uCameraPosition) * offsetZ;
- // } else {
- // mvCorner.xyz += normalize(-mvCorner.xyz) * offsetZ;
- // }
- mvCorner.xyz += normalize(-mvCorner.xyz) * offsetZ;
- gl_Position = uProjection * mvCorner;
- vViewPosition = -mvCorner.xyz;
- }
|