当前位置:天才代写 > JAVA代写,java代考-JAVA作业代写免费Moss检测 > JOGL-OpenGL代写 | CM3114: Graphics

JOGL-OpenGL代写 | CM3114: Graphics

2019-09-22 00:40 星期日 所属: JAVA代写,java代考-JAVA作业代写免费Moss检测 浏览:1846

JOGL-OpenGL代写 The purpose of this task is to implement interactive model–view transformations with keyboard input. You need to modify the source code CGCW01.java.

SCHOOL OF COMPUTER SCIENCE & INFORMATICS COURSEWORK ASSESSMENT


代写成品展示:

JOGL-OpenGL代写
JOGL-OpenGL代写

 

MODULE & LECTURER:

CM3114: Graphics, X. Sun

DATE SET:1st November 2018

SUBMISSION DATE: SUBMISSION ARRANGEMENTS:7th  December 2018

SUBMISSION ARRANGEMENTS:

Upload your solutions onto Learning Central in the CM3114 module Assessment Coursework section by

the 7th of December 2018, 9:30am.

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. You are reminded of comply   with   Cardiff   University’s   Student   Guide   to  Academic  Integrity. Your

e submitted using the official Coursework Submission Cover  Sheet, which can

https://docs.cs.cf.ac.uk/downloads/coursework/Coversheet.pdf

INSTRUCTIONS

Complete the JOGL programming tasks as described on the following pages. Submit a .7z or .zip archive with the following contents:

  • theofficial Coursework Submission Cover Sheet filled in with your details;

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;

  • a plain text file called ‘README’ clearly indicating which features you have

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

  • the CM3114 handouts, notes, tutorials and labclasses;

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

  • find an appropriate location in the program and add suitable definitions for additional parameters that are required for the transformationsbelow;
  • fillin code in the function keyPressed() to calculate the parameters;
  • fill in code in the function display() to perform the The transformations to be implemented are:
  • onpressing the key ‘M’, the object should expand; (this function has already been implemented)
  • on pressing the key ‘N’, the object shouldshrink;
  • on pressing the Left/Right arrow key, the object should moveleft/right;
  • on pressing the Up/Down arrow key, the object should moveup/down;
  • onpressing the key ‘X’/ ‘C’, the object should rotate around the x axis clockwise/anti-clockwise;
  • onpressing the key ‘Y’/ ‘U’, the object should rotate around the y axis clockwise/anti-clockwise.

2. Modelling and Lighting [35]

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

  • create a new class SCone extended from SObject, which builds a cone model. It is expected that  theclass SCone works like the class SSphere provided for rendering the sphere, except that SCone is used for rendering a cone;
  • in the function init() in CGCW02.java, add code to create a cone, and set its material to one which    is different to thesphere’s;
  • inthe function display() in java, add code to transform the sphere and cone to appropriate positions so that the rendered image looks like that shown in the following picture.
JOGL-OpenGL代写
JOGL-OpenGL代写

3. Texture Mapping [40]

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.

JOGL-OpenGL代写
JOGL-OpenGL代写

 

 

天才代写-代写联系方式