mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-22 16:08:11 +08:00
* revert all commits to before Typescript migration * update compat workflow to match latest deps (#2335) * update compat workflow to match latest deps * attempt to debug * attempt to debug * remove debugging code * typo * update deps to match desktop (#2340) * fix: don't run lint with `--fix` on push tests (#2273) * fix: don't run lint with `--fix` on push tests * npx Co-authored-by: maniarathi <mani.arathi@gmail.com> Co-authored-by: Madison Dunitz <madison.dunitz@chanzuckerberg.com> * rename X_approx_distribution to X_approximate_distribution (#2337) * Correctly handle non-finite numbers in heuristic determination of X distribution (#2342) * handle non-finites explicitly * improve and test edge case handling for distribution estimation * revert debugging changes * code readability * clean up type inferencing (#2332) * unit tests for 64 bit conversion * clean up type handling * type inference tests * more type inference fixes * use schema to determine user intent for data typing * stop using deprecated API * fbs type encoding test * add missing test * add more tests * correctly infer X type for CXG adaptor * lint * fix typo * ts migration * cleanup from PR review * lint * PR review changes * remove unused packages from client (#2359) * remove unused packages from client * add missing peer dep * fix: disable FE auth testing on compatibility tests (#2377) * update: release process (#2277) Co-authored-by: maniarathi <mani.arathi@gmail.com> * fix: remove spaces in param setup (#2380) * delete deploy workflow (#2396) * undo reformatting which now does not pass lint * fix snapshots which changed due to npm dep changes * add missing quoting to snapshot * another snapshot typo fix * TS Revert (2) - replay PR #2347 and #2354 (#2403) * replay edits from PR 2347 * TS Revert (3) - replay edits in PR #2327 (#2404) * replay edits in PR 2327 * TS Revert (4) - replay PR #2355 (#2405) * replay edits in PR 2355 * add additional babel config * reformat with new prettier config Co-authored-by: Severiano Badajoz <sbadajoz@chanzuckerberg.com> Co-authored-by: maniarathi <mani.arathi@gmail.com> Co-authored-by: Madison Dunitz <madison.dunitz@chanzuckerberg.com>
82 lines
1.8 KiB
JavaScript
82 lines
1.8 KiB
JavaScript
import { glPointFlags, glPointSize } from "../../util/glHelpers";
|
|
|
|
export default function drawPointsRegl(regl) {
|
|
return regl({
|
|
vert: `
|
|
precision mediump float;
|
|
|
|
attribute vec2 position;
|
|
attribute vec3 color;
|
|
attribute float flag;
|
|
|
|
uniform float distance;
|
|
uniform mat3 projView;
|
|
uniform float nPoints;
|
|
uniform float minViewportDimension;
|
|
|
|
varying lowp vec4 fragColor;
|
|
|
|
const float zBottom = 0.99;
|
|
const float zMiddle = 0.;
|
|
const float zTop = -1.;
|
|
|
|
// import getFlags()
|
|
${glPointFlags}
|
|
|
|
// get pointSize()
|
|
${glPointSize}
|
|
|
|
void main() {
|
|
bool isBackground, isSelected, isHighlight;
|
|
getFlags(flag, isBackground, isSelected, isHighlight);
|
|
|
|
float size = pointSize(nPoints, minViewportDimension, isSelected, isHighlight);
|
|
gl_PointSize = size * pow(distance, 0.5);
|
|
|
|
float z = isBackground ? zBottom : (isHighlight ? zTop : zMiddle);
|
|
vec3 xy = projView * vec3(position, 1.);
|
|
gl_Position = vec4(xy.xy, z, 1.);
|
|
|
|
float alpha = isBackground ? 0.9 : 1.0;
|
|
fragColor = vec4(color, alpha);
|
|
}`,
|
|
|
|
frag: `
|
|
precision mediump float;
|
|
varying lowp vec4 fragColor;
|
|
void main() {
|
|
if (length(gl_PointCoord.xy - 0.5) > 0.5) {
|
|
discard;
|
|
}
|
|
gl_FragColor = fragColor;
|
|
}`,
|
|
|
|
attributes: {
|
|
position: regl.prop("position"),
|
|
color: regl.prop("color"),
|
|
flag: regl.prop("flag"),
|
|
},
|
|
|
|
uniforms: {
|
|
distance: regl.prop("distance"),
|
|
projView: regl.prop("projView"),
|
|
nPoints: regl.prop("nPoints"),
|
|
minViewportDimension: regl.prop("minViewportDimension"),
|
|
},
|
|
|
|
count: regl.prop("count"),
|
|
|
|
primitive: "points",
|
|
|
|
blend: {
|
|
enable: true,
|
|
func: {
|
|
srcRGB: "src alpha",
|
|
srcAlpha: 1,
|
|
dstRGB: 0,
|
|
dstAlpha: "zero",
|
|
},
|
|
},
|
|
});
|
|
}
|