Skip to content
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

Abstract out tree & alignment rendering to allow for future WebGL renderer #29

Open
ihh opened this issue Jul 15, 2021 · 5 comments
Open

Comments

@ihh
Copy link
Member

ihh commented Jul 15, 2021

To achieve smooth animation and/or ultrafast rendering, we would probably need WebGL. This is lower priority than the fundamental desired features of react-msaview (i.e. an integrated tool for navigation of genome, protein, MSA, tree, and structure), but could be something we do in future. The goal of this issue is to ensure that the code is forward-compatible with this, by building in enough abstraction into the tree- and alignment-rendering components that they could later be replaced by WebGL renderers. (Animation would presumably require more finesse than simply changing the underlying rendering code, but we can at least allow for the possibility of reimplementation in WebGL to make rendering faster.)

@ihh
Copy link
Member Author

ihh commented Jul 15, 2021

cc @rbuels

@cmdcolin
Copy link
Contributor

it is an interesting concept. I would personally probably avoid creating an abstraction beforehand on a system we dont really know very well (webgl). would probably more or less translate it directly over if needed

@cmdcolin
Copy link
Contributor

and, given that, i think the sooner we decide we want to go webgl the better even if it puts some stuff on pause

@ihh
Copy link
Member Author

ihh commented Jul 15, 2021

Right, that all makes sense.

I would be very interested in seeing this migrated to WebGL, although it depends on whether it fits Rob's priorities of course. I think there are strong arguments for WebGL: this was originally motivated by/funded for COVID (and cov2tree.org is WebGL - see #25), also now that there's a WebGL renderer out there (cov2tree) the bar is effectively higher - that is the standard to beat; and just generally because I still like the idea of animations (even if WebGL wouldn't get us all the way there) and being more scalable/performant, of course.

@cmdcolin
Copy link
Contributor

random note: I started trying out using pixijs for this which has a webgl backend but my initial try was actually was pretty slow. can try to push on it more though as I imagine there are a bunch of ways that can try to optimize it https://github.com/GMOD/react-msaview/tree/pixijs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants