All Projects → LuXDAmore → generative-art

LuXDAmore / generative-art

Licence: MIT license
🌈🎨 Generative Art is the idea realized as genetic code of artificial events, as construction of dynamic complex systems able to generate endless variations. This is also a nuxt-module (@luxdamore/nuxt-canvas-sketch) - [three.js, tensorflow.js and gsap are not included].

Programming Languages

Vue
7211 projects
javascript
184084 projects - #8 most used programming language
GLSL
2045 projects
CSS
56736 projects

Projects that are alternatives of or similar to generative-art

001
draw_code.001 — ThreeJS, WebGL & GLSL
Stars: ✭ 48 (+17.07%)
Mutual labels:  art, threejs, creative-coding, generative-art
nuxt-humans-txt
🧑🏻👩🏻 "We are people, not machines" - An initiative to know the creators of a website. Contains the information about humans to the web building - A Nuxt Module to statically integrate and generate a humans.txt author file - Based on the HumansTxt Project.
Stars: ✭ 27 (-34.15%)
Mutual labels:  modules, nuxtjs, nuxt-module
nuxt-modules
AX2's Nuxt modules
Stars: ✭ 30 (-26.83%)
Mutual labels:  modules, nuxtjs, nuxt-module
Worlds2
Building Virtual Reality Worlds using Three.js
Stars: ✭ 34 (-17.07%)
Mutual labels:  threejs, creative-coding, generative-art
nuxt-prune-html
🔌⚡ Nuxt module to prune html before sending it to the browser (it removes elements matching CSS selector(s)), useful for boosting performance showing a different HTML for bots/audits by removing all the scripts with dynamic rendering
Stars: ✭ 69 (+68.29%)
Mutual labels:  modules, nuxtjs, nuxt-module
creative-coding-notebooks
🎨 An authorial collection of fundamental recipes on Creative Coding and Recreational Programming.
Stars: ✭ 17 (-58.54%)
Mutual labels:  creative-coding, generative-art, creative
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (+578.05%)
Mutual labels:  threejs, creative-coding, three-js
nuxt-gsap-module
GSAP module for Nuxt.js
Stars: ✭ 183 (+346.34%)
Mutual labels:  gsap, nuxtjs, nuxt-module
Pts
A library for visualization and creative-coding
Stars: ✭ 4,628 (+11187.8%)
Mutual labels:  art, creative-coding, generative-art
JRubyArt
JRubyArt a ruby implementation of processing
Stars: ✭ 87 (+112.2%)
Mutual labels:  art, creative-coding, generative-art
Awesome Creative Coding
Creative Coding: Generative Art, Data visualization, Interaction Design, Resources.
Stars: ✭ 8,696 (+21109.76%)
Mutual labels:  art, creative-coding, generative-art
microbium-app
Draw new worlds
Stars: ✭ 89 (+117.07%)
Mutual labels:  art, creative-coding, generative-art
generative-art-Processing
Processingによるアート作品をまとめたリポジトリです.一部の作品はopenFrameworksで書かれています.This is a repository for art portfolio of Processing art. Some of arts are written in openFrameworks, one of the C++ libraries.
Stars: ✭ 31 (-24.39%)
Mutual labels:  art, creative-coding, generative-art
Urpflanze
A library for developers who want to approach to creative coding, artists who want to approach coding and for those who find it fun to play with math.
Stars: ✭ 118 (+187.8%)
Mutual labels:  art, creative-coding, generative-art
dynamic
Load components initialized through @nuxt/components dyamically.
Stars: ✭ 49 (+19.51%)
Mutual labels:  nuxtjs, nuxt-module
react-text-fun
React meets Blotter.js
Stars: ✭ 51 (+24.39%)
Mutual labels:  creative-coding, generative-art
deep-learning-in-s4tf
Get started with Swift for TensorFlow by examples
Stars: ✭ 31 (-24.39%)
Mutual labels:  tensorflow-tutorials, tensorflow-examples
tensorflow-fifo-queue-example
Example on how to use a Tensorflow Queue to feed data to your models.
Stars: ✭ 39 (-4.88%)
Mutual labels:  tensorflow-tutorials, tensorflow-examples
Blossom
A lovely interactive music generator
Stars: ✭ 162 (+295.12%)
Mutual labels:  art, generative-art
tf-examples
TensorFlow examples
Stars: ✭ 23 (-43.9%)
Mutual labels:  tensorflow-tutorials, tensorflow-examples

🌈🎨 Generative Art || Nuxt Canvas Sketch (three.js, tensorflow.js and gsap)

Code Quality Downloads Dependencies Circle CI Version Donate

Generative Art is the idea realized as genetic code of artificial events, as construction of dynamic complex systems able to generate endless variations. This is also a nuxt-module (@luxdamore/nuxt-canvas-sketch) - [three.js, tensorflow.js and gsap are not included].

💘 Motivation

I'm introducing myself into the Generative art, 3D art, Visual design and Creative coding worlds.

So, why i can't do this with my favorite libraries and framework? Infact, this is also a module for NuxtJS, it inject the canvas-sketch library with canvas-sketch-utils and load-asset (from the creative coder Matt DesLauriers).

After installation, you have access in NuxtJS (on the client-side) at two things, $canvasSketch (the main module, used internally) and at the method $sketch (it starts the sketch).

Check out the src/pages folder for some demos. Every page correspond to an example in the main website.

N.B.: This is a work-in-progress project, I'm learning and testing new things here.


Setup

  1. Install @luxdamore/nuxt-canvas-sketch as a dependency:
    • yarn add @luxdamore/nuxt-canvas-sketch;
    • or, npm install --save @luxdamore/nuxt-canvas-sketch;
  2. Append @luxdamore/nuxt-canvas-sketch to the modules array of your nuxt.config.js.

Configuration

    // nuxt.config.js
    export default {

        // Module injection
        modules: [ '@luxdamore/nuxt-canvas-sketch' ],

        // Module configuration
        canvasSketch: {
            hideErrorsInConsole: false,
            hideGenericMessagesInConsole: false, // `true` in production
        },

    };

Usage

I'm using the sketchManager, because i think with VueJS it's the better way to remove and clean handlers during the destroy phase.

    <template>
        <div class="canvas__container">

            <canvas ref="canvas" />

        </div>
    </template>

    <script>
        // Page, component or layout
        export default {
            data: () => (
                {
                    sketchManager: null,
                }
            ),
            async mounted() {

                try {

                    this.sketchManager = await this.$sketch(
                        // Settings of the sketch
                        {
                            maxPixelRatio: 3,
                            hotkeys: false,
                            // or you can pass a DOMCanvasElement ex.
                            // document.querySelector( 'canvas' )
                            canvas: this.$refs.canvas,
                        },
                        // Method for the rendering
                        this.sketch,
                    );

                    // Ensure every listener is removed on-component-destoy
                    this.$once(
                        'hook:beforeDestroy',
                        () => this.sketchManager.unload()
                    );

                } catch( e ) {

                    console.error(
                        e
                    );

                }

            },
            methods: {
                sketch({ context }) {

                    // Here you start coding-art

                    return ({ context }) => {

                        // Here you can return some animated stuff

                    };

                },
            },
        };
    </script>

    <style scoped>
        canvas {

            position: absolute;
            top: 0;
            left: 0;
            z-index: 1;
            display: block;
            width: 100vw;
            height: 100vh;
            margin: 0;
            padding: 0;

        }
    </style>

Related things

ThreeJS

There are lots of examples based on threejs, but it's not included, You can install the library with:

    # cmd
    yarn add three # or npm install --save three

There si also a ThreeJS starter template based on the plugin.

Gsap (GreenSock)

There are some examples based on the gsap library, but it's not included, You can install the library with:

    # cmd
    yarn add gsap # or npm install --save gsap

Check the layout navigation example.

Tensorflow - Machine Learning and face recognition with Facemesh

TensorFlow.js and Facemesh are not included, but you can follow the installation process here:

    # cmd
    yarn add @tensorflow/tfjs-backend-cpu @tensorflow/tfjs-converter @tensorflow/tfjs-core # or npm install --save @tensorflow/tfjs-backend-cpu @tensorflow/tfjs-converter @tensorflow/tfjs-core

There si also an example with ThreeJS and Tensorflow based on the plugin.


Extra Resources

CanvasSketch

ThreeJS and Shaders

Videos about creative coding and 3D art


👩🏻‍💻👨🏻‍💻 Development

  1. Clone the repository:
    • git clone https://github.com/LuXDAmore/generative-art.git;
  2. Install dependencies:
    • yarn install (or npm install);
  3. Start a development server:
    • yarn dev (or npm run dev);
  4. Test your code:
    • yarn test (or npm run test);
  5. Extra, generate the documentation (Github Pages):
    • yarn generate (or npm run generate);
    • the content is automatically generated into the /docs folder.

🐞 Issues

Please make sure to read the issue reporting checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.

📝 Discussions

We're using Github discussions as a place to connect with other members of our community. You are free to ask questions and share ideas, so enjoy yourself.

👥 Contribution

Please make sure to read the contributing guide before making a pull request.

📖 Changelog

Details changes for each release are documented in the release notes.

🆓 License

MIT License // Copyright (©) 2019-now Luca Iaconelli

💼 Hire me

Contacts

💸 Are you feeling generous today?

If You want to share a beer, we can be really good friends 😄

Paypal // Patreon // Ko-fi

It's always a good day to be magnanimous - cit.


💘 Inspired by

All my thanks goes to Matt DesLauriers and Yuri Artyukh for those useful libraries and tutorials.

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