Giter VIP home page Giter VIP logo

comp5411-rendering-project's Introduction

COMP5411-Rendering-Project

Group Information

Group Number: 21 Group Members:

Name Email
Anshuman Medhi [email protected]
Aaron Si-yuan Wang [email protected]

How to run the program

You must run a server that to serve the index.html, tex/ and shaders/ files

The simplest way is to use the python builtin http server

   # In the root of this project folder run
   python -m http.server

After this, open localhost:8000 (or whatever port is is opened) in a browser

Workload Breakdown

Name Contribution Percentage
Anshuman Medhi Writing debugging the lens fragment shader 50%
Aaron Si-yuan Wang Controls, UI and Scene, Debugging the Shader 50%

Lens Parameters:

  • Radius of curvature of each surface
  • Diameter of lens
  • Thickness of glass
  • Position of lens (XYZ)

Major Technical Challenges

The whole project is rendered using multiple passes (one for each lens), this is set up in app.js so that first the scene is rendered, then each lens distorts the scene, outputting a new texture that is fed to the next lens.

The lens distortion fragment shader (shaders/lens.frag.glsl) uses a restricted form of raytracing to simulate how the path of light to the camera is distorted by refraction through the lens, including different refractive indices for the different color components of light.

Libraries Used

Library Link
ThreeJS https://github.com/mrdoob/three.js/
dat.gui https://github.com/dataarts/dat.gui
OrbitControls https://threejs.org/docs/#examples/en/controls/OrbitControls
DragControls https://threejs.org/docs/#examples/en/controls/DragControls
Stats https://github.com/mrdoob/stats.js/
Phong Shading http://www.cse.ust.hk/~psander/metarenderer/

comp5411-rendering-project's People

Contributors

indianboy42 avatar wangaaron78739 avatar

Watchers

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