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

Rewrite renderer #33

Open
dotellie opened this issue Jan 1, 2018 · 1 comment
Open

Rewrite renderer #33

dotellie opened this issue Jan 1, 2018 · 1 comment

Comments

@dotellie
Copy link

dotellie commented Jan 1, 2018

The renderer is quite a mess currently and needs to be rewritten, probably from scratch.

Here are some things the new renderer has to be capable of:

  • Rendering in chunks as to not slow down when editing very large maps.
  • Render additional detail as provided by a plugin or something else.
  • Be fast.
  • Have a straightforward way of updating it. (compared to what we have now)
  • Support easily updating individual tiles.
  • Support future rendering in 3D
  • More?
@dotellie
Copy link
Author

dotellie commented Feb 9, 2018

So the renderer is basically rewritten now, though I'm still not anywhere near happy enough with it. Three.js simply isn't made to handle what DTile needs here. We are gonna ditch Three eventually, though I'm not sure for what. One option which I would really love is to have it be written in Rust with maybe gfx-rs or something like that. That would allow for some really high performance which I think is almost necessary for some of the things I have planned for DTile. Here some things that needs to happen before that can happen though:

  • Polymer 3: we need to have ES modules to easily be able to integrate with the rest of the JS ecosystem such as...
  • Parcel: while the original intention of using Polymer was that you wouldn't need to build DTile, the fact is that it has caused more problems than good. Parcel seems like the perfect middle ground here with fast, easy builds with features like...
  • Rust integration with parcel: parcel can already automatically build Rust files automatically but you can only pass numbers between JS and Rust which isn't gonna cut it for DTile.

If that doesn't end up being possible anytime soon though, using something like PicoGL.js and building our own renderer in JavaScript doesn't seem to be too bad of an option either.

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

No branches or pull requests

1 participant