Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background
Again for #656 this would in theory fix the issue
Here are the steps roughly I am aiming for
n x m
matrix to the GPU as we are limited in both dimensions by the max texture size, which is usually 4096. Luckily4096 x 4096 = 16777216
which is probably more than enough for most use cases (Even a 100,000 cells could have 160 features each).512x512
view of the original, unpadded matrix. It is aware of its size (512 x 512
), the size of the backing texture (4096 x 4096
), and the size of the original data (n x m
).a. Each tile's coordinate system on the fragment shader is in a normalized unit square. I have read that 0 corresponds to the top and left and 1 to the bottom and right but in practice I found the top to be 1 and the bottom to be 0. This is resolvable but surprising
b. There is some scaling business going on that I do not fully understand - something about the way that the tiles are rescaled on zoom events (so that they remain "fixed" on the canvas as we want them to) is causing all the indexing to go off the rails. This is why I tried implementing some sort of model matrix via Model Matrix for Heatmap #1135 to keep track of this better but it doesn't solve the problem. There are other things at play here I don't fully understand.
c. I think the tiles kind of "go off the screen" even at fully zoomed out resolution which, again, seems to be a flaw in my plan.
This is just a draft to display the (commented out) shader code but in theory this should work. In practice, given the constraints of how the heatmap should display and be interacted with, I'm not so sure it's possible.
Change List
Checklist
vitessce-python
andvitessce-r
if this is a release PR