2023-04-05 08:09:10 +00:00
2023-04-03 16:04:19 +02:00
2023-04-03 16:23:10 +02:00
2023-01-15 14:42:36 +00:00
2023-01-15 14:42:36 +00:00
2023-04-05 08:09:10 +00:00
2023-04-05 08:09:08 +00:00
2023-01-15 14:42:36 +00:00
2023-03-18 20:59:04 +01:00
2023-01-15 14:42:36 +00:00
2023-01-15 14:42:36 +00:00
2023-03-21 09:13:23 +00:00
2023-04-05 08:09:08 +00:00
2023-02-02 08:49:31 +00:00
2023-01-26 13:51:13 +00:00
2023-04-03 16:04:19 +02:00
2023-03-04 16:12:57 +01:00
2023-03-04 16:12:57 +01:00
2019-09-25 11:09:58 +02:00
2023-03-31 13:16:54 +00:00

ORX (OPENRNDR EXTRA)

A growing library of assorted data structures, algorithms and utilities to complement OPENRNDR.

Multiplatform

name                                     description
orx-camera 3D camera controllable via mouse and keyboard.
orx-color Tools to work with color
orx-compositor Toolkit to make composite (layered) images using blend modes and filters.
orx-compute-graph A graph for computation.
orx-compute-graph-nodes A collection of nodes that can be used with orx-computer-graph.
orx-easing Provides easing functions for smooth animation or non-linear interpolation.
orx-fx Ready-to-use visual effects or filters. Most include orx-parameters annotations so they can be easily controlled via orx-gui.
orx-glslify Load glslify compatible shaders from npm.
orx-gradient-descent Finds equation inputs that output a minimum value: easy to use gradient descent based minimizer.
orx-hash-grid A 2D space partitioning for points.
orx-image-fit Draws the given image making sure it fits (contain) or it covers (cover) the specified area.
orx-integral-image CPU and GPU-based implementation for integral images (summed area tables)
orx-interval-tree For querying a data set containing time segments (start time and end time) when we need all entries containing a specific time value. Useful when creating a timeline.
orx-jumpflood Takes an image and calculates either a distance field or a direction field. GPU accelerated, 2D. Results are provided as an image.
orx-kdtree Fast search of the point closest to the queried point in a data set. 2D, 3D and 4D.
orx-marching-squares Tools for extracting contours from functions
orx-mesh-generators Generates 3D meshes: sphere, box, cylinder, plane, dodecahedron.
orx-no-clear Provides the classical draw-without-clearing-the-screen functionality that OPENRNDR does not provide by default.
orx-noise Randomness for every type of person: Perlin, uniform, value, simplex, fractal and many other types of noise.
orx-obj-loader Simple loader for Wavefront .obj 3D mesh files.
orx-palette Provides 300 color palettes gathered from different sources, organized in 3 collections.
orx-parameters Provides annotations and tools for turning Kotlin properties into introspectable parameters. Used by orx-gui to automatically generate user interfaces.
orx-property-watchers Tools for setting up property watcher based pipelines
orx-quadtree An extension for creating a Quadtree for points. A quadtree is a spatial partioning tree structure meant to provide fast spatial queries such as nearest points within a range.
orx-shade-styles Collection of shader based fills and strokes. Currently includes 4 types of gradient fills.
orx-shader-phrases A library that provides a #pragma import statement for shaders.
orx-shapes Collection of 2D shape generators (polygon, star, rounded rectangle) and shape modifiers.
orx-temporal-blur Post-processing temporal-blur video effect. CPU intense, therefore not intended for use with the ScreenRecorder extension or other real-time uses.
orx-time-operators A collection of time-sensitive functions aimed at controlling raw data over-time, such as Envelope and LFO.
orx-timer Simple timer functionality providing repeat, to run code with a given interval and timeOut, to run code once after a given delay.
orx-triangulation An extension for triangulating a set of points using the Delaunay triangulation method. From that triangulation we can also derive a Voronoi diagram.
orx-turtle Bezier (ShapeContour) backed turtle graphics.
orx-view-box Tools to provide view box support

JVM only

name                                     description
orx-boofcv Helper functions to ease working with the BoofCV computer vision library and its data types.
orx-chataigne Expose variables to Chataigne and any other applications that can interface with it. The current implementation makes use of the OSC protocol and supports Double and ColorRGBa.
orx-dnk3 A scene graph based 3d renderer with support for Gltf based assets
orx-expression-evaluator Tools to evaluate expression strings
orx-file-watcher Monitor files on disk and auto-reload them if they change.
orx-git-archiver An extension that hooks into Program.requestAssets to commit changed code to Git and provide filenames based on the commit hash.
orx-git-archiver-gradle A Gradle plugin that turns a git history and screenshots directory into a markdown file.
orx-gui Automatic UI (sliders, buttons, etc.) generated from annotated classes and properties. Uses orx-panel and orx-parameters.
orx-keyframer Create animated timelines by specifying properties and times in keyframes, then play it back at any speed (even backwards) automatically interpolating properties. Save, load, use mathematical expressions and callbacks. Powerful and highly reusable.
orx-kinect-v1 Support for the Kinect V1 RGB+Depth camera.
orx-midi Basic MIDI support for keyboards and controllers. Send and receive note and control change events.
orx-minim A minimal Minim support library
orx-olive Provides live coding functionality: updates a running OPENRNDR program when you save your changes.
orx-osc Open Sound Control makes it possible to send and receive messages from other OSC enabled programs in the same or a different computer. Used to create multi-application or multi-device software.
orx-panel The OPENRNDR UI toolkit. Provides buttons, sliders, text, a color picker and much more. HTML/CSS-like.
orx-poisson-fill Post processing effect that fills transparent parts of the image interpolating the edge pixel colors. GPU-based.
orx-rabbit-control Creates a web-based remote UI to control your OPENRNDR program from a mobile device or a different computer. Alternative to orx-gui.
orx-runway Interfaces with the RunwayML machine learning library that provides features like motion capture, image synthesis, object recognition, style transfer and more. More info at runwayml.com.
orx-syphon Send frames to- and from OPENRNDR to other applications in real time using Syphon for Mac.
orx-video-profiles A collection of VideoWriterProfile implementations that can be used with ScreenRecorder and VideoWriter

Developer notes

Publish and use local builds of the library in your applications

First, build and publish OPENRNDR to the local maven repository:

Run (or import in IntelliJ IDEA and edit the run configuration).

# In openrndr repository
./gradlew publishToMavenLocal snapshot

This command will build and publish a snapshot of the next version of the library. For example, if the current latest release is 0.4.2, then it will create a release named "0.4.3-SNAPSHOT" and publish it to your local maven repository. The exact version will be shown in the console output during the build process.

Now you can run the same command again but for this repository.

# In orx repository
./gradlew publishToMavenLocal snapshot

It will automatically use the locally published snapshot of OPENRNDR for building ORX and will publish ORX to your local maven repository with the same logic as before.

Once that's done, you can use the local build of ORX in your openrndr-template by specifying the version you published. In this case, it would be "0.4.3-SNAPSHOT".

Description
No description provided
Readme BSD-2-Clause 15 MiB
Languages
Kotlin 69.3%
JavaScript 26.1%
GLSL 3.5%
ANTLR 1%