#gtk #gnome #gui #cogl #gtk-rs


Rust bindings for the Cogl library

1 unstable release

0.1.4 Apr 17, 2021
0.1.3 Mar 27, 2021
0.1.2 Mar 24, 2021
0.1.1 Mar 24, 2021
0.1.0 Mar 23, 2021

#92 in GUI

Download history 54/week @ 2021-04-13 7/week @ 2021-04-20 3/week @ 2021-04-27 1/week @ 2021-05-04 3/week @ 2021-05-11 6/week @ 2021-05-18 3/week @ 2021-05-25 1/week @ 2021-06-01 7/week @ 2021-06-08 2/week @ 2021-06-15 2/week @ 2021-06-22 1/week @ 2021-06-29 3/week @ 2021-07-06 2/week @ 2021-07-13 12/week @ 2021-07-20 15/week @ 2021-07-27

57 downloads per month
Used in clutter-rs

MPL-2.0 license

12K SLoC


API Docs Crates.io Code coverage Tests MPL-2.0 licensed Gitter chat loc

cogl-rs is Rust bindings for the Cogl library. cogl-rs is being developed in the Angular Rust infrastructure since Angular Rust was depends on it.

COGL is a modern 3D graphics API with associated utility APIs designed to expose the features of 3D graphics hardware using a more object oriented design than OpenGL. It is used primarily by Clutter to provide a common rendering API that works transparently across OpenGL >=1.4, OpenGL ES 1.1 and OpenGL ES 2.0. It is not tied to any one toolkit or even constrained to developing UI toolkits.

If you want to use a more actively developed library with the same functionality, but with better performance and new functionality, then I advise you to use UX-dx as the successor to cogl-rs.

Angular Rust is a high productivity, platform-agnostic frontend framework for the Rust language. It now supports desktop and web development. Angular Rust currently uses GTK for desktop development and WebAssembly for web development. We are planning to add support for mobile development.

Angular Rust structure

Quick Start

Install Cogl-rs:

cargo add cogl-rs

Learn More



We believe the wider community can create better code. The first tool for improving the community is to tell the developers about the project by giving it a star. More stars - more members.

Angular Rust is a community effort and we welcome all kinds of contributions, big or small, from developers of all backgrounds. We want the Angular Rust community to be a fun and friendly place, so please review our Code of Conduct to learn what behavior will not be tolerated.

New to Angular Rust?

Start learning about the framework by helping us improve our documentation. Pull requests which improve test coverage are also very welcome.

Looking for inspiration?

Check out the community curated list of awesome things related to Angular Rust / WebAssembly at awesome-angular-rust.

Confused about something?

Feel free to drop into our Gitter chatroom or open a new "Question" issue to get help from contributors. Often questions lead to improvements to the ergonomics of the framework, better documentation, and even new features!

Ready to dive into the code?

After reviewing the Contributing Code Guidelines, check out the "Good First Issues" (they are eager for attention!). Once you find one that interests you, feel free to assign yourself to an issue and don't hesitate to reach out for guidance, the issues vary in complexity.

Let's help each other!

Come help us on the issues that matter that the most and receive a small cash reward for your troubles. We use Issuehunt to fund issues from our Open Collective funds. If you really care about an issue, you can choose to add funds yourself!

Found a bug?

Please report all bugs! We are happy to help support developers fix the bugs they find if they are interested and have the time.


  • Documentation


~96K SLoC