Rubric

Keep in mind that 40 students have already been assessed using this rubric. Changing it will affect their evaluations.
Assignment 5 Rubric
Assignment 5 Rubric
Criteria Ratings Pts
2r. The user can click on a cylinder to highlight it (on and off).
This is for a single object. If the user clicks on the object, it becomes highlighted. If they click on the background, it becomes un-highlighted. To highlight, there are various techniques. The simplest is to have a uniform bool (or a float) that is true of false depending on whether the object is clicked. Then, if it's true, we add onto our final color calculation a fixed color (0.1,0.1,0.1,0).
threshold: pts
1 pts Full Marks
0 pts No Marks
pts
1 pts
--
3r. The objects on the canvas are displayed with a perspective projection (rather than the default orthographic).
Specific parameters (LookFrom/etc) can vary. However, difference should be noticeable and not distracting. To do this, you should make 2 new uniforms: u_ViewMatrix and u_ProjMatrix. Then, after setting them (as shown in the Matsuda/Lea 'PerspectiveView' example), pass them to the shader, where your positions are then multiplied by the matrices.
threshold: pts
1 pts Full Marks
0 pts No Marks
pts
1 pts
--
1r. When the user clicks on the canvas, the color of the clicked pixel is printed to console.
threshold: pts
1 pts Full Marks
0 pts No Marks
pts
1 pts
--
1e. Implement part of your UI within the canvas. At least 2 interactable items should be put inside the canvas.
For example, you might have some HTML buttons that control some aspect of your assignment. Turn those buttons/sliders/etc into interactable objects on the canvas. For example, you could have a square on your canvas that, when clicked, turns the lights on and off.
threshold: pts
1 pts Full Marks
0 pts No Marks
pts
1 pts
--
2e. Implement a button (HTML or canvas) that toggles between orthographic and perspective projection.
Specific parameters (LookFrom/etc) can vary. However, difference should be noticeable and not distracting. To do this point, you should make 2 new uniforms: u_ViewMatrix and u_ProjMatrix. Then, after setting them (as shown in the Matsuda/Lea 'PerspectiveView' example), pass them to the shader, where your positions are then multiplied by the matrices.
threshold: pts
1 pts Full Marks
0 pts No Marks
pts
1 pts
--
3e. Have a slider that changes the near/far planes
For full credit, we should be able to see clipping at some point. See this example: http://rodger.global-linguist.com/webgl/ch07/OrthoView_halfSize.html
threshold: pts
1 pts Full Marks
0 pts No Marks
pts
1 pts
--
4e. Have a button that, when pressed, teleports the camera to view the scene at a different angle.
This can be a fixed position (finer camera movements will be required in a later assignment). We should be able to see your objects at a significantly different angle (e.g. from the top right, from behind, etc).
threshold: pts
1 pts Full Marks
0 pts No Marks
pts
1 pts
--
5e. Be able to click and highlight between multiple objects.
This only applies if you implemented multiple objects. If you click on an object, all other highlights turn off, and the clicked object is highlighted. If the background is clicked, all highlights are removed.
threshold: pts
1 pts Full Marks
0 pts No Marks
pts
1 pts
--
6e. Have objects light up a different color when the mouse is hovering over them.
threshold: pts
1 pts Full Marks
0 pts No Marks
pts
1 pts
--