Skip to main content

2D scene graph based on SVG with OpenGL backend

Project description

a 2D scene graph based on SVG with OpenGL backend

Goals & non-goals

Goals:

  • 2D scene graph suitable for interactive rendering
  • minimal set of dependencies

Non-goals:

  • full SVG implementation
  • optimized for speed

Features

  • pythonic API modeled after SVG spec & semantic
  • SVG parsing and serialization
  • scale dependent polygonalization
  • analytical picking
  • sub-pixel strokes rendering enhancement through width and opacity correction
  • per-pixel gradients
  • two modes text rendering: raster by freetype2 for high quality AA at small sizes, vector otherwise

SVG spec

implemented:

  • shapes: path, rect, circle, ellipse, line, polyline, polygon, image
  • text: (excluding decoration, text on path)
  • structure: group, use (including attributes inheritance)
  • painting: solid color, linear and radial gradients (including units, transform, spread, href);
  • fill: rule (nonzero, evenodd)
  • stroke: cap (butt, round, square), join (miter, round, bevel), miterlimit
  • multi-pass rendering: clipping, masking, object opacity
  • transforms: translate, rotate, scale, skewX, skewY

eventually:

  • tspan
  • painting: pattern
  • stroke: dash, marker
  • filters

never:

  • DOM API

Dependencies

Optional dependencies

Needed to find fonts, fallbacks on FreeFont otherwise.

on the mac:

Inspirations

  • sauvage by S. Conversy
  • SVGL by S. Conversy & J.-D. Fekete

Project details


Release history Release notifications

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for seagull, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size seagull-0.1.tar.gz (34.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page