-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Particle flow renderer #14491
base: main
Are you sure you want to change the base?
Particle flow renderer #14491
Conversation
📦 Preview the website for this branch here: https://deploy-preview-14491--ol-site.netlify.app/. |
Impressive work!! I had pretty much the same idea, using style expressions to compute the velocity field. Other parameters could be used, e.g. to customize the particle colors, lifetime, density etc. I was also hoping to look more seriously into using WebGL 2, specifically because of the limitations mentioned in Vladimir's blog post:
The flow particles use case might very well be the "killer app" for taking this bridge. Thanks for sharing! |
9214e59
to
39068b2
Compare
Following up on your comment from 14485, here are some links to sample data that we are looking to implement in our application. These geoJSON files reflect our current approach to the data structure; we can re-format if required/preferred. There are a number of files which represent different swaths (each swath represents a different time - there is more info in the readme). Each file is in directory
Please let me know if you have any questions/feedback or if there is anything that I can do to assist in this effort. Very excited to see where this goes! Thanks! |
6cf46d0
to
a2fb956
Compare
caa8d55
to
015ebf0
Compare
69fa5c7
to
e6907c3
Compare
ca4c2e9
to
b5511fb
Compare
7e45e0c
to
6fa838e
Compare
This adds a new layer type for rendering velocity fields. The implementation is inspired by and borrows from the excellent description of the technique described by Vladimir Agafonkin for building a wind map.
The wind example shows the new "flow" layer (final names TBD). The layer takes a style object similar to the other WebGL layers, and the example demonstrates a linear color ramp using the new
speed
expression. The source for the flow layer is a data tile layer where pixel values are assumed to represent x and y velocities, and the layer renders particles moving through the velocity field. The example still does quite a bit of work to smoothly interpolate the coarse resolution input data. I haven't yet decided how much flexibility we should provide in terms of input data types and expressions for converting input data to velocities.