COMP 3170 Java Computer Graphics Assignment

COMP 3170 Java Computer Graphics Assignment

[ad_1]

COMP 3170 Java Computer Graphics Assignment

Objectives This assignment covers the following topics:

  • 3D modelling with triangular meshes
  • 3D Transformations
  • Perspective cameras
  • Illumination and shading
  • Texturing
  • Transparency

Your task is to build a simple 3D world using height-mapped terrain, with water and lighting effects like this.

Framework A basic framework for the assignment is available via GitHub classroom:

https://classroom.github.com/a/p3fFYFbF

Level files The assignment framework includes a class that loads a level definition from a JSON file. This file includes the following data:

Scene features Your mark will be based on the features you implement, from the list below. Each feature has a mark value attached. Completing more than 100% worth of features will not earn additional marks.

Feature Marks Terrain

– Heightmap mesh generation – Diffuse & ambient lighting

(smooth fragment lighting) – Texturing (one texture) – Texture blending with terrain height

40% 20%

10% 10% Water

– Diffuse & ambient lighting – Transparency – Specular lighting – Ripple effect

5% 5% 10% 5% Camera

– Fly through camera 5% Light – Animated sun 5%

General requirements Your scene should be implemented using:

1) Anti-aliasing using 4x supersampling. 2) Backface culling 3) Mipmaps for all textures (with trilinear filtering) 4) Gamma correction (with a default gamma of 2.2)  COMP 3170 Java Computer Graphics Assignment

Terrain Height map mesh generation: 40% Use the height-map data provided to generate a 3D mesh. The mesh should consist of width by depth points (for the values specified in the level file) spaced in a grid in the x/z axes. The y-coordinate of each point is given by the corresponding value in the height array. These points should be joined into a mesh of triangles. So, a 20 by 20 height map will have 19×19 squares each represented with two triangles, as shown below.

Diffuse & ambient lighting: 20% You should provide a terrain shader that implements diffuse and ambient lighting with the following specs:

– Smooth Phong shading (i.e. in the fragment shader) – Appropriate vertex normals computed by interpolating the face normals of

surrounding triangles – Point light source determined by the position of the sun in the scene.

Texturing: 10% The terrain shader should use a texture to determine the diffuse reflection coefficient of the terrain. The texture should be tiled so each 1×1 square of the terrain contains 1 repetition of the texture. Some appropriate textures are provided in the assignment framework, or you can use a texture of your own choosing, as long as you have a license to use and distribute it. Sources for all third-party assets should be documented in your report.

Textures should use mipmaps and trilinear filtering. Gamma correction should be applied (with a default gamma of 2.2).

Texture-blending: 10% Multiple textures (e.g. grass and rock) are used at different terrain heights (at your discretion), with appropriate blending where they meet. (E.g. underwater terrain could use a sand texture while above water is textured with grass).

Water The water should be a single rectangle with width (x) and depth (z) dimensions to cover the entire terrain. It should sit at the height specified by the ‘waterDepth’ property in the level file. You should provide a specialised water shader to colour this.

Diffuse & ambient lighting: 5% The water shader should implement ambient and diffuse lighting.

Transparency: 5% The water should be semi-transparent showing the terrain below.

Specular lighting: 5% The water shader should also implement smooth specular lighting, reflecting the light source.

Ripples: 5% Implement animated ripples on the surface of the water by changing the normal vector (without changing the mesh geometry).

Camera Fly-through camera: 5% The Camera should be a perspective camera with appropriate settings for field-of-view and near and far planes. The aspect ratio of the camera should dynamically adjust when the window is resized.

The camera controls should implement fly-through controls: Key Movement W or Up Pitch upwards S or Down Pitch downwards A or Left Yaw left D or Right Yaw right Space Move forward (in the direction faced)

Lights The scene should include a sun, rendered as a sphere and be treated as a point light for lighting calculations.

Animated sun: 5% Animate the sun to make it rotate around the scene and change colour appropriately depending on the time of day.

Report The assignment framework includes a report template. Complete the table at the front of the report indicating which of the components above you are attempting. For each component, give an indication of where in the project it is implemented. Failure to submit a complete report carries a 20% penalty.

Submission Assignment code and reports will be submitted through GitHub Classroom. We will mark your last commit before the assignment deadline. COMP 3170 Java Computer Graphics Assignment

Need Help with a similar Assignment?

The post COMP 3170 Java Computer Graphics Assignment appeared first on homeworkcrew.

[ad_2]

Source link

"96% of our customers have reported a 90% and above score. You might want to place an order with us."

Essay Writing Service
Affordable prices

You might be focused on looking for a cheap essay writing service instead of searching for the perfect combination of quality and affordable rates. You need to be aware that a cheap essay does not mean a good essay, as qualified authors estimate their knowledge realistically. At the same time, it is all about balance. We are proud to offer rates among the best on the market and believe every student must have access to effective writing assistance for a cost that he or she finds affordable.

Caring support 24/7

If you need a cheap paper writing service, note that we combine affordable rates with excellent customer support. Our experienced support managers professionally resolve issues that might appear during your collaboration with our service. Apply to them with questions about orders, rates, payments, and more. Contact our managers via our website or email.

Non-plagiarized papers

“Please, write my paper, making it 100% unique.” We understand how vital it is for students to be sure their paper is original and written from scratch. To us, the reputation of a reliable service that offers non-plagiarized texts is vital. We stop collaborating with authors who get caught in plagiarism to avoid confusion. Besides, our customers’ satisfaction rate says it all.

© 2022 Homeworkcrew.com provides writing and research services for limited use only. All the materials from our website should be used with proper references and in accordance with Terms & Conditions.

Scroll to Top