winit
learn-wgpu
Our great sponsors
winit | learn-wgpu | |
---|---|---|
48 | 75 | |
4,390 | 1,382 | |
6.7% | - | |
9.7 | 8.0 | |
7 days ago | 20 days ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
winit
-
Linux version of Warp terminal is here
Hi! I’m Aloke, an engineer at Warp.
I’m really excited to share that Warp is now available on Linux! If you’re interested in trying it out, you can download Warp: https://warp.dev/
Building Warp on Linux was quite an undertaking. Warp uses a custom Rust-based UI framework that we built in house and renders natively on the GPU. To get Warp running on Linux, we built a version of our UI framework that supports winit [1] as a windowing backend. We also built a version of our renderer that uses wgpu [2]. Reducing complexity by using these well-supported, cross platform, frameworks let us bootstrap a version of Linux quicker than expected and should make it easier to build Warp for other platforms (like Windows).
Please let me know what you think! Happy to answer any questions, either about the product or about technical challenges.
[1] https://github.com/rust-windowing/winit
- Container2wasm: Convert Containers to WASM Blobs
-
Can't get winit sample to compile
This link: https://github.com/rust-windowing/winit has this code:
-
Hey Rustaceans! Got a question? Ask here (28/2023)!
Have you seen the official example?
-
Hey Rustaceans! Got a question? Ask here (20/2023)!
That's a bit shortsighted given that there is an active discussion about reducing the interior mutability.
-
File dialog with ImGui?
I really need a file dialog for my ImGui-based project in Rust. I tried using this crate but it's wayyyyyyy too old. I also saw this but considering the date it was last updated and the look of the repo, it's not gonna work either. Also I maintain my own library for such things, but it's currently blocked by this issue. What options do I have?
-
Announcing async-winit, a new way to use winit as an async runtime
In this case, I used the "A"GPL because this crate could feasibly run on the web. winit has a web backend. At the moment I don't support it (there's a PR that needs to land first), but in the near future it's not implausible that this crate could be used in a web environment.
-
XUL Layout has been removed from Firefox
There are a number of up-and-coming Rust-based frameworks in this niche:
- https://github.com/iced-rs/iced (probably the most usable today)
- https://github.com/vizia/vizia
- https://github.com/marc2332/freya
- https://github.com/linebender/xilem (currently very incomplete but exciting because it's from a team with a strong track record)
What is also exciting to me is that the Rust GUI ecosystem is in many cases building itself up with modular libraries. So while we have umpteen competing frameworks they are to a large degree all building and collaborating on the same foundations. For example, we have:
- https://github.com/rust-windowing/winit (cross-platform window creation)
- https://github.com/gfx-rs/wgpu (abstraction on top of vulkan/metal/dx12)
- https://github.com/linebender/vello (a canvas like imperative drawing API on top of wgpu)
- https://github.com/DioxusLabs/taffy (UI layout algorithms)
- https://github.com/pop-os/cosmic-text (text rendering and editing)
- https://github.com/AccessKit/accesskit (cross-platform accessibility APIs)
In many cases there a see https://blessed.rs/crates#section-graphics-subsection-gui for a more complete list of frameworks and foundational libraries)
-
Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.68]
Name: Francesca! Location: Portland, OR (UTC-7) Looking for: Remote only, full-time or contract. Contact: [email protected] LinkedIn: https://www.linkedin.com/in/francesca-lovebloom/ GitHub: https://github.com/francesca64 Experience: 4+ years of professional Rust experience; former lead maintainer of winit and creator of cargo-mobile.
-
Ubuntu alternatives?
Window manager: https://github.com/rust-windowing/winit
learn-wgpu
-
Practicing Rust, Learning Bevy, Creating a WASM Snake Game for the Browser
Nice.
Speaking of Snake game, if you want to go even deeper, you can try to use the wgpu crate to combine Rust and WebGPU to write everything from scratch. Here is the tutorial:
https://sotrh.github.io/learn-wgpu/#what-is-wgpu
I once wrote a code editor with wgpu, from font rendering to char/line state management (very rough) for music live coding:
https://github.com/glicol/glicol-wgpu
It runs in browsers, even including Safari!
- Please review my ECS geospatial engine so far
- Help me get started with 3D graphics in Rust
-
Realtime Ray Marching implemented with Rust and wgpu
https://sotrh.github.io/learn-wgpu/ This is probably the best resource out there for learning wgpu specifically. If you're unfamiliar with graphics, the learnopengl one is good. If you've got experience though, jumping right into that one is a shout or looking at some vulkan ones as they're pretty similar in terms of architecture.
-
Is it possible and realistic to learn independent of an API?
- https://sotrh.github.io/learn-wgpu
-
What would be a good project structure/ design for a game engine using WebGPU?
Most of The WGPU I learnt is from https://sotrh.github.io/learn-wgpu/ but it doesn't really talk about designing n stuff, I thought of checking out the source code for Bevy or even games like veloren. But well, their codebases are pretty big to get started in the first place.
- Learn Wgpu
-
Learning OpenGL before wgpu?
So I was wondering if opting for option 1 would be better to begin with. OpenGL has a much bigger community and wgpu only has its documentation which I hear is not quite up there yet. There is this excellent tutorial for wgpu that I read through, but it seems like wgpu can be a lot more complicated than starting with OpenGL.
-
Getting started with computer graphics with Rust
I started with wgpu tutorial (https://sotrh.github.io/learn-wgpu/) since I like the idea of portability and it's a Rust-first library, but it seems I'm missing some foundations of how CG works in general: the code is given, a little of explanation like it assumes I already know something, maybe I'm wrong, but I wish there was a longer explicit version.
-
Trying to learn wgpu
If you haven't seen it: https://sotrh.github.io/learn-wgpu/ is a good introduction that will explain most of what you asked, then can refer to rend3d or bevys renderer to see how a render graph works.
What are some alternatives?
rust-sdl2 - SDL2 bindings for Rust
ash - Vulkan bindings for Rust
wgpu - Cross-platform, safe, pure-rust graphics api.
glium - Safe OpenGL wrapper for the Rust language.
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
SDL - Simple Directmedia Layer
raw-window-handle - A common windowing interoperability library for Rust
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
minifb - MiniFB is a small cross platform library to create a frame buffer that you can draw pixels in
wgsl-mode - Emacs syntax highlighting for the WebGPU Shading Language (WGSL)
tokio - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
luminance-rs - Type-safe, type-level and stateless Rust graphics framework