awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
processing avatar

processing/processing

0
View on GitHub↗
6,487 stars·1,475 forks·Java·3 viewsprocessing.org↗

Processing

Processing is a creative coding environment and Java graphics library designed for writing visual sketches that produce interactive 2D and 3D graphics and animations. It runs on the Java Virtual Machine, using an OpenGL-based hardware-accelerated rendering pipeline, and operates on a sketch-based execution model where programs run as continuous loops of setup and draw functions with event-driven input handling for keyboard, mouse, and window interactions.

The environment distinguishes itself as a cross-platform sketch tool that runs visual programs unchanged on desktop, web, Android, and Raspberry Pi platforms, with the ability to bundle sketches into standalone executables for distribution. It includes an addon library system for extending core functionality with sound, video, and other capabilities, and supports running sketches directly in a web browser through a JavaScript library that mirrors the core drawing API. The platform also provides accessibility features for generating screen-readable descriptions of canvas content.

Processing offers comprehensive capabilities for creating visual content, including drawing 2D primitives and 3D shapes, constructing custom vertex-based forms, rendering curves, and applying image filters and pixel manipulation. It supports loading and displaying images, mapping textures onto geometry, and applying GLSL shaders for custom rendering effects. The environment includes functions for managing the display window, setting rendering options, and printing to the console, along with color creation and fill/stroke styling.

The platform provides tools for data handling, including loading and saving data from files in various formats, converting data types, formatting strings, and managing arrays. It includes math utilities for Perlin noise, random number generation, trigonometry, and common calculations, as well as typography functions for rendering and styling text. Input handling covers keyboard, mouse, and time/date reading, while the structure and control system allows defining program flow with setup/draw loops and conditional logic. Installers are available for all major desktop operating systems.

Features

  • Creative Coding Environments - A creative coding environment for artists and designers to build generative art and interactive graphics.
  • Java Virtual Machine Runtimes - Runs on the Java Virtual Machine, enabling cross-platform execution and Java library integration.
  • Visual Sketch Runtimes - Ships a JavaScript library that mirrors the core drawing API to run sketches in the browser.
  • Visual Sketch Tools - Runs visual programs unchanged on desktop, web, Android, and Raspberry Pi platforms.
  • Sketch Loop Executions - Programs run as continuous loops of setup and draw functions with event callbacks for user interaction.
  • Sketch Addon Loaders - Loads modular libraries at runtime to extend sketch capabilities with sound, video, and more.
  • Cross-Platform Deployments - Creates visual applications that run unchanged on macOS, Windows, Linux, Android, and Raspberry Pi.
  • OpenGL Engines - Uses OpenGL for hardware-accelerated 2D and 3D rendering with shader support.
  • 2D and 3D Graphics Rendering - Provides a straightforward drawing API for building real-time 2D and 3D visual applications.
  • Camera Positioning Functions - Provides camera positioning functions essential for framing 3D scenes in visual sketches.
  • Color Construction Functions - Constructs color values and extracts their red, green, blue, alpha, hue, and saturation components.
  • Shape Drawing - Draws basic 2D shapes like rectangles, ellipses, arcs, lines, and triangles to the screen.
  • Programmatic Canvas Drawing - Draws shapes, images, and interactive graphics on a canvas using a simple programming API.
  • Fill and Stroke Styles - Defines the interior color and outline style for shapes and lines in sketches.
  • Light Source Functions - Ships built-in functions for adding ambient, directional, point, and spot lights to 3D scenes.
  • Hardware-Accelerated Rendering - Uses OpenGL or WebGL for GPU-accelerated 2D and 3D graphics rendering.
  • 2D Text Styling - Provides functions for controlling text alignment, size, leading, and width in 2D sketches.
  • Visual Sketch Environments - Writes Java code to produce interactive 2D and 3D graphics and animations in a simplified programming environment.
  • WebGL Rendering - Provides WebGL-based 3D rendering for interactive visual sketches in the browser.
  • Cross-Platform Application Development - Develops visual programs that run identically on desktop, web, mobile, and embedded platforms.
  • Execution Flow Control - Uses conditionals, loops, and switch statements to direct program execution in sketches.
  • Graphics Libraries - Provides a comprehensive Java graphics library for drawing, images, and typography in visual sketches.
  • Sketch Lifecycle Functions - Defines the sketch lifecycle with setup, draw, and event functions for visual programs.
  • Interactive Application Frameworks - A framework for building real-time visual applications with input handling, animation, and multimedia support.
  • Event-Driven Input Handlers - Captures keyboard, mouse, and window events through callback functions in the sketch loop.
  • Transformation Functions - Provides transformation functions for translating, rotating, scaling, and shearing shapes in 2D and 3D.
  • Trigonometric Functions - Provides sine, cosine, tangent, and degree-radian conversion for geometric calculations.
  • Visual Programming for Education - Teaches programming fundamentals through immediate visual feedback and creative project-based learning.
  • Pixel-Level Image Manipulation - Reads, writes, and blends individual pixel values in the display window or images.
  • Low-Level Pixel Buffer Access - Directly reads and writes pixel arrays in the display buffer for image processing and effects.
  • General File Writers - Provides functions to write text, JSON, XML, table, and binary data to files.
  • Primitive Type Converters - Includes utilities for converting between primitive types and their string representations.
  • Real-time Visualizations - Transforms data from files and sensors into dynamic visual representations and interactive graphics.
  • Mouse Input Handlers - Tracks mouse position, button presses, clicks, drags, and wheel movements.
  • Cross-Platform Executable Packagers - Bundles sketches into standalone executables for distribution on different operating systems.
  • Perlin Noise Functions - Provides Perlin noise functions for generating organic variation in visual sketches.
  • 3D Mesh Primitives - Renders 3D shapes such as boxes and spheres using tessellated triangles.
  • Bezier Curve Rendering - Renders Bézier and curved lines on the screen with adjustable resolution.
  • Rendering Configuration Options - Enables or disables anti-aliasing, high-density pixel rendering, and clipping regions for sketches.
  • Text Rendering - Draws strings of text to the screen using loaded or dynamically created fonts.
  • Image File Loading - Loads image files from disk and draws them to the screen with tinting and scaling support.
  • Image Filters - Ships built-in image filters for converting images to grayscale, black and white, and other effects.
  • Visual Effect Shaders - Runs pixel and vertex shaders to apply fast, parallelized filters and custom effects to the canvas.
  • Shader Application Functions - Provides functions to load and apply GLSL shaders for custom rendering effects in sketches.
  • Sketch Extension Libraries - Adds capabilities like sound, video, webcam input, and text handling through modular companion libraries.
  • Vector Shape Construction - Builds complex forms by defining vertices, curves, and contours for custom shapes.
  • Standalone Application Packaging - Bundles a completed sketch with its dependencies into a standalone application that runs without the development environment in Processing.
  • Random Number Generation - Produces random floats, integers, and Gaussian-distributed values with settable seed.
  • String Manipulation Utilities - Provides functions for splitting, joining, trimming, and regex operations on strings.
  • General Array Operations - Provides functions for appending, copying, concatenating, sorting, and splicing arrays.
  • Math Utility Primitives - Executes common math operations like mapping ranges, constraining values, and computing distances.
  • General File Loaders - Provides functions to load text, JSON, XML, table, and binary data from files and URLs.
  • Keyboard Input Listeners - Detects key presses and releases, including special keys like arrows and modifiers.
  • Window Display Modes - Controls window size, position, title, resizability, and full-screen mode for sketches.
  • Texture Mapping - Applies images as textures onto vertex-based geometry for 3D rendering.
  • Development Frameworks - Flexible language and environment for visual arts and coding.
  • Imagery and Video - Environment for visual arts and creative coding.
  • Media and VFX Tools - Flexible sketchbook and language for visual arts.

Star history

Star history chart for processing/processingStar history chart for processing/processing

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Processing

Similar open-source projects, ranked by how many features they share with Processing.
  • sixlabors/imagesharpSixLabors avatar

    SixLabors/ImageSharp

    7,954View on GitHub↗

    ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying digital images. It functions as a comprehensive toolkit for resizing, cropping, and applying pixel-level filters while managing color profiles and pixel data across various file formats. The project integrates a 2D vector graphics engine and a typography rendering engine to draw geometric shapes, paths, and complex stylized text onto images. It also includes a geometry boolean operation library for calculating intersections, unions, and differences between complex polygons and c

    C#bmpc-sharpdrawing
    View on GitHub↗7,954
  • automattic/node-canvasA

    Automattic/node-canvas

    10,676View on GitHub↗

    node-canvas is a server-side 2D vector graphics and image processing library for Node.js. It provides a server-side implementation of the HTML5 Canvas API using the Cairo graphics library as its rendering engine to draw shapes, text, and paths. The library enables the programmatic generation of dynamic images and the creation of scalable vector graphics and PDF documents. It supports the registration of custom and system fonts for typography rendering and allows for the import of image assets via local paths, buffers, data URIs, and remote URLs. Capabilities include low-level pixel manipulat

    JavaScript
    View on GitHub↗10,676
  • gfxfundamentals/webgl-fundamentalsgfxfundamentals avatar

    gfxfundamentals/webgl-fundamentals

    5,004View on GitHub↗

    webgl-fundamentals is a comprehensive educational resource and graphics tutorial for learning hardware-accelerated 2D and 3D rendering using the WebGL API. It serves as a structured 3D graphics curriculum and GPU programming reference, guiding users through the graphics pipeline from basic geometry to advanced rendering techniques. The project provides detailed guides on GLSL shader development, including the creation of vertex and fragment shaders. It specifically focuses on the implementation of real-time lighting models—such as directional, point, and spot lighting—and the application of s

    HTML3d3d-mathglsl
    View on GitHub↗5,004
  • fogleman/ggfogleman avatar

    fogleman/gg

    4,778View on GitHub↗

    gg is a Go 2D graphics library and vector graphics engine designed for programmatic image generation. It provides a canvas rendering API to create custom 2D shapes, paths, and visual assets, which can be exported as PNG and JPG files. The toolkit enables the construction of complex geometry using Bezier curves and custom paths. It supports a variety of rendering operations, including filling and stroking paths, applying linear and radial gradients, and utilizing surface patterns. The library covers a broad range of capabilities, including text rendering with word wrapping and dimension measu

    Go
    View on GitHub↗4,778
See all 30 alternatives to Processing→

Frequently asked questions

What does processing/processing do?

Processing is a creative coding environment and Java graphics library designed for writing visual sketches that produce interactive 2D and 3D graphics and animations. It runs on the Java Virtual Machine, using an OpenGL-based hardware-accelerated rendering pipeline, and operates on a sketch-based execution model where programs run as continuous loops of setup and draw functions with event-driven input handling for keyboard, mouse, and window interactions.

What are the main features of processing/processing?

The main features of processing/processing are: Creative Coding Environments, Java Virtual Machine Runtimes, Visual Sketch Runtimes, Visual Sketch Tools, Sketch Loop Executions, Sketch Addon Loaders, Cross-Platform Deployments, OpenGL Engines.

What are some open-source alternatives to processing/processing?

Open-source alternatives to processing/processing include: sixlabors/imagesharp — ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying… automattic/node-canvas — node-canvas is a server-side 2D vector graphics and image processing library for Node.js. It provides a server-side… gfxfundamentals/webgl-fundamentals — webgl-fundamentals is a comprehensive educational resource and graphics tutorial for learning hardware-accelerated 2D… fogleman/gg — gg is a Go 2D graphics library and vector graphics engine designed for programmatic image generation. It provides a… konvajs/react-konva — react-konva is a declarative React canvas graphics library and 2D vector graphics framework. It serves as a rendering… exyte/macaw — Macaw is a Swift vector graphics library and animation framework used to create and render scalable geometric shapes…