Giter Site home page Giter Site logo

lucid's Introduction

Lucid

Mixed-Reality Psychedelia

Header img

Lucid?

A mixed-reality application which allows users to design and experience psychedelic visualisations through their browser and virtual-reality headsets.

Landing page

Stack

Stack

This application leverages an array of excellent resources including Three.js for visualisations, React and Google’s Material Design language for user interface, Redux for state management, and Webpack for bundling.

App outline

Process

Lucid takes a low-resolution video feed from the user’s device. This video is used for a material texture which is then applied to mesh geometry.

Mesh rotation is controlled by the user’s device orientation, allowing the user to view the interior of the geometry simply by moving their head.

The scene is then passed through a number of shaders before being rendered out stereoscopically for virtual-reality headsets.

Shape settings

Shape Settings

The Shape settings panel is used to control the user’s view of the geometry as well as the shape of the geometry.

Overview mode

Overview / World View

By clicking the ‘Get Overview’ button, users can get an outside perspective of how the shape, texture and shaders are affecting the rendered output. This is handy when designing lucid experiences.

Shape geometry

Shape Geometry

The ‘Shape Geometry’ drop-down allows users to control what 3D shape the video texture is rendered on, affecting the output of the visualisation dramatically.

Texture settings

Texture Settings

Texture settings are used to control how the video texture is mapped onto the geometry.

Tile count

Tile Count

Tile count defines how many repetitions of the video texture are to be applied. The repetitions are applied seamlessly by being flipped horizontally and vertically at each row and column, making for interesting patterns.

Rotate texture

Rotate Texture

Rotate texture indicates whether or not an offset should be applied to the texture UV mapping. If so, the speed of this offset can be controlled using the X and Y sliders.

Shader settings

Shader Settings

Lucid features a shader pipeline which allows users to activate and rearrange various filters before the scene is rendered.

Shader types

Shader types

The fragment shaders included in the application either further distort the visual output (such as those featured above), or act as utilities for adjusting the colour, brightness or contrast of the image.

Shader order

Shader Order

The order in which shaders are arranged is super important when designing visualisations. Accordingly, Lucid allows users to drag-and-drop shaders to taste.

Shader visuals

Designed and developed by Ryan Achten (2018)

lucid's People

Contributors

ryanachten avatar

Stargazers

Tikken avatar  avatar

Watchers

 avatar

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.