MCPcopy Create free account
hub / github.com/VitalAudio/visage

github.com/VitalAudio/visage @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,704 symbols 6,235 edges 153 files 2 documented · 0% updated 28d ago★ 60210 open issues

Browse by type

Functions 2,385 Types & classes 319
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

Core symbols most depended-on inside this repo

Shape

Method 2,043
Function 342
Class 289
Enum 30

Languages

C++100%

Modules by API surface

visage_windowing/win32/windowing_win32.cpp126 symbols
visage_ui/frame.h119 symbols
visage_utils/space.h110 symbols
visage_graphics/canvas.h97 symbols
visage_graphics/shapes.h87 symbols
visage_graphics/path.h78 symbols
visage_windowing/linux/windowing_x11.cpp72 symbols
visage_graphics/gradient.h62 symbols
visage_widgets/text_editor.cpp59 symbols
visage_graphics/svg.cpp57 symbols
visage_ui/events.h55 symbols
visage_graphics/font.cpp55 symbols

For agents

$ claude mcp add visage \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page