Giter VIP home page Giter VIP logo

the_force's Introduction

The Force

Life creates it, makes it grow. Its energy surrounds us and binds us. Luminous beings are we, not this crude matter. You must feel the Force around you; here, between you, me, the tree, the rock, everywhere, yes.

Force felt by Obi-Wan Codenobi for use in live-coding performances with The Wookie. Together they travel as The Rebel Scum.

Thank you Char Stiles for teaching others to use The Force.

API

If you're looking for which functions are built-in, then give the wiki API a look.

Additionally helpful to know

  • The_Force/shaderExperiments contains several examples to get you started
  • Workshop Notes contains some hand-written information and a few more example shaders
  • The_Force/help contains helpful documents, including instructions to run local/offline (it's easy!)
  • line in and microphone only work in Google Chrome, and requires HTTPS
  • ctrl+shift will toggle text visibility
  • backbuffer is a copy of the previous frame's frontbuffer
  • 512 fft in row 0; waveform in row 1
  • keyboard data in row 0 of texture (channel0) - not recently tested
  • open file is not totally safe; it's only checking for filename extension ".frag"
  • images save as .png

To Do

  • fix popup menu styling
  • fill in more help window
  • DnD into text editor window
  • cubemap input

Sources

the_force's People

Contributors

brucelane avatar chovin avatar diiigle avatar hangtwenty avatar hartmann-richard avatar illus0r avatar juanfds avatar lozord avatar shawnlawson avatar solsarratea avatar

Stargazers

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

Watchers

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

the_force's Issues

Auto-Repeat audio

During the development of an audio-reactive shader, it would be cool if there would be an option to auto-repeat the audio that is loaded from SoundCloud, so that I can close the Audio-Input window and concentrate at the iterations of the shader.

theming

Hey, I was just trying to use another theme from Ace. Specifically I was trying to find a theme that might work well w/ this thick text bordering -- source, preview

I'm just trying to go for something I can read against some reaaaally abrasive visuals where I can't even find my mouse sometimes ๐Ÿ˜›

I tried copying in a JS file and CSS file but maybe Ace changed the way themes are selected, sometime since you inlined the source ... any clue? No worries if not, just figured I'd ask before digging deeper

Mic/Line Input fails without https

Chrome doesn't seem to ask for permission to use mic input on http sites, so might be worth redirecting http to https?

Alternatively, the error message when it fails could suggest trying again after loading over https.

Workshop files

None of the workshop files work in the live version, I keep getting a error on vec3 saying its not valid.

tutorial

Create a tutorial in the wiki

Get the previous webcam frame

Hi, I wanted to create an effect where I take the difference of the current and the previous webcam frame to detect motion. I tried something like this:

void main () {

    vec4 w1 = texture2D(channel0, uvN());
    vec4 w2 = texture2D(backbuffer, uvN());
    vec4 test = w1 - w2;

    gl_FragColor = vec4(test) ;
    
}

But this doesn't work because it subtracts the previous output frame (instead of the previous webcam frame) from the current webcam frame, which leads to a flickering effect. So my question is simply, is there a way for me to access the previous webcam frame?

Thanks so much for this tool, it is really fun to play around and learn with.

Extending the amount of texture slots

The texture panel is limited to 4 active textures and 16 available ones.

Could this be updated to store more of them?

Also, how many active textures could be used at the same time?

Bands global variable doesn't work in chrome when it remembers mic permissions

Hi!
Thanks for making the force.

The bands input only works on chrome on first access to microphone permission. When you reload the page chrome remembers that you give it permission but bands continues to be all 0 value. Weird thing is that the files on system (file tab) also only work depending if your chrome remembers permission or not.

The error in the console is:
pageGlobals.js:436 Uncaught TypeError: mSound.mStream.stop is not a function at initAudio (pageGlobals.js:436) at HTMLInputElement.<anonymous> (pageGlobals.js:265) at HTMLInputElement.dispatch (jquery-2.1.1.min.js:3) at HTMLInputElement.r.handle (jquery-2.1.1.min.js:3)

It works fine in Firefox, even when you press "remember permission" and reload the page, then the bands global just starts working right off the bat. I can look into this myself next week, but I thought I'd make an issue in case its an easy fix.
Cheers.

Play/stop music via keyboard

HI Shawn,

First of all, thank you for creating the The_Force.
It is super easy to create audio reactive shaders with it <3

I was wondering if you and others might also find useful adding a keydown event with the space bar, or any other key, to toggle the music's play/stop functions?

I thought of it as I was using this:

  • ctrl+shift will toggle text visibility

and I wanted to access the music without having the code on the screen, nor the pop-up, for recording purposes.

Advanced Code-completion for builtins via snippets

Right now I observe nice code-completion for snippets. The dropdown menu gives me clues about the arguments the function takes; then I can select with the arrow keys and when I press enter, the function populates with dummy type-names where I need to put the parameters.

Builtins show up in the code-completion selector, 1. without any parameter clues and when the user selects them with enter, 2. there are no dummy values.

Builtins have overrides, sometimes a lot. I think usually these overrides are just for the different vector (and float) types, rather than optional arguments. Rather than displaying every version of the override, it's probably more desirable to show only one version, with a generic 'dummy type-name.' The glsl documentation I have on hand uses the term 'genType' or 'genDType' for this pseudo-generic type.

This more advanced code-completion for builtins would be very helpful for newcomers, or even oldcomers with cruddy recall.

Right now builtins are entered as 'keywords' rather than 'snippets.' I suggest they be moved into 'snippets', but with another tag name (so that they are distinguished from snippets). I don't see much point in duplicating the functions as snippets and keywords.

Allowing animated gifs as textures

Right now gifs can be uploaded as textures.

However, they aren't animated and instead get frozen at some frame, it'd be nice to have them animated.

Recording of usage of The Force. An animated gif displaying a cartoon rock is uploaded and used in the shader to show that the image rendered is frozen in a frame instead of being animated.

fractal and turbulence

these two functions are mentioned in the info, but don't appear to be defined. <3 love this tool by the way!

hotkey or UI button to hide code

When I think about performing with this tool, I'm actually thinking about some pretty simple visuals with slow changes ... and only changing code sometimes. I like the idea of showing the code when I'm changing it, but maybe hiding it when I leave the code alone, and start playing with synths. To support a use-case like this, it could be cool to hide the code sometimes.

None of the examples seem to work

Hi,

I've copied and pasted about half of the examples in the examples folder (The_Force/shaderExperiments) into the editor and none of them seem to work. They all just change the background color. That doesn't appear to be intended based on the name. Perhaps they need to be updated?

i'm using a macbook pro, Mojave 10.14.6
tried on both chrome (81.0.4044.129 (Official Build) (64-bit)) and firefox (68.6.1esr (64-bit))
same results.

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.