Giter Site home page Giter Site logo

wallpaper-engine's Introduction

Wallpaper-Engine

A wallpaper engine that allows you to run custom fragment shaders on your wallpaper.

Video Demo

video.mp4

Writing Wallpapers

Here is an example of a basic wallpaper:

#section metadata
name: "Super Cool Shader" # the title of the shader
uniforms
  float: 
    testFloat:            # name of the uniform in GLSL
      name: Test Float    # the name that will be displayed next to the slider
      min: 0.0            # the max slider value
      max: 1000.0         # the max slider value
  int: {}                 # we have no int uniforms
  bool: {}                # we have no boolean uniforms

#section shader
#version 330 core

out vec4 FragColor;       // Output color for pixel

uniform vec2 iResolution; // Screen width and height
uniform vec2 iMouse;      // Mouse position on screen
uniform float iTime;      // Time in seconds since application started

uniform float testFloat; 

void main(){
  FragColor = vec4(1.0);
}

There are sections to a wallpaper: metadata and shader. The metadata section allows you to write metadata about the wallpaper in YAML format. The other section, shader is where the glsl source code goes and is mandatory. You get access to a few default uniforms iResolution, iMouse and iTime. Any other uniforms you add will appear on the control menu for you to use them.

Build Instructions

Windows

git clone https://github.com/Spacerulerwill/Wallpaper-Engine --recursive
cd WallpaperEngine/tools
configure
cd ../build
WallpaperEngine.sln

Once you are in the solution you can build and run the project like normal.

wallpaper-engine's People

Contributors

spacerulerwill avatar

Stargazers

 avatar Yonggen avatar Will Felton avatar  avatar Thomas Yonaha-McCoy avatar Jingjun avatar William 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.