Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

VitalAudio/visage

Repository files navigation

Visage: UI library meets creative coding

Visage is a GPU-accelerated, cross-platform C++ library for native UI and 2D graphics. It merges the structure of a UI framework with the features of a creative graphics libraries.

Full Basic Example

#include <visage/app.h>
int main() {
 visage::ApplicationWindow app;
 app.onDraw() = [&app](visage::Canvas& canvas) {
 canvas.setColor(0xffff00ff);
 canvas.fill(0, 0, app.width(), app.height());
 };
 app.show(800, 600); // Opens as 800 x 600 pixel window
 app.runEventLoop(); // Runs window events. Returns when window is closed.
 return 0;
}

Demos

UI Features

  • Event Normalization
    Cross-platform support for keyboard and mouse input normalization.

  • Window Normalization
    Cross-platform support for opening and handling windows.

  • Text entry
    Unicode text entry with multi line text editing

  • ✨ Emojis ✨
    If you're into that kind of thing 🀷

  • Partial Rendering
    Redraws only the dirty regions for optimal performance.

Graphics Features

  • Fluid motion
    New frames are displayed at the monitor's refresh rate and animations are smooth

  • Automatic Shape Batching
    Automatically groups shapes for efficient GPU rendering.

  • Blend Modes
    Supports blending layers with additive, subtractive or by drawing a custom mask for the UI to pass through

  • Shaders
    Write shaders once and transpile them for Direct3d, Metal and OpenGL

  • Included Effects
    Real-time effects such as large blur and bloom

  • Pixel Accuracy
    Access to device pixel size ensures precise rendering without blurring.

Supported Platforms

  • Windows: Direct3D11
  • MacOS: Metal
  • Linux: Vulkan
  • Web/Emscripten: WebGL

About

C++ UI library meets creative coding

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /