RasterizeXor()
has been refined
slightly. The new grading criteria is:
5 | A triangle shows up on the screen. |
5 | The triangle does xor'ing of the pixels. |
5 | The triangle is clipped correctly. |
5 | You rasterize only pixels within the triangle. |
5 | You mesh triangles correctly. |
5 | Performance. |
30 |
5 points were taken away from the first criteria to create the third criteria.
Portability issues:
gettimeofday()
may take two parameters on different
architectures, rather than one argument as on the SGI's. See the man
pages for help with these.
<math.h>
. In particular, if you
are on a Sun platform, include <sunmath.h>
and link
with -lsunmath
.
sginap()
, use
usleep()
,
nanosleep()
, or
sleep()
.
cube.c
was changed. If CreateCube()
has a
NULL
arg for the second argument, it used to seg fault
on some systems. This has been fixed.
/usr/class/cs248/assignments/assignment2/template/main.c .
when you had both -rasfile and -autorefine. This is fixed.
If you have not yet begun work on Assignment 2 as of the time above, you can skip this announcement.
If you have followed the directions in README.starting, and have set up the files in your Assingment 2 working directory, you should note that there has been a change in the way things are being done.
Instead of holding your own copies of the files we provide, you should instead link to the files kept in the class directory. This will allow us to fix bugs and add features in a manner that will keep you from having to recopy these files every time we make a change.
If you don't care about the motivation behind this change, skip this next section:
Well, not until 5:00 when I realized that I had introduced 3 very minor bugs by making the changes -- so minor that it didn't deserve another "recopy your files" message. But it taught me a good lesson: you should link into the class files instead of copying them locally. Who knows when I will decide to change them next....
In any case, you should remove the common source files that you previously
copied (all except Makefile
and rasterize.*
) and
then link back into the class source code.
First, cd
to your development directory (i.e., cd
~/cs248/assignment2
), and then....
rm -f cube.h render.h cube.c geometry.c main.c ln -s /usr/class/cs248/assignments/assignment2/template/cube.h . ln -s /usr/class/cs248/assignments/assignment2/template/render.h . ln -s /usr/class/cs248/assignments/assignment2/template/cube.c . ln -s /usr/class/cs248/assignments/assignment2/template/geometry.c . ln -s /usr/class/cs248/assignments/assignment2/template/main.c . ln -s /usr/class/cs248/assignments/assignment2/maps .
rm -f cube.h render.h cube.cc geometry.cc main.cc ln -s /usr/class/cs248/assignments/assignment2/template/cube.h . ln -s /usr/class/cs248/assignments/assignment2/template/render.h . ln -s /usr/class/cs248/assignments/assignment2/template/cube.cc . ln -s /usr/class/cs248/assignments/assignment2/template/geometry.cc . ln -s /usr/class/cs248/assignments/assignment2/template/main.cc . ln -s /usr/class/cs248/assignments/assignment2/maps .
make depend
In order to get rid of all the cruddy files, type:
make clean
In order to get rid of all but the source files, type:
make spotless
[email protected]