Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression. Learn more →
Top 23 Rust OpenGL Projects
-
My journey of using terminal emulators began together with my introduction to Linux about 7 years ago. GNOME terminal was my first as it came pre-installed on Ubuntu, my first Linux distribution. Since then, I've had the opportunity to explore and utilize a range of terminal emulators, including Alacritty, Kitty, st, Konsole, xterm, and most recently iTerm2. It's been interesting to experiment with these different emulators, each offering its unique features (or similar however with each with personal touch), user interfaces, and performance benchmarks. Just the other day, a new terminal emulator caught my attention: Warp Terminal. My curiosity won, and Warp was downloaded, this short blog are my thoughts about Warp terminal. At the moment there is only support for macOS, however linux and windows builds are on the way.
-
(Unfortunately, wgpu is not optimally parallelized yet under the hood - see this issue - but it hopefully will be in the future.)
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
Project mention: Servo, the parallel browser engine written in Rust | news.ycombinator.com | 2023-05-27
I'd been wanting to see this, preferably with JS being optional, and just allowing direct DOM access.
I initially thought this was what Azul was, but it's only just using Servo's WebRender compositor, and rolls its own CSS parser, DOM, and layout engine, so it doesn't benefit from most of the work done on Servo, and supports less CSS features.
-
Understand Wayland concepts: Familiarize yourself with the basic concepts and principles of Wayland. This will help you gain a solid understanding of how the system works. You can refer to the official Wayland documentation (https://wayland.freedesktop.org/docs/html/) and the Wayland book (https://wayland-book.com/). Learn Rust: If you're not already proficient in Rust, take some time to learn the language. The Rust Book (https://doc.rust-lang.org/book/) is a great place to start. Study existing Wayland compositors: Since you mentioned Anvil and smallvil, you can study their source code to gain insights into how they're designed and implemented. Try to understand the structure and how different components interact with each other. Dive into Smithay: Smithay (https://github.com/Smithay/smithay) is a Rust library for building Wayland compositors. Familiarize yourself with the library and its components. You can start by studying the provided examples and reading the API documentation. Learn graphics programming: Since you're interested in graphics effects, you'll need to learn about graphics programming concepts, such as shaders, framebuffers, and texturing. Vulkan (https://www.vulkan.org/) is a popular graphics API that you can use with Rust. Check out the following resources to learn more about Vulkan and graphics programming in Rust: Vulkan Tutorial (https://vulkan-tutorial.com/) gfx-rs (https://github.com/gfx-rs/gfx), a Rust graphics library Vulkano (https://github.com/vulkano-rs/vulkano), a safe, pure-Rust wrapper around the Vulkan API Start small: Break down the compositor project into smaller, manageable tasks. Begin by implementing basic functionality, like setting up a window and drawing simple shapes. Gradually add more features, such as input handling and window management. Ask for help: Join the Wayland and Rust communities to ask questions and seek advice. You can find them on forums, mailing lists, and chat platforms like Discord or IRC. The Wayland mailing list (https://lists.freedesktop.org/mailman/listinfo/wayland-devel) and the Rust programming subreddit (https://www.reddit.com/r/rust/) are good places to start. Iterate and experiment: As you progress, keep experimenting with different graphics effects and shaders. Try to implement the features you're interested in, such as blur, window previews, and window switching.
-
Project mention: Cargo build feature issue: Building winit problem, says no features specified | /r/rust | 2023-03-23
Which is blocked, waiting for glium to update: https://github.com/glium/glium/pull/2036
-
-
Project mention: glutin: A low-level library for OpenGL context creation, written in pure Rust. | /r/planetemacs | 2023-03-28
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
i've used both in zemeroth: i migrated it from ggez to macroquad mostly because ggez at that time didn't support android and web targets. but i'd say that the main difference is tech stacks they're using: while ggez extensively reuses the existing rust gamedev ecosystem (winit, wgpu, rodio, etc), mq was written mostly on top of minimalist or its own specialized libraries (see miniquad).
-
Checkout rust-skia.
-
gives me same vibes as https://github.com/phaazon/luminance-rs
-
glow
GL on Whatever: a set of bindings to run GL anywhere and avoid target-specific code (by grovesNL)
-
-
Project mention: Is bevy the best option for a Rust based game engine (long term)? | /r/rust_gamedev | 2023-05-31
The big problem I have with bevy here is that they seem to be very much against bevy being reusable across the ecosystem. Every feature has to be bevyfied into an ECS thing. There's no way one can use bevy_input for input handling outside of bevy, or bevy_audio for audio, or bevy_render to get a 3d renderer like https://rend3.rs/. The Rust ecosystem would've been so much better off if bevy wasn't creating a walled garden and draining insane amounts of effort just for itself, but say instead used rend3 for its rendering, so that other efforts in rust gamedev didn't have to reimplement everything from scratch.
-
As replied above, it's just a standard screensaver. Anyhow, someone made a replica website for it: https://flux.sandydoo.me/
-
-
-
Speedy2D
Rust library for hardware accelerated drawing of 2D shapes, images, and text, with an easy to use API.
Project mention: Rust library for hardware accelerated drawing of 2D shapes | /r/rustist | 2023-03-23Rust library for hardware accelerated drawing of 2D shapes, images, and text, with an easy to use API. https://github.com/QuantumBadger/Speedy2D
-
glrnvim
glrnvim wraps nvim with your favourite terminal into a standalone, non-fancy but daily-usable neovim GUI.
While the neovim license legally allows for commercial use, the question is are you okay with selling other peoples work? not to mention certain plugins and gui's (see https://github.com/beeender/glrnvim/blob/master/LICENSE) require you to disclose the source of whatever project you use them in.
-
https://github.com/katharostech/bevy_retrograde/blob/master/LICENSE.md section 6.2
-
Project mention: Request for porters, think about the end user a little more :C | /r/rust | 2022-08-14
These are included in the extended examples from the repo.
-
sdf-viewer
A fast and cross-platform Signed Distance Function (SDF) viewer, easily integrated with your SDF library.
Project mention: SDF Viewer: a fast and cross-platform Signed Distance Function (SDF) viewer, easily integrated with your SDF library | /r/rust | 2022-08-06Afterward, this GLSL shader does the actual rendering. This shader is applied to a cuboid mesh that represents the bounding box of the object. The mesh is useful for only raytracing the part of the screen that may reach the object, and for extracting the rays for each pixel from the hit points. The shader simply walks along the ray for each pixel, moving by the amount of distance reported by the SDF on each position. If the surface is reached at some point, the normal is computed and the lighting is applied for the material saved in the closest voxel. To get the distance at a point that does not match the grid, interpolation is applied, leading to round corners if the level of detail is not high enough.
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Rust OpenGL related posts
- Introducing posh: Type-Safe Graphics Programming in Rust
- Warp? A terminal behind login popup
- [Linux] Fedora 38 - ComfyUI installation in 5 minutes.
- Are We Sixel Yet
- Alacritty suddenly stopped starting.
- Cursor becomes "invisible" (wrong color? too transparent? ...?)
- Change the default application for Ubuntu's terminal launcher
-
A note from our sponsor - InfluxDB
www.influxdata.com | 8 Jun 2023
Index
What are some of the best open-source OpenGL projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | alacritty | 46,971 |
2 | wgpu | 7,935 |
3 | Azul | 5,539 |
4 | gfx | 5,271 |
5 | glium | 3,206 |
6 | rust-doom | 2,232 |
7 | glutin | 1,852 |
8 | zemeroth | 1,308 |
9 | rust-skia | 1,074 |
10 | luminance-rs | 1,056 |
11 | glow | 871 |
12 | learn-opengl-rs | 849 |
13 | rend3 | 813 |
14 | flux | 647 |
15 | sulis | 425 |
16 | gltf | 420 |
17 | Speedy2D | 317 |
18 | glrnvim | 271 |
19 | bevy_retro | 252 |
20 | spirv_cross | 78 |
21 | sdf-viewer | 51 |
22 | rusterizer | 45 |
23 | ux-dx | 13 |