An open API service indexing awesome lists of open source software.

https://github.com/carnivuth/tatodrone

webGL project for my computer graphics exam
https://github.com/carnivuth/tatodrone

computer-graphics computer-graphics-project phong-lighting webgl webgl-programming

Last synced: 11 months ago
JSON representation

webGL project for my computer graphics exam

Awesome Lists containing this project

README

          

# TATODRONE

WebGL project for my computer graphics exam:

The project consist of a 3D scene with a drone that a user can control with keyboard and on screen buttons with dynamic lighting implemented following the Phong model, a demo can be found [here](https://tatodrone.carnivuth.org)

## DEMO
![](demo/demo.gif)

## HOW TO RUN

just clone repo and run `docker compose up -d` to run using the default apache2 image

## REQUIREMENTS

Develop a "3D-WebApp" using WebGL (HTML5, CSS, and WebGL context), JavaScript, and GLSL on the Chrome browser.

Design and implement an interactive 3D application composed of at least one main polygonal mesh object loaded from a file (Wavefront OBJ format). Define an appropriate environment by lighting and texturing the scene objects. Video games or applications named "shooters" and "mazes" are prohibited.
Mandatory graphic requirements

- 3D geometry displayed in perspective projection;
- User input (manage 3D interaction using both the keyboard and the mouse, and optionally a gamepad);
- Lighting and shading (3D objects must be lit by at least one light source);
- Texture mapping (at least two 3D objects must have a texture applied, and at least one should be a photo of the author);
- On-screen control panel (a control panel should be provided, where using text and 2D graphics, the options available to the user are displayed, etc.);
- Ensure that the entire application is also usable on a mobile device (handle touch events);
- Advanced rendering (optional) (from the menu, allow activation/deactivation of at least one advanced rendering technique, such as: shadows, transparency, reflections, bump mapping, etc.).