Coder Social home page Coder Social logo

orml's Introduction

OPENRNDR

Download Build status

A Kotlin/JVM and Kotlin/JS library for creative coding, real-time and interactive graphics. Can currently be used on Windows, macOS and Linux/x64 to create standalone graphical applications.

Basics and use are further explained in the OPENRNDR guide.

Repository structure

module description
openrndr-animatable Tooling for interactive animations
openrndr-application Application and Program classes
openrndr-binpack Binpacking algorithm used for texture atlasses
openrndr-color Color spaces
openrndr-dds DirectDraw Surface file (.dds) loader
openrndr-demos A collection of small in-repository demos
openrndr-draw Drawing primitives
openrndr-event Event classes
openrndr-extensions Built-in OPENRNDR extensions
openrndr-filter Built-in filters
openrndr-js Kotlin/JS specific modules
openrndr-jvm Kotlin/JVM specific modules
openrndr-math Math functions and classes
openrndr-nullgl Mock graphics back-end
openrndr-shape Classes and functions for working with 2D shapes
openrndr-svg Loading and saving SVG
openrndr-utils Assorted utilities

Using OPENRNDR

You are advised to use the OPENRNDR template which provides a quick start to using the library.

OPENRNDR's Javascript/WebGL is still experimental and under development. However, if you feel like trying it you should use the OPENRNDR JS template.

Building OPENRNDR

After cloning the repository, make sure you have Java 11 or newer installed and run the following command:

./gradlew build

This should start the build process, which will take some time to complete.

Note that OPENRNDR does not depend on anything that is not on Maven Central, builds should be easy and predictable.

Installing OPENRNDR as Maven artifacts

In order to use the OPENRNDR build from your applications one has to install OPENRNDR's Maven artifacts in the local Maven repository.

./gradlew publishToMavenLocal snapshot

A more detailed walk-through of building, publishing to Maven local and contributing can be found in the wiki.

Community

Visit the OPENRNDR website for the latest news on OPENRNDR, showcases and events

Join us on the OPENRNDR forum for questions, tutorials and showcases.

Reach us more directly on the OPENRNDR Slack.

orml's People

Contributors

edwinrndr avatar goudreinette avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

orml's Issues

Bug: Facemesh/Blazeface ORML model hash does not match up

Running https://github.com/openrndr/orml/blob/master/orml-facemesh/src/demo/kotlin/FaceMesh01.kt results in

 hash for blazeface-1.0 is 587142c11e62d4e3947c848578788eecd4b8b157da5130d2526e9a3621c4ae70 but expected 8e4f04510214d3a734868ef682f75d7b3f1dc71be27ca528945ca5e555472887 (IllegalArgumentException) 

Even when removing the cached model from /Users/xxx/Library/Application Support/orml/blazeface-1.0.pb this does not get fixed.

The hash is stored here

val bytes = fetchORMLModel(
"blazeface-1.0",
"8e4f04510214d3a734868ef682f75d7b3f1dc71be27ca528945ca5e555472887"
)

and simply replacing the hash does not help as it then returns

...
├─ FaceMesh01.main.{ :ApplicationBuilder }.{ :Program }.{ }.{ }(FaceMesh01.kt:49)
├─ FaceMesh01.main.{ :ApplicationBuilder }.{ :Program }.{ }.{ }(FaceMesh01.kt:64)
│  org.openrndr.orml.facemesh.FaceMesh.extractLandmarks(FaceMesh.kt:118)
├─ org.tensorflow.Session.Runner.feed(Session.java:248)
├─ org.tensorflow.Graph.outputOrThrow(Graph.java:211)
│
↑ No Operation named [input_1] in the Graph (IllegalArgumentException) 

I loaded the downloaded file

❯ ls -alh blazeface-1.0.pb
-rw-r--r--  1 xxx  staff   419K Mar 28 19:17 blazeface-1.0.pb

in tensorboard and looked quite strange to me, but I havent done much with tensorflow since 5 years and I am unsure if my pb->tf logs script may made something wrong

grafik

Demos fail due to SNAPSHOT error

Cloning this repo (on commit 6675872) and trying to run any example fails

Execution failed for task ':orml-utils:compileKotlin'.
> Error while evaluating property 'filteredArgumentsMap' of task ':orml-utils:compileKotlin'
   > Could not resolve all files for configuration ':orml-utils:compileClasspath'.
      > Could not find org.openrndr.extra:orx-tensorflow:0.5.1-SNAPSHOT.
        Searched in the following locations:
          - https://repo.maven.apache.org/maven2/org/openrndr/extra/orx-tensorflow/0.5.1-SNAPSHOT/maven-metadata.xml
          - https://repo.maven.apache.org/maven2/org/openrndr/extra/orx-tensorflow/0.5.1-SNAPSHOT/orx-tensorflow-0.5.1-SNAPSHOT.pom
          - file:/Users/xxx/.m2/repository/org/openrndr/extra/orx-tensorflow/0.5.1-SNAPSHOT/maven-metadata.xml
          - file:/Users/xxx/.m2/repository/org/openrndr/extra/orx-tensorflow/0.5.1-SNAPSHOT/orx-tensorflow-0.5.1-SNAPSHOT.pom
        Required by:
            project :orml-utils
      > Could not find org.openrndr:openrndr-draw:0.5.1-SNAPSHOT.
        Searched in the following locations:
          - https://repo.maven.apache.org/maven2/org/openrndr/openrndr-draw/0.5.1-SNAPSHOT/maven-metadata.xml
          - https://repo.maven.apache.org/maven2/org/openrndr/openrndr-draw/0.5.1-SNAPSHOT/openrndr-draw-0.5.1-SNAPSHOT.pom
          - file:/Users/xxx/.m2/repository/org/openrndr/openrndr-draw/0.5.1-SNAPSHOT/maven-metadata.xml
          - file:/Users/xxx/.m2/repository/org/openrndr/openrndr-draw/0.5.1-SNAPSHOT/openrndr-draw-0.5.1-SNAPSHOT.pom
        Required by:
            project :orml-utils
      > Could not find org.openrndr:openrndr-application:0.5.1-SNAPSHOT.
        Searched in the following locations:
          - https://repo.maven.apache.org/maven2/org/openrndr/openrndr-application/0.5.1-SNAPSHOT/maven-metadata.xml
          - https://repo.maven.apache.org/maven2/org/openrndr/openrndr-application/0.5.1-SNAPSHOT/openrndr-application-0.5.1-SNAPSHOT.pom
          - file:/Users/xxx/.m2/repository/org/openrndr/openrndr-application/0.5.1-SNAPSHOT/maven-metadata.xml
          - file:/Users/xxx/.m2/repository/org/openrndr/openrndr-application/0.5.1-SNAPSHOT/openrndr-application-0.5.1-SNAPSHOT.pom
        Required by:
            project :orml-utils

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

Also switching

var orxUseSnapshot = true
var openrndrUseSnapshot = true

to false so it does not rely on snapshot releases fails now with

Execution failed for task ':orml-ssd:compileKotlin'.
> Error while evaluating property 'filteredArgumentsMap' of task ':orml-ssd:compileKotlin'
   > Could not resolve all files for configuration ':orml-ssd:compileClasspath'.
      > Could not find org.openrndr:openrndr-application:0.4.0.
        Searched in the following locations:
          - https://repo.maven.apache.org/maven2/org/openrndr/openrndr-application/0.4.0/openrndr-application-0.4.0.pom
        If the artifact you are trying to retrieve can be found in the repository but without metadata in 'Maven POM' format, you need to adjust the 'metadataSources { ... }' of the repository declaration.
        Required by:
            project :orml-ssd
      > Could not find org.openrndr:openrndr-draw:0.4.0.
        Searched in the following locations:
          - https://repo.maven.apache.org/maven2/org/openrndr/openrndr-draw/0.4.0/openrndr-draw-0.4.0.pom
        If the artifact you are trying to retrieve can be found in the repository but without metadata in 'Maven POM' format, you need to adjust the 'metadataSources { ... }' of the repository declaration.
        Required by:
            project :orml-ssd

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

When using the the OPENRNDR template and uncomment e.g. dbface in

https://github.com/openrndr/openrndr-template/blob/71bb6c61c7ffdd5feca47b8168289a25d1b8c341/build.gradle.kts#L65-L67

yields the following error when trying to run any code in intellij idea

Execution failed for task ':compileKotlin'.
> Error while evaluating property 'filteredArgumentsMap' of task ':compileKotlin'
   > Could not resolve all files for configuration ':compileClasspath'.
      > Could not find org.openrndr.orml:orml-dbface:0.5.1-SNAPSHOT.
        Searched in the following locations:
          - https://repo.maven.apache.org/maven2/org/openrndr/orml/orml-dbface/0.5.1-SNAPSHOT/maven-metadata.xml
          - https://repo.maven.apache.org/maven2/org/openrndr/orml/orml-dbface/0.5.1-SNAPSHOT/orml-dbface-0.5.1-SNAPSHOT.pom
          - file:/Users/xxx/.m2/repository/org/openrndr/orml/orml-dbface/0.5.1-SNAPSHOT/maven-metadata.xml
          - file:/Users/xxx/.m2/repository/org/openrndr/orml/orml-dbface/0.5.1-SNAPSHOT/orml-dbface-0.5.1-SNAPSHOT.pom
          - https://maven.openrndr.org/org/openrndr/orml/orml-dbface/0.5.1-SNAPSHOT/maven-metadata.xml
          - https://maven.openrndr.org/org/openrndr/orml/orml-dbface/0.5.1-SNAPSHOT/orml-dbface-0.5.1-SNAPSHOT.pom
        Required by:
            project :

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

I am somehow always confused by the dependency management systems of programming languages [even python/pip confuses me enough although I code with it professionally] - this holds true for gradle. Isn't a dependency/building system there so it builds stuff for me if its not available?

I found https://openrndr.discourse.group/t/cant-get-orml-to-work/306/4 on the forum but in the end it links to a slack link which one can only visit with a slack account which I do not have.
Maybe it is a naive error of mine, but even if it is it would be good to have it at least documented.

I am using macOS 11.6.2 with openjdk 17.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.