-
-
Notifications
You must be signed in to change notification settings - Fork 25
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
Support OpenGL / non-gfx backends #33
Comments
Hey there, what do you think about Euc? It seems to provide pretty reasonable and easy to use software rendering capabilities in pure rust. |
Looks good enough to be worth a try (via new
|
To be honest, I am pretty sure that this crate doesn't support I agree that without GPU acceleration it won't really make sense to implement fancy graphics for the UIs. However, I think that it should optional as I believe most modern CPUs are fully capable of rendering very complex graphics with proper optimizations (look at this, as an example). Maybe it should be implemented in a way of having a Partial events sound very awesome, to be honest, but I have no expertise in them, unfortunately. |
It operates on a simple 2D buffer, that much is clear. Also, the examples use minifb for windowing (which supports direct writing to a buffer). Probably it would be possible to create a cross-platform crate (for common targets) providing a writeable 2D buffer from a raw window handle, but it doesn't appear to exist yet. |
So, as far as I can understand, it would be nice to have a library built on top of something like winit which gives access to a buffer of pixel data directly? |
Progress: wgpu now has improved opengl support, allowing many examples to run on opengl. Currently this requires using the |
@dhardy I got it working on a machine running Linux that doesn't support Vulkan. It only works if the
Although it works with the environment variable set, the following is printed to the terminal:
|
@Aloso I get similar errors when running with Vulkan; I haven't really investigated since they don't appear to be a problem. See gfx-rs/wgpu#1427 |
Since updating to WGPU v0.10.0 (#241), the OpenGL backend seems to "just work", aside from 64-bit shaders. If there are other problems please open a new issue. I'm going to drop plans for a pure CPU backend, though it is possible, given sufficient demand. |
Via WebGPU, KAS already supports DX11 / DX12 / Vulkan / Metal APIs. It appears that wgpu aims to support GL / other backends directly, so maybe we can just wait for that.
There are some alternatives, e.g. Piet supports Direct2D and Cairo backends. In turn, Cairo supports multiple targets (with hardware acceleration in some cases). Building a KAS toolkit over Cairo or Piet (or maybe even Druid) would be feasible, though significant extra work.
The text was updated successfully, but these errors were encountered: