28 research outputs found

    TINSL: Tinsl Is Not a Shading Language

    No full text
    The fragment shader is a powerful, efficient tool for image processing. However, shaders are often unwieldy to use, even for simple post- processing operations. We have developed multiple systems in order to simplify the use of fragment shaders for image processing, and applied these systems across different domains, including live coding, creative coding and game development. Through this iterative process, it became clear that a custom domain-specific language (DSL) could simplify the authorship of a non-trivial rendering pipeline that involves multiple fragment shaders. As a result, we developed Tinsl (Tinsl Is Not a Shading Language) which is a DSL for specifying multipass render-to-texture (RTT) post-processing effects. This language uses the familiar syntax of GLSL, but adds semantics for specifying how to utilize temporary textures. This “shader metaprogramming system” enables live coders, creative coders and game developers to create complex post-processing effects that involve feedback and multipass blurs in a single file. We evaluate the effectiveness of this system using Petre and Greene’s cognitive dimensions framework to provide a qualitative analysis. We also perform a user study that gathers feedback from participants who were asked to follow a short tutorial on the language in a web-based creative coding environment. We released the software as a set of open-source libraries and programming environments

    The Thomas Davenport Electric Motor

    No full text
    Thomas Davenport was an early 19th century inventor that came from humble beginnings. In the 1830s, he created an electric motor capable of rotational motion instead of simple oscillatory motion. Despite the ubiquity of electric motors today, Thomas Davenport’s invention was underappreciated during his lifetime. Our goal was to rebuild a working replica of Thomas Davenport’s replica, as well as explore the efficacy of creating an artificial permanent magnet along the way
    corecore