All Projects → pasbi → ommpfritt

pasbi / ommpfritt

Licence: GPL-3.0 License
semantic, procedural, non-destructive vector modelling

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to ommpfritt

BezierKit
Bezier curves and paths in Swift for building vector applications
Stars: ✭ 190 (+413.51%)
Mutual labels:  vector-graphics
pcievhost
PCIe (1.0a to 2.0) Virtual host model for verilog
Stars: ✭ 22 (-40.54%)
Mutual labels:  modelling
pixi-omber-gltf2-vector
Pixi.js library for using vector art created in Omber that's saved in glTF 2.0 format
Stars: ✭ 13 (-64.86%)
Mutual labels:  vector-graphics
Cairo
Swift library for Cairo
Stars: ✭ 33 (-10.81%)
Mutual labels:  vector-graphics
payton
Payton! Kickstart any 3D OpenGL + GTK Ideas in a few seconds!
Stars: ✭ 45 (+21.62%)
Mutual labels:  graphics-programming
pyglotaran
A Python library for Global and Target Analysis of time-resolved spectroscopy data
Stars: ✭ 33 (-10.81%)
Mutual labels:  modelling
ethereum-economic-model
A modular dynamical-systems model of Ethereum's validator economics
Stars: ✭ 79 (+113.51%)
Mutual labels:  modelling
Xacor
Experimental Game Engine
Stars: ✭ 24 (-35.14%)
Mutual labels:  graphics-programming
windowjs
Window.js is an open-source Javascript runtime for desktop graphics programming.
Stars: ✭ 2,223 (+5908.11%)
Mutual labels:  graphics-programming
vpype-pixelart
Pixel art plotting in vpype
Stars: ✭ 40 (+8.11%)
Mutual labels:  vector-graphics
rouziclib
This is my personal library of code that is common to my different projects (Photosounder, SplineEQ, Spiral and others)
Stars: ✭ 38 (+2.7%)
Mutual labels:  vector-graphics
spinw
SpinW Matlab library for spin wave calculation
Stars: ✭ 25 (-32.43%)
Mutual labels:  modelling
qt5-vector-graphic-shaders
A Qt5 application to experiment vector graphic shaders
Stars: ✭ 37 (+0%)
Mutual labels:  vector-graphics
AnimatedVectorDrawableCompat-play-to-reset-button
An Android app using the AnimatedVectorDrawable support library
Stars: ✭ 56 (+51.35%)
Mutual labels:  vector-graphics
animatePaper.js
An animation library for paper.js.
Stars: ✭ 33 (-10.81%)
Mutual labels:  vector-graphics
RenderMaster
Graphic engine
Stars: ✭ 35 (-5.41%)
Mutual labels:  graphics-programming
BRDFGenerator
BRDF LUT generation for PBR Pipelines
Stars: ✭ 97 (+162.16%)
Mutual labels:  graphics-programming
cloud gen
Procedural Generation of Clouds with Vector Graphics
Stars: ✭ 46 (+24.32%)
Mutual labels:  vector-graphics
Desenvolvimento-Android-do-absoluto-zero-para-iniciantes
Visite meu site e conheça todos os meus cursos 100% on-line.
Stars: ✭ 33 (-10.81%)
Mutual labels:  graphics-programming
gamedevguide
Game Development & Unreal Engine Programming Guide
Stars: ✭ 314 (+748.65%)
Mutual labels:  graphics-programming

ommpfritt

Build-Focal-GCC Build-Focal-Clang Build-Bionic Build-win Style Checker Gitter Telegram Total alerts Language grade: Python Language grade: C/C++ Codacy Badge CII Best Practices AppImageBade

ommpfritt or short omm is a free and open source vector modelling and motion graphics application. It brings the workflow of (3D) modelling tools to the 2D vector graphics world. The design of the application encourages and supports the user to produce maintainable documents, using concepts like procedural modelling and non-destructive editing.

Conceptually omm is a mix of traditional vector graphic editors (e.g., inkscape), CAD applications and (3D) modelling tools. Primary use case is creating, editing and rendering all sorts of animated and still graphics, diagrams, icons and drawings.

screenshot

How to Get It

omm is free. You can get its source from github and build it. You may find build instructions helpful.

For any LINUX, there is an AppImage, which requires no installation, make the downloaded file executable and just run it. For WINDOWS, there is an installer.

You can install ommpfritt-git from the AUR if you prefer a native package on Arch Linux.

omm has been tested on various Linux Distributions and Windows. It has never been tested on Mac. It works in theory.

How to use

omm was designed to be very easy to use. So if you can handle a mouse and a keyboard, it should be no problem to get started without studying the manual.

There is a (quite outdated) screen cast on youtube that shows some of the most important features and how they can be used.

Contributing

Although you can already use the app, it's still a long way until v1.0. So we need your help!

See how to contribute. Don't hesitate to get in contact with us!

Related Software

How does omm compare to other graphical applicatons? See comparison.

Features

omm is

  • general purpose: create any kind of graphics. No limits!
  • interactive: you receive immediate feedback
  • wysiwyg

User Interface

  • load and save scenes to/from human readable json format
  • all modifications to a scene can be undone (unlimited undo/redo-stack)
  • simple concept with few very concrete item classes (Object, Tag, Style, Tool)
  • wide drag'n'drop support: move, copy or link Objects, Tags and Styles naturally
  • non-destructive, non-linear editing: properties of Objects, Tags, Styles and Tools can be accessed and modified at any time.
  • build complex, reusable object hierarchies and object groups
  • flexible GUI using dockable widgets
  • customizable dark and light skins
  • multi-selection support for properties: compatible intersection of properties of all selected items (objects, tags, styles, tools) is shown and can be modified simultaneously
  • flexible, customizable key binding sequences (aka short-cuts)
  • multi-language (currently English, Spanish and German only)
  • rasterize to png and jpg
  • export to SVG

Styling

  • build complex reusable style cascades
  • dynamic Named Colors
  • interactive OpenGL-Shaders

styling

Objects

  • path object: any number of points, closed/open

    • bézier mode: modify the tangents of any point individually
    • smooth mode: tangents are set automatically
    • linear mode: no tangents
    • subdivide/remove points
  • procedural path: control the points and tangents using python

  • ellipse, rectangle, line

  • empty: no geometry, but useful as group parent

  • instance: all changes of the reference are updated in the instance-object, too

  • cloner: many instances in a regular arrangement

    • grid
    • linear
    • along any path
    • radial
    • by python script
  • mirror

  • view: define a view onto the scene for export

    • set the export region comfortably within the editor
    • adjust to viewport or vice versa
    • switch between any number of self-defined views
    • supports translation, scaling, rotation and shear

Tags

  • path tag: constrain position of any object to any path
  • style tag: define the color of an object
  • script tag: general purpose scripting without limits

Tools

  • object selection: select in viewport and rotate, move or scale* along common center of all selected objects
  • point-level: select in viewport and rotate, move or scale* along common center of all selected points. Works fine even if many path-objects are selected.
  • optinally transform axes only. Re-set the origin of the object without affecting its geometry.
  • brush-select: select points as if you were painting
  • Bounding Box-Handle

Animation

  • Keyframe Animation
  • Responsive Timeline
  • Dope Sheet
  • Seamless integration into undo/redo and multi-property- and multi-object-selection

animation

Programmable

  • programmable: every property can be controlled via embedded python scripting

python

  • visual node-based scripting alternative

nodes

  • user properties can be added at runtime to any object

Optional Command Line Interface

  • Batch rendering from command line
  • Get basic scene information from command line
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].