https://github.com/yvt/swsurface-rs
Software-rendered surface for winit (WIP)
https://github.com/yvt/swsurface-rs
graphics rust winit
Last synced: about 2 months ago
JSON representation
Software-rendered surface for winit (WIP)
- Host: GitHub
- URL: https://github.com/yvt/swsurface-rs
- Owner: yvt
- License: apache-2.0
- Created: 2019-08-09T12:52:49.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-24T03:26:11.000Z (over 5 years ago)
- Last Synced: 2025-04-11T16:16:12.514Z (about 2 months ago)
- Topics: graphics, rust, winit
- Language: Rust
- Homepage:
- Size: 223 KB
- Stars: 8
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# swsurface
[
](https://docs.rs/swsurface/)
This crate provides a software-rendered surface for `winit`.
The goal of this crate is to provide a minimal drawing functionality
for every platform supported by `winit` even if the drawing APIs that we
usually assume are available, such as OpenGL¹, aren't available in the
target environment. This crate is also useful as a fallback when they are
available, but failed due to an unrecoverable error.¹ [“Servo on Windows in VirtualBox gets 'NoAvailablePixelFormat'” servo/servo #9468](https://github.com/servo/servo/issues/9468)
To this end, this crate is designed to panic only when preconditions are not
met or under very pathologic circumstances that would cause winit to panic.## Unimplemented features
- Partial update - The application can redraw a portion, but `swsurface`
always sends entire the windowfor now
- Support for platforms other than: macOS, Windows, X11, Wayland
- X11: Support for color depths other than 24
- X11: Transparency
- Multi-threaded rendering (`Send`-able `Surface`)
- Color management - we'll try to stick to sRGB for nowLicense: MIT/Apache-2.0