openvisconf - webgl for graphics and data visualization
TRANSCRIPT
AGENDA
•WHAT IS WEBGL ?
•WHAT CAN WEBGL BE USED FOR ?
•HOW DOES WEBGL WORK ?
•WHAT DOES WEBGL CODE LOOK LIKE ?
WEBGL USE-CASES
•EXPLORATORY VISUALIZATIONS
•REAL-TIME DATA ANALYSIS
•STORYTELLING
•SCIENTIFIC VISUALIZATION
•DATA ART/ILLUSTRATION
WORLD FLIGHTS
EXPLORATORY VISUALIZATIONS
EXPLORATORY VISUALIZATIONS
1 vec4 vector = vec4( 0, 1, vec2(0, 0) ); 2 vec3 point = vector.xyz; 3 vec3 rgb = vector.rgb; 4 mat4 m = mat4(vector); 5 vec4 ans = vector * m; 6 7 float delta = 0.3; 8 vec4 from = vec4(0); 9 vec4 to = vec4(1);10 vec4 current = from + (to - from) * delta;11 vec4 current2 = mix(from, to, delta);
GLSL SYNTAX
GLSL BUILT-IN FUNCTIONS
radians degrees sincos tan asin
acos atan powexp log exp2log2 sqrt inversesqrtabs sign floorceil fract modmin max clampmix step smoothstep
length distance dotcross normalize faceforward
reflect refract matrixCompMult
INTERACTIONS(0, 0, 0) (1, 0, 0)
(0, 0, 1) (1, 0, 1)
Every pixel maps to a unique color
Every color is mapped to a lat/lon position
[(0, 0, 0), (1, 0, 0)] => [0, 2π]
[(0, 0, 0), (0, 0, 1)] => [-π, π]
KEY TAKEAWAYS
•USES THE GPU: SPEED & SCALE
•FROM DATA ART AND EXPLORATORY VIS
•LOW-LEVEL API: USE A LIBRARY