Home

Awesome

Build Status

Pathfinder 3

Pathfinder 3 is a fast, practical, GPU-based rasterizer for fonts and vector graphics using OpenGL 3.0+, OpenGL ES 3.0+, or Metal.

Please note that Pathfinder is under heavy development and is incomplete in various areas.

Quick start

Pathfinder contains a library that implements a subset of the HTML canvas API. You can quickly add vector rendering to any Rust app with it. See the examples/canvas_minimal for a small example of usage.

This example app requires SDL 2; see the "Building" section below for information on getting it up and running.

Demos

Demo app sources are available in demo/. A prebuilt package for Magic Leap can be found in releases.

Features

The project features:

Building

Pathfinder 3 is a set of modular packages, allowing you to choose which parts of the library you need. An SVG rendering demo, written in Rust, is included, so you can try Pathfinder out right away. It also provides an example of how to use the library. (Note that, like the rest of Pathfinder, the demo is under heavy development and has known bugs.)

Running the demo is as simple as:

$ cd demo/native
$ RUSTFLAGS="-C target-cpu=native" cargo run --release

The SDL 2 library requires some additional manual installation steps. Follow the rust-sdl2 installation instructions to make sure the libraries are installed. Note that SDL2 is only required to run the demo; Pathfinder itself has no dependency on the library.

Authors

The primary author is Patrick Walton (@pcwalton), with contributions from the Servo development community.

The logo was designed by Jay Vining.

Contributors to Pathfinder are expected to abide by the same Code of Conduct as Rust itself.

License

Pathfinder is licensed under the same terms as Rust itself. See LICENSE-APACHE and LICENSE-MIT.

Material Design icons are copyright Google Inc. and licensed under the Apache 2.0 license.