All Projects → parasyte → Pixels

parasyte / Pixels

Licence: mit
A tiny hardware-accelerated pixel frame buffer. 🦀

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Pixels

Texture Compressor
CLI tool for texture compression using ASTC, ETC, PVRTC and S3TC in a KTX container.
Stars: ✭ 156 (-71.89%)
Mutual labels:  game-development, gpu
Fornos
GPU Texture Baking Tool
Stars: ✭ 82 (-85.23%)
Mutual labels:  game-development, gpu
Acid
A high speed C++17 Vulkan game engine
Stars: ✭ 838 (+50.99%)
Mutual labels:  game-development, gpu
Ultralight
Next-generation HTML renderer for apps and games
Stars: ✭ 3,585 (+545.95%)
Mutual labels:  game-development, gpu
Anything about game
A wonderful list of Game Development resources.
Stars: ✭ 541 (-2.52%)
Mutual labels:  game-development
John
John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
Stars: ✭ 5,656 (+919.1%)
Mutual labels:  gpu
Rustacuda
Rusty wrapper for the CUDA Driver API
Stars: ✭ 511 (-7.93%)
Mutual labels:  gpu
Lollipopgo
稳定分支2.9.X 版本已更新,由【Golang语言游戏服务器】维护,全球服游戏服务器及区域服框架,目前协议支持websocket、http、KCP、TCP及RPC,采用状态同步(帧同步内测),愿景:打造MMO多人竞技游戏框架! 功能持续更新中... ...
Stars: ✭ 500 (-9.91%)
Mutual labels:  game-development
Zircon
Zircon is an extensible and user-friendly, multiplatform tile engine.
Stars: ✭ 552 (-0.54%)
Mutual labels:  game-development
Roguelikedevresources
A curated list of roguelike development resources
Stars: ✭ 545 (-1.8%)
Mutual labels:  game-development
Stdgpu
stdgpu: Efficient STL-like Data Structures on the GPU
Stars: ✭ 531 (-4.32%)
Mutual labels:  gpu
Handmade Math
A simple math library for games and computer graphics. Compatible with both C and C++.
Stars: ✭ 517 (-6.85%)
Mutual labels:  game-development
Lighthouse2
Lighthouse 2 framework for real-time ray tracing
Stars: ✭ 542 (-2.34%)
Mutual labels:  gpu
Gfx
[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
Stars: ✭ 5,045 (+809.01%)
Mutual labels:  gpu
Cupy
NumPy & SciPy for GPU
Stars: ✭ 5,625 (+913.51%)
Mutual labels:  gpu
Roygbiv
A 3D engine for the Web
Stars: ✭ 499 (-10.09%)
Mutual labels:  game-development
Texturepanner
This repository hosts a shader for Unity3D whose main goal is to facilitate the creation of neon-like signs, conveyor belts and basically whatever based on scrolling textures
Stars: ✭ 528 (-4.86%)
Mutual labels:  game-development
Easyai
Python artificial intelligence framework for games
Stars: ✭ 543 (-2.16%)
Mutual labels:  game-development
Arrayfire Rust
Rust wrapper for ArrayFire
Stars: ✭ 525 (-5.41%)
Mutual labels:  gpu
Hedera
paint 3D ivy in the Unity Editor, watch procedurally generated meshes simulate growth and clinging in real-time
Stars: ✭ 526 (-5.23%)
Mutual labels:  game-development

Documentation CI Average time to resolve an issue Percentage of issues still open

Pixels Logo

A tiny hardware-accelerated pixel frame buffer. 🦀

But why?

Rapidly prototype a simple 2D game, pixel-based animations, software renderers, or an emulator for your favorite platform. Then add shaders to simulate a CRT or just to spice it up with some nice VFX.

pixels is more than just a library to push pixels to a screen, but less than a full framework. You're in charge of managing a window environment, event loop, and input handling.

MSRV Policy

The Minimum Supported Rust Version for pixels will always be made available in the MSRV.md file on GitHub.

Features

  • Built on modern graphics APIs powered by wgpu: DirectX 12, Vulkan, Metal. OpenGL support is a work in progress.
  • Use your own custom shaders for special effects.
  • Hardware accelerated scaling on perfect pixel boundaries.
  • Supports non-square pixel aspect ratios. (WIP)

Examples

Troubleshooting

The most common issue is having an outdated graphics driver installed on the host machine. pixels requests a low power (aka integrated) GPU by default. If the examples are not working for any reason, you may try setting the PIXELS_HIGH_PERF environment variable (the value does not matter, e.g. PIXELS_HIGH_PERF=1 is fine) to see if that addresses the issue on your host machine.

You should also try to keep your graphics drivers up-to-date, especially if you have an old Intel integrated GPU. Keep in mind that some drivers and GPUs are EOL and will not be supported.

Logging

You may want to use the RUST_LOG environment variable (see env_logger for full documentation) to gain additional insight while troubleshooting the examples. RUST_LOG=trace will spew all logs to stderr on debug builds:

$ RUST_LOG=trace cargo run --package minimal-winit

And also on release builds when default features are disabled:

$ RUST_LOG=trace cargo run --release --manifest-path examples/minimal-winit/Cargo.toml --no-default-features

Alternatively, nightly Cargo allows using the --no-default-features flag directly from the top-level directory in combination with the unstable -Zpackage-features flag:

$ RUST_LOG=trace cargo run --release --package minimal-winit -Zpackage-features --no-default-features

Comparison with minifb

The minifb crate shares some similarities with pixels; it also allows rapid prototyping of 2D games and emulators. But it requires the use of its own window/GUI management, event loop, and input handling. One of the disadvantages with the minifb approach is the lack of hardware acceleration (except on macOS, which uses Metal but is not configurable). An advantage is that it relies on fewer dependencies.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].