Skip to main content

CS 559 Spring 2019 Course Web

Course web for the Spring 2019 Computer Graphics Class

Assignments 11 and 12: Graphics Town

Assignments 11 and 12 are posted.

The description is on the course web at the Graphics Town page.

The Canvas pages have links to the GitHub classroom page so you can clone the repo. There is only one GitHub classroom page / repo for both assignments. You put your work for both assignments into this one repo.

If you want to see the framework in action with the simple examples, check out this page.

We are aware that you have less than 2 weeks to do this assignment. Keep your eyes open for announcements.

Workbook 10 Extension

Because we didn’t get as far into explaining shaders as I had hoped, we are extending the deadline for workbook 10 until Wednesday, April 24 (instead of the current Tuesday, April 23rd).

In class on Tuesday, we will walk through some of the examples from the workbook and give more explanation, which should help people do this workbook.

Update on Grading

I had promised to give you some idea as to how we will figure out “Bonus Points”.

But first: what the bonus points do (since there seems to be some confusion).

For the workbooks: you receive a grade F-AB. These show up on Canvas as 0-3.5. So, a 3.5 is the best grade you can get on a 3.5. Canvas will tell you that you have an 87.5 percent (3.5/4). Similarly, Canvas will tell you that you are getting 50% when you have a C.

You assignment/workbook grade is the average of the workbooks after dropping the lowest 2. So it is an average over 10 workbooks (there will be 12 total this semester). You “bonus point addition” gets added to this.

Your exam grade (curved) is also on the same F-A scale (so an A=4). We will grade the final on the same scale. The final is worth more than the midterm.

All of that was on the course policy page (except that Canvas decides to show you things in percents).

The thing that isn’t in the policy page: how will we determine the “bonus point addition” (the up to 1/2 a grade we add to the workbook average).

This is tricky because (1) it wasn’t clear how many bonus point opportunities there were going to be over the course of the semester, (2) not all bonus points are the same, and (3) not all bonus points were awarded the same way. For example, in workbook 2, we gave separate bonus points for each little piece of making fireworks, but on Workbook 5, implementing  arc length parameterization was only 1 line item.

How we’ll do this:

Each bonus point will be assigned a value 1-4. Small Things are 1, the biggest things will be 4. The exact assignment of points is still being worked out, and may not be known until we do the final grading. All bonus points will worth at least 1. Right now, it looks like we’ve had about 55 points from 36 possible bonus points on the first 6 assignments. I expect the second half of the assignments to have around the same amount of possibilities.

There won’t be a hard cutoff to get the bonus point addition. We’ll do linear interpolation. If you get more than (approximately) 30% of the points, you will get some addition. It you get (approximately) 60% points or more, you get the full .5 addition. I am not picking the exact values, because I might want to be more generous in the end (I will only lower the thresholds, not raise them). It might be more like 25%-50%.

Workbook 10

Workbook 10 should be released soon (when Canvas feels like it). If you’re eager, you can start at: https://classroom.github.com/a/_DxckH1E

We will accept workbooks until Tuesday, April 23rd. We don’t care when before then you turn it in. The Friday “deadline” doesn’t mean anything for this assignment. However, you must turn it on or before Tuesday, April 23rd.

Painting Normal Maps by Hand

You need to paint normal maps for Workbook 9.

I am aware that this is hard – how do you know what to paint for XYZ?

The idea is I want you to try simple things so you can get an idea of what the results are. You can learn by experimenting.

Of course, it’s hard, since you need to think of what do colors mean, and then figure out how to make meaningful patterns of colors.

Remember: since things go from +/- 1, the “zero” is halfway on the color scales. Since colors go from 0-255, halfway is 127/128. So:

  • The Z Vector (0,0,1) is pale blue (0x8080FF)
  • The X Vector (1,0,0) is red (0xFF8080)
  • The Y Vector (0,1,0) is green (0x80FF80)

In principle, your vectors should be unit length – but they should be normalized in the shader (so being precise is not important).

To see what is is like to paint textures using bad tools (I usually use Photoshop for image editing, but I realize most people neither have it, nor have the time to learn to use it), I decided to try to make a normal map using a free, online editor that is very much not meant for normal map editing: https://pixlr.com/x/. Using this thing, I made a new 256 x 256 image, and then using the painting tools covered the canvas is pale blue (using the color picker to get as close to 0x8080FF as I could). Then I made some brush marks with red and green. So my texture has some normals that are strongly pointing along the X axis and the Y axis.

You can see my bad texture:

Hopefully, you can try to predict what this will look like as a normal map. The red will show point the vectors in the X direction (we have the extreme lighting from the wavy demo, so these will appear redish or bluish on the plane), the green is in the Y direction (there is less light from above, those spots will appear darker).

You can see the results: https://cs559.github.io/FrameworkDemos_ForStudents/n4-normalMapTest.html

This is less about making a “good” normal map, and more to get a sense of what happens when you start to paint normals. If you want to make a “good” (or useful) normal map, you need tools that help you draw them better. Bump maps are much easier to draw.

 

Workbook timing

As I mentioned in class, I am going to change the timing of the last 3 workbooks slightly.

Workbook 10 will be about shaders. But we haven’t spoken about them in class, yet. I don’t want to give you the workbook until we have the graphics hardware lecture. Therefore, I am going to delay giving you the workbook until next Tuesday (a day late), so I will give you an extra day or two to do the workbook.

Workbooks 11 and 12 will be a little different. There will be one repository to pull for both workbooks, and you will turn in both workbooks as one. We will grade it as two separate workbooks (you will get separate grades for 11 and 12), so it counts as two workbooks. The combination of workbooks 11 and 12 will be due when Workbook 12 is due.

A warning: with Workbooks 11 and 12, we will have strict deadlines – we need to start grading immediately so we can have grading completed on time.