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

Batch-based, cross-platform, language-agnostic API #18

Open
skyne98 opened this issue Mar 16, 2020 · 2 comments
Open

Batch-based, cross-platform, language-agnostic API #18

skyne98 opened this issue Mar 16, 2020 · 2 comments

Comments

@skyne98
Copy link

skyne98 commented Mar 16, 2020

Hi there!

Just posting this as an idea here. What about defining a very high-level API in something like Protocol buffers? Considering there will be a server-like wrapper for the RGX itself that will receive serialized commands via a customizable transport layer (TCP, UDP or inter-process) it will allow this library to serve as a simple graphics system for something like Deno or Wasmer. Obviously, such an API should be centered around a concept of batches to reduce the cost of transporting the requests. That, probably, means something like command queues in normal graphics.

Most probably, something like this should be implementable on the side as an external solution using RGX, however, I am interesting in your input on such an idea.

Cheers!

@cloudhead
Copy link
Owner

Hmm let me understand, you envison a rendering backend that takes commands from some client, and carries out the drawing through rgx?

I guess that could work, but from the perspective of rgx what would be required is perhaps a more streamlined API for rendering, which it currently doesn't have.

One recent change though is that the sprite and shape batch modules are renderer-agnostic, which means these APIs can potentially be used by a librarry without having to depend on wpgu/gl.

@skyne98
Copy link
Author

skyne98 commented Mar 17, 2020

Thanks for the insight! Do you have any ideas about how the APIs can be streamlined?

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