This Assignment Covers The Following Topics 3d Modelling With Triangular Meshes 3d T 3107162

COMP330 Assignment 3
Objectives
This assignment covers the following topics:
• 3D modelling with triangular meshes
• 3D Transformations
• Perspective and Orthogonal cameras
• Illumination and shading
o Flat shading
o Smooth shading
• Texturing
• Transparency
• Screen-space Effects
Your task is to build a simple 3D world using height-mapped terrain, and implement a player
that moves around in the world, controlled using the arrow or WASD keys. You then have
the option of improving this world by implementing a variety of features.
Framework
A basic framework for the assignment is available via GitHub classroom:
https://classroom.github.com/a/qpKm8fZc
This includes:
• code for loading level files from JSON in main.js
• code for loading textures from PNGs in texture.js
• the glMatrix library for 3D vectors and matrices
• a selection of free textures from OpenGameArt
Level files
The assignment framework includes a class that loads a level definition from a JSON file.
This file includes the following data: Document Preview:

COMP330 Assignment 3 Objectives This assignment covers the following topics: • 3D modelling with triangular meshes • 3D Transformations • Perspective and Orthogonal cameras • Illumination and shading o Flat shading o Smooth shading • Texturing • Transparency • Screen-space Effects Your task is to build a simple 3D world using height-mapped terrain, and implement a player that moves around in the world, controlled using the arrow or WASD keys. You then have the option of improving this world by implementing a variety of features. Framework A basic framework for the assignment is available via GitHub classroom: https://classroom.github.com/a/qpKm8fZc This includes: • code for loading level files from JSON in main.js • code for loading textures from PNGs in texture.js • the glMatrix library for 3D vectors and matrices • a selection of free textures from OpenGameArt Level files The assignment framework includes a class that loads a level definition from a JSON file. This file includes the following data: level.json – an example level { “heightmap”: { “width”: 10, “depth”: 10, “height”: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 2, 1, 0, 0,0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] } “player”: { “position”: [1,1], “heading”: [1,0] } “trees”: [ 3, 5, 5.5, 8.2 ] } This defines height map, consisting of a 10×10 grid of points with different heights, and a player at position (1,1) on the map, initially facing in the X direction (1,0). There are trees at positions (3,5) and (5,8). A simple framework has…

Attachments:

Assignment-3.pdf

Prof. Angela

4.6/5

Calculate Price


Price (USD)
$
Need Help? Reach us here via Whatsapp.