A growing library of assorted data structures, algorithms and utilities for OPENRNDR

Overview

ORX (OPENRNDR EXTRA) 0.4

Note that this is a yet unreleased version of ORX. The prior released version of ORX can be found in the ORX 0.3 branch.

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

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-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-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-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-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.

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-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-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 Automatically creates a 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-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-video-profiles A collection of VideoWriterProfile implementations that can be used with ScreenRecorder and VideoWriter

Developer notes

Create and use local builds of the library

First build and publish OPENRNDR 0.4 SNAPSHOT (using -Prelease.version=0.5.1-SNAPSHOT) from the openrndr-0.4 branch.

run ./gradlew publishToMavenLocal -Prelease.version=0.5.1-SNAPSHOT (or import in IntelliJ IDEA and edit the run configuration)

In an openrndr-template based project set orxUseSnapshot = true in order to use the snapshot build.

Comments
  • @XYParameter does not show label

    @XYParameter does not show label

    Describe the bug Not sure if bug or feature request, but the @XYParameter in gui does not show the label

    To Reproduce Use @XYParameter

    Expected behavior Shows the label

    Screenshots (the label is from the previous control)

    Context:

    • Tested on Linux and Mac
    • Latest OpenRNDR version

    Original control by @reinvdwoerd

    opened by hamoid 21
  • orx-gui  features bucket

    orx-gui features bucket

    Short Term

    • [x] Vector representation - Vector2 is straightforward / Vector3 could be a resizable cube and Vector4 is in need of ideas

    • [ ] Variable Histogram - Useful for debugging to see how a variable changes overtime.

    • [ ] Palette selector - Be able to preview the colors and change it (orx-palette)

    • [x] Collapsible/Hide-able panel bar

    • [x] Customisable labels per group

    • [x] Randomize button

    • [x] Load/Export parameters to JSON

    Long term:

    • [ ] Presets - able to add/change them in runtime/compile (serializable)
      • Exporting parameters with a screenshot and then git commit for archiving
    • [ ] Bi-directional update - f.ex sliders updated within the runtime have their state reflected in the UI
    enhancement 
    opened by ricardomatias 8
  • [orx-gui] click events outside gui has `propagationCancelled` == true

    [orx-gui] click events outside gui has `propagationCancelled` == true

    Operating System

    Linux

    OPENRNDR version

    0.5.1-SNAPSHOT

    ORX version

    0.5.1-SNAPSHOT

    Java version (if applicable)

    No response

    Describe the bug

    event.propagationCancelled should be true when clicked inside the GUI, false otherwise. See sample program below.

    Steps to reproduce the bug

    import org.openrndr.application
    import org.openrndr.extra.gui.GUI
    
    fun main() = application {
        program {
            extend(GUI())
            extend { }
            mouse.buttonDown.listen { event ->
                println(event.propagationCancelled)
            }
        }
    }
    
    bug 
    opened by hamoid 6
  • [orx-midi] MidiTransceiver throws NoSuchMethodError in JVM shutdown hook

    [orx-midi] MidiTransceiver throws NoSuchMethodError in JVM shutdown hook

    Describe the bug

    When a MidiTransceiver object is created, orx-midi registers a shutdown hook in the JVM, but it is not called, see #180 To actually make it call the shutdown hook you need to explicitly call exitProcess(status), but the hook throws a NoSuchMethodError.

    Example stacktrace:

    Exception in thread "Thread-1" java.lang.NoSuchMethodError: 'void org.openrndr.extra.midi.MidiTransceiver$2.destroy()'
    	at org.openrndr.extra.midi.MidiTransceiver$2.run(MidiTransceiver.kt:114)
    

    To Reproduce

    1. create a simple program
    2. initialize a MidiTransceiver (see "MIDI" tutorial)
    3. register some listeners, e.g. controlChanged, noteOn, etc.
    4. add a "program ended listener", e.g. ended.listen { exitProcess(0) }
    5. run the program
    6. close the main window

    Expected behavior

    When closing the main window the program should exit normally.

    Context:

    • OS and version: Windows 10
    • OpenRNDR version: ~~0.3.15~~ 0.3.46
    • Java Version: tested with OpenJDK 11 and 14
    bug 
    opened by megadix 5
  • Cannot compare panel UI element colours

    Cannot compare panel UI element colours

    Describe the bug Cannot compare panel UI element colours - see below

    To Reproduce

    println(ColorRGBa.WHITE == ColorRGBa.WHITE) //true as expected
    println(Color.RGBa(ColorRGBa.WHITE) == Color.RGBa(ColorRGBa.WHITE)) //false!
    

    Expected behavior The second line above to output true

    opened by Rolodophone 5
  • orx-kinect refactoring + new general orx-depth-camera

    orx-kinect refactoring + new general orx-depth-camera

    I changed a lot with this PR and unfortunately I couldn't keep down compatibility:

    • new orx-depth-camera interface for generalized API of all the depth cameras
    • 3 modes of depth measurement: RAW_NORMALIZED, METERS, RAW
    • initial low level kinect shaders operating on integer values, not floating point values
    • the concept of depthCamera.frameFlow: Flow<ColorBuffer> operating on drawer thread coroutines for async processing of kinect frames
    • extensive set of demo programs to show possible use cases
    • colormap filters externalized as mpp filters in orx-fx
    • depthCamera.mirror property renamed to flipH and corresponding flipV added (I have use cases with projections calibrated over the floor level where it is very useful).
    opened by morisil 4
  • orx-noise: implement Vector2, 3 and 4 versions of functions taking 2, 3 or 4 values

    orx-noise: implement Vector2, 3 and 4 versions of functions taking 2, 3 or 4 values

    Is your feature request related to a problem? Please describe.

    I often want to get a random value based on a position. The position might be a Vector3. Then I need to call Random.value(position.x, position.y, position.z) instead of Random.value(position)

    Describe the solution you'd like

    Should we implement a few extra methods in Random that take VectorN as input?

    Describe alternatives you've considered

    Continue using the current approach?

    Additional context

    .

    opened by hamoid 4
  • add support for 4D simplex noise in orx-noise

    add support for 4D simplex noise in orx-noise

    orx-noise is based on the Java implementation of fast noise: https://github.com/Auburns/FastNoise_Java

    the current version (0.3.49) only supports 2D and 3D simplex noise. Please also expose or add support for 4D simplex noise, since it is provided in the Java reference implementation.

    enhancement 
    opened by ylegall 4
  • orx-syphon

    orx-syphon

    Client and server are both working, and I added some examples. I'm not sure if the Syphon framework will be loaded correctly this way, please correct me if I'm doing it wrong...

    opened by goudreinette 4
  • Create Palette extension

    Create Palette extension

    orx-palette

    An extension that helps managing a palette of colors. Includes 300 palettes organized in 3 collections gathered from different sources.

    The readme file has examples of what it can do.

    opened by ricardomatias 4
  • [orx-midi] Program hangs when closing main window when using MIDI

    [orx-midi] Program hangs when closing main window when using MIDI

    Describe the bug

    When using MIDI event controllers the program does not close properly when closing the main Window

    To Reproduce

    1. create a simple program
    2. initialize a MidiTransceiver (see "MIDI" tutorial)
    3. register some listeners, e.g. controlChanged, noteOn, etc.
    4. run the program
    5. close the main window

    Expected behavior

    When closing the main window the program should exit normally, instead it hangs.

    Context:

    • OS and version: Windows
    • OpenRNDR version: ~~0.3.15~~ 0.3.46
    • Java Version: tested with OpenJDK 11 and 14
    opened by megadix 3
  • [orx-g-code] Add g-code tools for pen plotting

    [orx-g-code] Add g-code tools for pen plotting

    An extension to generate g-code from compositions, best used in a live coding environment. The intended use is for a pen plotter, but code to drive a laser cutter or other CNC machines could be generated as well. I have used the foundation of this for a while now and tried to wrap everything in an more general and easy to use interface. See the README and demo files on how to use.

    Feedback is appreciated ✨

    opened by adriandieter 2
  • orx-shapes does not declare Delaunator dependency

    orx-shapes does not declare Delaunator dependency

    Operating System

    Everything

    OPENRNDR version

    0.4.1

    ORX version

    0.4.1

    Java version (if applicable)

    No response

    Describe the bug

    Using AlphaShape from orx-shapes results in a class not found error for Delaunator. Adding the dependency to my own build file fixes it:

                    // orx-shapes requires this but does not correctly declare it
                    implementation("com.github.ricardomatias:delaunator:1.0.2")
    
    

    Steps to reproduce the bug

    No response

    bug 
    opened by jbellis 0
  • [orx-gui] `gui.add(linearGradient)` fails when using OKLab colors

    [orx-gui] `gui.add(linearGradient)` fails when using OKLab colors

    Operating System

    Linux

    OPENRNDR version

    from git

    ORX version

    from git

    Java version (if applicable)

    No response

    Describe the bug

    ↑ class org.openrndr.extra.color.spaces.ColorOKLABa cannot be cast to class org.openrndr.color.ColorRGBa (org.openrndr.extra.color.spaces.ColorOKLABa and org.openrndr.color.ColorRGBa are in unnamed module of loader 'app') (ClassCastException) 
    

    Steps to reproduce the bug

    val gui = GUI()
    
    val g = LinearGradientOKLab(rgb(0.0).toOKLABa(), rgb(1.0).toOKLABa())
    
    gui.add(g, "linear gradient")
    
    bug 
    opened by hamoid 0
  • Improve GeneratorBuffer / meshGenerator {}

    Improve GeneratorBuffer / meshGenerator {}

    Improve GeneratorBuffer by replacing the transform() function with a drawer-like isolated {}, translate, rotate interface.

    This also adds support for colored meshes.

    • [ ] Improve documentation in README.md
    • [ ] Clean-up mesh generator primitives
    • [ ] Standardize mesh generators to work in XY plane
    enhancement 
    opened by edwinRNDR 2
Releases(v0.4.1)
  • v0.4.1(Aug 18, 2022)

    Thanks to @hamoid, @Vechro for their kind contributions!

    Changes since 0.4.0

    orx

    • Upgrade to Gradle 7.5 (https://github.com/openrndr/orx/commit/d0ec547ad93e564ea007c3292f6041b4ee44b577)
    • Upgrade to kotlinx.coroutines 1.6.4 (https://github.com/openrndr/orx/commit/f29d84ddd779f09bb31be23243ab1e77f1e81e11)
    • Change build action to run on pull requests (#251)
    • Rename org.openrndr.extras -> org.openrndr.extra (#250)
    • Update jarchivelib, add task to list all dependencies, target JVM 11 (#256)

    orx-boofcv

    • Upgrade boofcv to 0.40.1 (#259)

    orx-color

    • Changes for compatibility with https://github.com/openrndr/openrndr/pull/326 (#246)
    • Rename ColorOKHSL.kt to ColorOKHSLa.kt and ColorOKHSV.kt to ColorOKHSVa.kt (#260)
    • ColorOKHSLa.toRGBa result will now always be in SRGB linearity and will include the alpha value of the receiver. (#260)
    • ColorOKLABa.toRGBa result now includes the alpha value of the receiver. (#260)

    orx-image-fit

    • Add Rectangle.fit(Rectangle):Matrix44, FitMethod.Fill, FitMethod.None (#253)

    orx-keyframer

    • Add mod and round functions (https://github.com/openrndr/orx/commit/b85fb91a864889c7adfc180b1b56f4f1bf2011c6)
    • Add support for backticked identifier names (5fa4e724c103ceba2a9fe886533aadb39aefe734)

    orx-kotlin-parser

    • Upgrade to Antlr 4.10.1, upgrade Kotlin grammar (https://github.com/openrndr/orx/commit/17193092fc24664c3fff19e36f014e9e49994e8b)

    orx-mesh-generators

    • Add comments for resolveMesh(), capMesh() (#254)

    orx-rabbitcontrol

    • Update RCP dependencies (#255)

    orx-shapes

    • Fix Rectangle.grid rounding error (#252)

    orx-video-profiles

    • Add video profile extension functions (https://github.com/openrndr/orx/commit/a6de46d71cb80d06adb3606ceb0450e9312fecce)

    orx-tensorflow

    • Upgrade Tensorflow to 0.4.1 (#259)

    Full Changelog: https://github.com/openrndr/orx/compare/v0.4.0.1...v0.4.1

    Source code(tar.gz)
    Source code(zip)
  • v0.4.0-1(Jul 8, 2022)

    Thanks to @hamoid, @Yvee1, @Vechro, @jbellis, @goudreinette, @ylegall, @morisil, @ricardomatias, @i-n-g-o for their kind contributions.

    Changes since 0.3.58

    • Introduction of Kotlin multi platform and Kotlin/JS support
    • Upgrade to Kotlin 1.6.21

    Merged pull requests

    general

    • Sort demos in readmes (#220)
    • Switch to Issue Forms (#187)
    • Update bug_report.yml (#234)
    • Add one-off dependencies to version catalog (#245)
    • Make screenshot generation work again (#219)
    • Migrate to Kotlin DSL build scripts (#243)
    • Add updateChangesTxt script (#184)
    • Fix image urls for orx-jvm modules (#221)
    • Fix readme generator (multiplatform / jvm) (#188)
    • Reduce duplication in orx build scripts. (#240)

    orx-compositor

    • Fix 0x0 render target creation in compositor (#189)
    • Reintroduce accumulation variable (#241)
    • Add BufferMultisample support (#236)

    orx-osc

    • Fix orx-osc readme example (#239)

    orx-palette-studio

    • Fix PaletteStudio color sorting (#213)
    • Add Random push/pop + palette colors add via hex strings (#179)

    orx-keyframer

    • Fix bug in orx-keyframer and add default parameter values for easing functions (#198)

    orx-camera

    • Fix orx-camera readme (#224)

    orx-easing

    • Fix easeInOutQuintic, tweak demo (#233)

    orx-fx

    • Add Invert fx filter (#214)
    • Make FilmGrain and HashBlur filters work on web (#226)

    orx-gitarchiver

    • Use native git in GitArchiver if possible (#193)
    • Remove trailing whitespace in commit hash (#194)

    orx-gui

    • Functionality for randomizing vectors (#195)
    • Make separate latest.json per program (#205)
    • Persist GUI state and change default save location (#197)

    orx-jumpflood

    • Remove #version from jumpflood shaders (#215)

    orx-kdtree

    • Remove tree build time report(#238)
    • Add k-nearest neighbor search to kd-tree (#199)
    • Add support for range query in kd-tree (#201)

    orx-mesh-generators

    • Add Rectangle.toMesh() (#216)

    orx-no-clear

    • Add multisampling support (#235)
    • Add contentScale to orx-noclear's renderTarget creation (#232)

    orx-noise

    • Fix poissonDiskSampling signature change in demos (#225)

    orx-minim

    • Add additive synth minim example (#231)

    orx-olive

    • Reset assetMetadata and assetProperties on reload (#208)

    orx-panel

    • Add explicit Display import (#242)
    • Replace repeat() with pow() (#177)

    orx-quadtree

    • Switch to referential equality (#207)
    • Add quadtree nearestToPoint, and Readwrite locking (#217)
    • Add Quadtree.remove (#227)

    orx-rabbit-control

    • update orx-rabbit-control (#176)

    orx-shade-styles

    • Fix wrong import (#218)
    • OKLab color gradients were partially implemented (#230)

    orx-shader-phrases

    • Add shader phrases tweaks (#196)

    orx-shape

    • Add 3D Bézier patch (#190)
    • Add last point for open contours (#228)
    • Add alpha shapes (#203)
    • Add alpha shapes with holes using opernndr's Shape (#206)
    • Add Hobby curves (#200)
    • Add curl parameter to extension methods (#229)
    • Add new Rectangle.grid with cell size argument (#223

    orx-video-profiles

    • Add tiff video profile (#185)
    Source code(tar.gz)
    Source code(zip)
  • v0.3.55(Mar 1, 2021)

    ORX 0.3.55

    • a3fea2d Add a demo for linke caps and joins (Abe Pazos)
    • 8d6b82a Add comments to bezierPatch demos, simplify. (#173) (Abe Pazos)
    • 8f4c3d7 Add MKL based tensorflow back-end (Edwin Jakobs)
    • acdb038 Add orx-triangulation (Ricardo Matias)
    • 3f05f41 Add parameters to TapeNoise (Edwin Jakobs)
    • b6dcfde Add vflip argument to GIFProfile (#154) (Steven van den Broek)
    • 199e963 Fix ColorChannel (#156) (Dennis Scheiba)
    • 2fb83dc Fix find method (#169) (Ricardo Matias)
    • 8cc54dc Fix recursion problem in Double.gaussian (Edwin Jakobs)
    • 3e23d77 Log exceptions in FileWatcher (Edwin Jakobs)
    • d495b5c [openrndr-demos] add DemoDDSImage01.kt (Edwin Jakobs)
    • 6a25740 [openrndr-demos] Fix format hint arguments (Edwin Jakobs)
    • f5ab40a [orx-fx] Add noiseGain and noiseSeed to MipBloom (Edwin Jakobs)
    • dc411e4 [orx-gui] Add visible property to Gui (Edwin Jakobs)
    • cc766b6 [orx-image-fit] Add new signature do imageFit (#166) (Ricardo Matias)
    • 829e0bb [orx-keyframer] Add envelopes, remove repetitions (Edwin Jakobs)
    • 8521ceb [orx-noise] Add unseeded method to Random (#175) (Ricardo Matias)
    • c12a501 [orx-noise] isolated method for non-stateful rng (#155) (Ricardo Matias)
    • 1af9acc [orx-noise] use common gaussian method (#170) (Ricardo Matias)
    • 5b0a6f3 [orx-quadtree] add quadtree module (#174) (Ricardo Matias)
    • f60244f [orx-realsense2] Add realsense 2 support (Edwin Jakobs)
    • 4c8ec27 [orx-realsense2] Add stream and intrinsics information (Edwin Jakobs)
    • 182ff7e [orx-realsense2] Fix support for multiple sensors (Edwin Jakobs)
    • b41ba5f [orx-shapes] Add linear operator and contour conversion to bezierpatch (Edwin Jakobs)
    • a1ad727 [orx-shapes] Add Rectangle.grid (Edwin Jakobs)
    • d6dbf2a [orx-shapes] use phase parameter in regularStar (#168) (Steven van den Broek)
    • 10099c7 [orx-temporal-blur] allow 0 jitter and fix small bug (#164) (Steven van den Broek)
    • 16b7f0e [orx-tensorflow] Add tensorflow gpu backends for wndows and linux (Edwin Jakobs)
    • 98e12d1 [orx-tensorflow] loosen up (Edwin Jakobs)
    • b58870b [orx-triangulator] fix .update() methods (#163) (Ricardo Matias)
    • dfd99cd [orx-video-profiles] Add Webp profile (Edwin Jakobs)
    • 5c7c32a Remove println statements from Keyframer (Edwin Jakobs)
    • 30df7e8 Update to Gradle 6.8 (#160) (Abe Pazos)
    • 2e40843 update url: rabbitcontrol.cc (#152) (Ingo Randolf)
    Source code(tar.gz)
    Source code(zip)
  • v0.3.53(Oct 16, 2020)

    ORX 0.3.53

    Summary of changes (from commit logs)

    orx

    • Upgrade to JavaCPP 1.5.4, Gradle 6.6.1
    • Upgrade to Kotlin 1.4, Gradle 6.6
    • Enable automatic README generation (#132)
    • Link entries in README to folders/ not README.md (#133)

    openrndr-demos

    • [openrndr-demos] Add DemoCompositionDrawer01
    • [openrndr-demos] Add DemoContourNearest01
    • [openrndr-demos] Add demo for circle billboards
    • [openrndr-demos] Add DemoTessShader03
    • [openrndr-demos] Add DemoTessShader04
    • [openrndr-demos] Add rectangle batch demos
    • [openrndr-demos] Clean-up and fix tessellation shader demos for Intel GPUs
    • [openrndr-demos] Fix shaders to be compatible with OpenGL 4.1 on macOS
    • [openrndr-demos] Improved DemoTessShader02

    orx-boofcv

    • [orx-boofcv] Add colorBuffer resize
    • [orx-boofcv] Add colorBuffer resizeTo (#151)
    • [orx-boofcv] make demo quit on G/A

    orx-camera

    • [orx-camera] Add option to disable motion damping
    • [orx-camera] Add orthogonal projection
    • [orx-camera] deduplication code and fix bug in OrbitalCamera.applyTo()
    • [orx-camera] remove verbosity

    orx-color

    • [orx-color] Add color histograms
    • [orx-color] Add ColorHSLUVa and ColorHPLUVa
    • [orx-color] Add color presets
    • [orx-color] Add XSLUV a combination of HSLUV and XSV (Kuler hue remapping)
    • [orx-color] Fix bug in ColorSequence.index
    • [orx-color] Improve DemoHSLUV02
    • [orx-color] Normalize s and l components of HSLUV and HPLUV

    orx-compositor

    • [orx-compositor] Use resolveTo instead of copy to work better in multisampling setups

    orx-dnk3

    • [orx-dnk3] Added DSL

    ofx-fx

    • [orx-fx] Fix problems with content scales in ApproximateGaussianBlur

    ofx-image-fit

    • [orx-image-fit] Add source and target rectangle return values to Drawer.imageFit

    orx-jumpflood

    • [orx-jumpflood] Add modelViewMatrix, shader refactor

    orx-keyframer

    • [orx-keyframer] Add DoubleArrayChannel
    • [orx-keyframer] Improve error handling

    orx-mesh-generators

    • [orx-mesh-generators] Add arguments to make sides in shape extrude optional
    • [orx-mesh-generators] add texture coordinates for shape extrusions
    • [orx-mesh-generators] Fix bug from refactor
    • [orx-mesh-generators] fix side generator configuration

    orx-noise

    • [orx-noise] Add Vector2/3/4 simplex short-hands
    • [orx-noise] Random.pick returns back an empty list (#150)
    • [orx-noise] UniformRandom: implement Rectangle argument (#149)

    orx-olive

    • [orx-olive] add resources watcher to oliveProgram

    orx-palette

    • [orx-palette] Add nextColor(2) for easy palette permutations (#140)
    • [orx-palette] Allow background to be randomized (#135)

    orx-panel

    • [orx-panel] Add code that waits for a body ancestor to be connected in Slider/Toggle.bind
    • [orx-panel] Add code that waits for a body ancestor to be connected in Textfield
    • [orx-panel] Add WatchObjectDiv
    • [orx-panel] Fix DemoHorizontalLayout01
    • [orx-panel] Fix Textfield.bind
    • [orx-panel] Fix watchHash for Kotlin 1.4

    orx-runway

    • [orx-runway] Add BASNet, PersonSegmentation, U-2-Net presets

    orx-shader-phrases

    • [orx-shader-phrases] Add Shader.preprocessedFromUrls()

    orx-shadestyles

    • [orx-shadestyles] n-point gradient shadeStyle and demos (#138)
    • [orx-shadestyles] Add more n-point gradients (#139)

    orx-syphon

    • [orx-syphon] Upgraded use of ColorBufferGL3 to new interface

    orx-temporal-blur

    • [orx-temporal-blur] Fix addition shader

    orx-video-profiles

    • [orx-video-profiles] Add orx-video-profiles
    • [orx-video-porofiles] Add PNGProfile and fill README (#134)
    Source code(tar.gz)
    Source code(zip)
  • v0.3.52(Jul 6, 2020)

    ORX 0.3.52

    Changelog

    BoofCV

    • Add orx-boofcv
    • Add orx-boofcv readme (#105)
    • Update boofcv version (#122)

    Demos

    • Add boofCV demo
    • Add demoAllGradients
    • Add demo of fx blurs
    • Add DemoSimplex01.kt
    • add demos to README.md x 18
    • Add demo / tester for 16 bit png loading
    • Added XYParameter demo, made XYPad draw it's label
    • Changed XYParameter demo description
    • Add orx-compositor demo (#116)
    • Add poisson demo (#111)
    • Add simple demo for orx-dnk3
    • Improve demos for better screenshots, cleanup
    • [orx-compositor] Add .use demo (#127)
    • Put demo assets into /demo-data/ (#104)
    • Screen capture demo (#123)

    3D

    • Add orx-dnk3
    • Add skinning support to orx-dnk3
    • Remove verbose code from GltfScene
    • Added name property to the GLTF loader (#117)
    • Add gltf animation support to orx-dnk3
    • Add support for KHR_lights_punctual
    • Improve emissive material support
    • Fix buffer limit in GltfScene
    • Add segmentContourRenderer
    • Fix for render targets
    • Add support for cameras

    Chataigne

    • Add Chataigne support (#130)
    • Remove verbosity, change layout, exclude demo from actions

    Even more

    • Add application scriptHost argument
    • Add configuration option for script host to oliveProgram
    • Added PAL TV effect to emulate old CRT televisions. (#120)
    • Add null checks to LambdaExtractor.enterAnnotatedLambda
    • Add orx readme generator, update readmes
    • Add orx-time-operators and orx-glslify to readme
    • Add PoseNet presets and example (#124)
    • Add printStackTrace to see why screenshots fail
    • Add two display modes to orx-panel Slider
    • background() deprecated, replace with clear() (#101)
    • Bump to OPENRNDR 0.3.43
    • Changed XYPad label to be non-null
    • Fix attack/decay interpolation (#114)
    • Fix encode-subpixel.frag
    • Fix for VSM shader
    • Fix readme table
    • Fix uncompilable readme example (#106)
    • Gui: add .toObject() .fromObject() (#126)
    • Improve InnerGlow filter
    • Improve orx-time-operators' readme (#119)
    • Make ColorCorrection clamped by default, add Boolean setting (#121)
    • [orx-jumpflood] Fix jumpflood readme example, signature seems to have changed (#129)
    • [orx-midi] program change support (#128)
    • [orx-panel] Add borderWidth, borderColor, flexShrink
    • [orx-panel] Fix bind for Toggle
    • Small fix in Vector3 version of KDTree (#118)
    • Fix frame blur (initialize transparent)
    Source code(tar.gz)
    Source code(zip)
  • v0.3.51(May 14, 2020)

    Demos

    • Add screenshot generation

    • Tweak orx-gui demos to produce better screenshots

    • Add demo for orx-panel

    • Add DemoNearestNeighbour01.kt for orx-kdtree

    • Add DemoNoClear.kt

    • Add demos for orx-runway

    • Add demos to orx-mesh-generators

    • add demos to README.md

    • Add orx-syphon example for a receiving frames from a specific server

    • Add orx-shade-styles demo

    • Add a demo for orx-gui

    • Add Horizontal Layout Panel demo

    • Add missing orx-runway demo resources

    • Add WatchDiv demo

    • Fix demo link layouts

    • Add screenshot code to olive scriptless demo

    • Fix DemoShapeSDF04 and DemoShapeSDF05

    • Fix DemoStraightSkeleton01.kt

    • Add screenshot block to DemoWatchDiv01

    Rabbit control

    • Add orx-rabbit-control

    • Add optional QR-code overlay for orx-rabbit-control

    • improve orx-rabbit-control such that writing the QR code to a file is no longer necessary

    • serve orx-rabbit-control locally using Ktor

    Jumpflood

    • Add SDFBlend filter to orx-jumpflood

    • Add skeleton filters to orx-jumpflood

    Documentation

    • Add generated screenshots

    • Add extra testing to generate-screenshots.yml

    • Attempt to generate screenshots in actions

    • Fix task dependency for collectScreenshots

    • Move generated screenshots to orphane media branch

    • Update generate-screenshots.yml

    • Update documentation Closes #78

    • Update README.md

    Development

    • Add README.md generator

    • Change auth settings

    • Change default script file to one based on stackRootClassName

    • Change exception handler

    • Change order of actions

    • Create pick-me.yml

    • Fix m2 repository path

    • Remove -a from xvfb-run invoke

    • Remove package from script generator

    • Replace gradle bintray plugin with curl in action

    • Fix git add pathspec

    • Add action to commit README.md files to master

    • Add conditionals to git invokes

    • Add release-to-bintray workflow

    • Add git reset after orphan checkout

    • Fix tag name

    • Remove images from repository

    • Add -a to xvfb-java.sh

    • Add build-tools/xvfb-java.sh

    • Update xvfb-java.sh

    • Remove xvfb-run from gradle invoke

    • Upgrade Kotlin, Gradle, freenect, zxing, kotlin-coroutines, OPENRNDR, add gradle-versions plugin

    Olive

    • Add call to Extension.shutdown on orx-olive reload

    • Add OliveProgram scriptless replacement

    • Add Olive.scriptLoaded event

    • Add 'scriptless' mode to orx-olive

    • Fix dependencies for Olive, add tests for basic scripting

    • Improve support for olive programs inside packages

    New and updated extensions

    • Add 2d version of gradientPerturb

    • Add exponent to all gradients, cleanup

    • Add extra gallium settings

    • Add gradientPerturb (3d version only)

    • Add LaserBlur

    • Add LinearGradient exponent

    • Add missing easing functions to orx-keyframer

    • Add opacity support to EdgesWork

    • Add OptionParameter Closes #78

    • add OptionParameter to lfo wave type (#90)

    • Add orx-keyframer

    • Add orx-time-operators with Envelope & LFO

    • Add orx-timer

    • Add Poisson Disk Sampling to orx-noise

    • Add probability to Random.bool()

    • Add Slider to Int property binding

    • Add support for calculate height

    • Add tab and shift-tab switching support to oxr-panel

    • Add vector based noise functions

    • Add VideoGlitch and TapeNoise filters

    • Fix #74 gui blocking mouse events while hidden

    • Fix bind functions, add WatchDiv

    • Fix bug in ParserRuleContext.verbatimText

    • Fix bug in Slider, uncaught exception when pressing enter on a blank input

    • Fix default style for button such that it has an 'active' color

    • Fix easing functions in orx-easing, add demo

    • Fix glslify relative imports + inner module imports

    • Fix label for OptionParameter in orx-gui

    • Fix mix issues in orx-noise

    • Fix orx-keyframer build task dependencies

    • Fix persistence issues in orx-gui

    • Fix problem after removing cast

    • Fix problem in UV coord generation of plane meshes

    • Fix ShapeSDF in case no distortion map is given

    • Fix unary minus operators

    • More gui examples (#77)

    • Remove dead code and make getLuminance and getContrast public

    • Remove most warnings in ORX Closes #61

    • Remove print from generateScript

    • Remove verbosity

    • Replace lerp from orx-noise with standard mix

    • Switch from fwidthFine to regular fwidth

    • Trigger requestDraw when changing TextElement text (#89)

    • Update SimplexNoise2D with correct constants Closes #64

    Source code(tar.gz)
    Source code(zip)
Owner
OPENRNDR
Open source framework for creative coding written in Kotlin
OPENRNDR
An easy to use android library to let devs know how much internet-data their app is consuming

EasyAnalytics! an easy to use android library to let developers know how much internet-data their app is consuming. We can identify this as we want ba

Sachin Rajput 13 Feb 21, 2022
when you use restful api and network get disconnect you have to store your data local for make your app faster and work on ofline mode

AppArchitectureOflineMode when you use restful api and network get disconnect you have to store your data local for make your app faster and work on o

Kareem-Mansy 3 Jun 20, 2021
Display's information about SpaceX crew members and ships by consuming a rest api and storing the data to display when the user is offline.

Space-X App Display's information about SpaceX crew members(look for ‘Crew’ section in rest api docs) and ships (look for ‘Ships’ section in rest api

krishna chaitanya 2 Apr 8, 2022
App made using Kotlin to retrieve data from an API and show in a recyclerview with Login and SignUp features

App made using Kotlin to retrieve data from an API and show in a recyclerview with Login and SignUp features.

Altair Wallace 1 Feb 17, 2022
A simple weather application focused on material UI and API data calls.

YAWA-WeatherApp YAWA is a simple single screen, single activity weather app with material UI. This repository is mainly focused on people who want to

Debayan Ghosh Dastider 2 Sep 1, 2022
A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding It's a mimic for Tumblr application , But a little prettier than him 😉

A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding It's a mimic for Tum

Ahmed Ihab 17 Dec 23, 2022
CMPLR Technologies 8 Apr 5, 2022
MovieLibrary -An android application which uses tmdb API to fetch the data for various movies and TV Shows

MovieLibrary -An android application which uses tmdb API to fetch the data for various movies and TV Shows

null 1 May 1, 2022
WeatherProject - Weather Project using GPS data and the weather from the API based on the search

WeatherProject In this project, I showed the weather at the current location usi

null 6 Apr 26, 2022
inderjeet yadav 2 May 5, 2022
An android app which allows users to display the data of any excel sheet in rows and columns

ExcelReader App description An android app which allows users to display the data of any excel sheet in rows and columns. Features Display data of an

Srihitha Tadiparthi 4 Oct 25, 2022
Market Watch is Android app using Alpha Vantage API. Live stock and market data.

Donate If you like this app please donate Bitcoin: bc1qwqqpuy54qfja7h5dzpd9swgrnkql02t8cacn62 About this app Market Watch allows to watch and track s

Krzysztof Kobiałka 1 May 22, 2022
A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture

PokedexApp Pokedex A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture. Te

Steven Adriano 0 Apr 12, 2022
Read and write Android/data files on Android 13 without root

Android 13 (Tiramisu API 33) Read and write /Android/data or /Android/obb not need root Android 13 read and write /Android/data or /Android/obb withou

FolderV 59 Jan 4, 2023
This is a Interview application which made by me in interview task what it do? that will give you the result from Api and also save data in the cache using RoomDb so that we can access it offline.

Clean-MVVM-App An Android application built using Clean + MVVM architecture. Components used in the app. Kotlin - As a programming language. Material

Android1500 2 Oct 29, 2022
HideDroid is an Android app that allows the per-app anonymization of collected personal data according to a privacy level chosen by the user.

HideDroid An Android App for preserving user privacy HideDroid is an Android app that allows the per-app anonymization of collected personal data acco

null 100 Dec 12, 2022
A cryptocurrency data aggregator that tracks price, volume, social stats.

CryptoMania A cryptocurrency data aggregator that tracks price, volume, social stats. Challenge description Design & implement an Android application

Gabriel TEKOMBO 23 Aug 6, 2022
This android app fetches the data from the USGS API in real time to display a list of earthquakes.

This android app fetches the data from the USGS API in real time to display a list of earthquakes. On clicking an earthquake it opens a browser window with the complete information of the earthquake along with the location on a map.

null 5 Jan 11, 2022