▶ https://sapienzainteractivegraphicscourse.github.io/final-project-triomonnezza/
| Studente | Matricola |
|---|---|
| Davide Timperi | 1950722 |
| Alexandru Vivian Pita | 1948533 |
| Federico Mendiola | 1986026 |
Interactive Graphics Course Prof. Marco Schaerf
Dept. of Computer, Control and Management Engineering (DIAG) Sapienza University of Rome marco.schaerf@uniroma1.it
Interactive Graphics: Project 1
Project requirements 1/2
• You choose the theme
• Can be done in groups of 1 to 4 person
• You can use «basic» WebGL or advanced libraries, such as ThreeJS (http://threejs.org/) or Babylon (http://babylonjs.com/) or others (in this case I must approve them)
• You can use models created with a modeler or found on- line. YOU CANNOT IMPORT ANIMATIONS
Interactive Graphics: Project Pagina 2
Project requirements 2/2
• The project MUST include: – Hierarchical models • At least one complex model – Lights and Textures • At least one light, textures of different kinds (color, normal, specular, ...) – User interaction • Depends on your theme, as an example: turn on/off lights, change viewpoint, configure colors, change difficulty, ....
– Animations • Most objects should be animated, in particular the hierarchical models should perform animations that exploit their structure. ANIMATIONS CANNOT BE IMPORTED, should be implemented by you in javascript (WebGL, ThreeJS or other approved library)
Interactive Graphics: Project Pagina 3
Library for smooth animations
• For smooth animations I suggest using tween.js https://github.com/tweenjs/tween.js/ • See here the documentation: https://github.com/tweenjs/tween.js/blob/master/docs/us er_guide.md • It includes Easing functions to accommodate for different interpolation functions
Interactive Graphics: Introduction Pagina 4
Physics Engines in JS
The following Physics engines (amonog others) are available in javascript and can be integrated with WebGL, ThreeJS and BabylonJS:
- Cannon.js: https://schteppe.github.io/cannon.js/ is a lightweight implementation that can be integrated with all libraries
- Ammo.js: https://github.com/kripken/ammo.js/ is a javascript port of Bullet. Can be integrated with all libraries
- Physijs: https://chandlerprall.github.io/Physijs/ is built on top of Ammo.js to make it simpler its integration with ThreeJS
Physics Engines in the project
• You are not required to use a physics engine in your project, but (depending on the subject of your project) it might help to make it more realistic. • If you use it, choose the one that is more easily integrated in your project and that is fast enough. Use it only if it does not slow down too much your project
Project steps
- Come up with an idea for a possible project
- Activate your GitHub Classroom repository at this URL https://classroom.github.com/a/FF_gLfB- register all the team members and create your project there. This repository should contain ALL the source code (including the used libraries) plus the documentation
- Work on the project, before the deadline please activate GitHub Pages in the main directory and check that your project is executable on GitHub. Put the link in the README file.
- Register in Infostud in the correct session and send me email (before the deadline) that you completed the project and it can be evaluated
Interactive Graphics: Project Pagina 7
Project presentation
• The accompanying document should be both a technical presentation and a user manual and contain: – Description of the environment used (basic WebGL or other) – List of all the libraries, tools and models used in the project but not developed by the team – Description of all the technical aspects of the project – Description of the implemented interactions – The length is up to you, at least 5-10 pages
Interactive Graphics: Project Pagina 8
Deadlines
• The project MUST be completed by one of these deadlines: – June 20
th 11.59pm (to be discussed on the exam date of June
24th) – July 12th 11.59pm (to be discussed on the exam date of July 16th) – August 28th 11.59pm (to be discussed on the exam date of September 1 st)
– 4 days before the next exam dates (up to February 2027, last opportunity to complete the exam)
• When a deadline comes all completed projects will be marked.