Giter Club home page Giter Club logo

anime-shaders's Introduction

Anime Shaders

lucy

Non-Photorealistic Shading Techniques for Anime-Style Rendering
Andy Qu*, Shuhong Chen*, Matthias Zwicker*
University of Maryland, College Park
Department of Computer Science
[github] [paper]

Shaders have historically played a crucial part in drawing 3D models onto a computer screen as they have been an important component in computer games, movies, and simulations. As a result, various well-known shading methods and techniques have been used to suit a multitude of purposes and environments, including Flat, Gouraud, and Phong shading. Of the many shading methods, some can be used to mimic photorealism while others have been utilized to achieve different results, including a cartoon-ish depiction. In our work, we create GLSL and Python implementations of some of the classically known shading techniques as well as other non-photorealistic shaders that aim to mimic the Anime-like style.

Setting Up

Prerequisites

  • latest edition of Mozilla Firefox
  • an installation of Python
  • an installation of a package manager for Python (either Anaconda or pip)
  • a Python environment with PIL/pillow and numpy installed
  • the security.fileuri.strict_origin_policy setting set to false when accessing about:config on Firefox
  • a clone of this repo on your computer

Instructions

Each of the top-level directories prepended with the prefix ThreeJS contains a runnable Three.js world. To run them, simply run the index.html file on Firefox. Some of the worlds can give you the option to change the 3D mesh being drawn or the shader being used. If you would like to change either the mesh or the shader, look into the main.js file in that world's respective directory and simply change the values of the shapeOption or shaderOption variables, respectively.

A few of the top-level directories are named with the prefix ThreeJS-Python. These are also Three.js worlds that include Python implementations that help with drawing suggestive contours of models. To run them, please use the following command from within the dicrectory:

python sugg_contours.py

If you are running this command for the ThreeJS-Python_Altogether world, please ensure that the final.png, sugg_contours.png, base.png, viewers.png, normals.png, and ws.png files are present within the directory as they are needed for the script to run.

Similiarly, when running this command for the ThreeJS-Python_Multipass_Suggestive_Shading world, make sure that the sugg_contours.png, contours.png, viewers.png, normals.png, and ws.png files are present within the directory.

Technologies Used

Artist Acknoledgements

anime-shaders's People

Contributors

toastymcvoid avatar shuhongchen avatar

Stargazers

 avatar

Watchers

James Cloos avatar  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.