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.
24 lines
583 B
24 lines
583 B
4 years ago
|
precision highp float;
|
||
|
|
||
|
#pragma glslify: getTubePosition = require(./tube-position.glsl)
|
||
|
|
||
|
attribute vec4 vector;
|
||
|
attribute vec4 position;
|
||
|
attribute vec4 id;
|
||
|
|
||
|
uniform mat4 model, view, projection;
|
||
|
uniform float tubeScale;
|
||
|
|
||
|
varying vec3 f_position;
|
||
|
varying vec4 f_id;
|
||
|
|
||
|
void main() {
|
||
|
vec3 normal;
|
||
|
vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);
|
||
|
vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);
|
||
|
|
||
|
gl_Position = projection * view * tubePosition;
|
||
|
f_id = id;
|
||
|
f_position = position.xyz;
|
||
|
}
|