Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
TITLE:Graphics Coursework
This coursework is worth 30% of the total marks available for this module.for late or non-submission is an award of zero marks.
INSTRUCTIONS
Complete the JOGL programming tasks as described on the following pages. Submit a .7z or .zip archive with the following contents:
the modified source code CGCW01.java and CGCW02.java, the new source code file CGCW03.java, and any other additional files (e.g., SCone.java, SCube.java, texture.vert and texture.frag, etc) with clear, concise comments in the code;
Your programs have to be compilable. Programs that cannot be compiled will be awarded zero marks. If I cannot compile your program I will contact you, but only clarifications of how to compile the submitted source code on a suitable platform will be accepted, and no amendments to the source code will be accepted.
You may copy small code fragments from
any recommended and background textbooks for CM3114, including from the printed text, CDs/DVDs, websites, etc. for the textbook,
provided that your source code contains clear reference to the origin of the code. You may not reproduce code written by any other student or code obtained from any other source not mentioned above. If you are in doubt about whether you may include a code fragment that you have not written yourself, ask the lecturer.
Use the laboratory classes to get guidance in doing this exercise. You are encouraged to contact me by e-mail if you have any queries; it may well be possible for me to answer them almost immediately. If necessary you are welcome to arrange to come and see me individually about the coursework. But the meeting is only for clarifications about the question, not for help in solving the problem.
FURTHER DETAILS
Feedback on your coursework will address the above criteria and will be returned in approximately 15 working days. This will be supplemented with oral feedback in the lectures and/or tutorials. If you have any questions relating to your individual solutions talk to the tutor or the lecturer.
CM3114 Graphics Coursework (2018/19)
This coursework consists of 3 individual JOGL programming tasks. Partially functional programs are provided. Download the file CGCW.7z from the Assessment section in Learning Central. You are required to modify the provided programs and submit your new versions. You should be able to do the first task after week 5, the second after week 6, and the third after week 7’s lectures.
1. Interactive Transformations [25]
The purpose of this task is to implement interactive model–view transformations with keyboard input. You need to modify the source code CGCW01.java.
The initial program has implemented the rendering of an object (teapot) and allows interactive enlarging of the object. Comments in the program show where you should add code for tasks (b) and (c), but you should find the location yourself for task (a). You are required to
The purpose of this task is to build a 3D polygonal model, and render a scene including more than one object with different material properties. You need to modify the source code CGCW02.java and create a new file SCone.java used in CGCW02.java.
The initial CGCW02.java program has implemented rendering one object (a sphere). You are required to
The purpose of this task is to perform texture mapping onto a 3D cube. Write a program CGCW03.java to implement texture mapping on all six sides of a cube object. You need to create an SCube class extended from SObject, which defines the vertices, normals, and texture coordinates of a cube. You also need to write your own vertex and fragment shaders (called Texture.vert and Texture.frag), which should implement blending of texture and Gouraud shading. You can use Gouraud.vert and Gouraud.frag as initial shaders, and add texture mapping in the shaders to form Texture.vert and Texture.frag.
A texture file WelshDragon.jpg is provided. The rendered image should look like the following picture, but it is not required that your rendering result should have exactly the same viewpoint as this.