The Graphics Program in the Computer Science Department
Cal Poly State University


The Cal Poly Computer Science Department is pleased to offer its students a comprehensive Computer Graphics program. The Department has a variety of Computer Graphics courses, instructors expert in several areas of graphics, and excellent laboratory equipment to support the courses.

The Computer Graphics program is oriented toward advanced Computer Science and Computer Engineering students. Since the Department trains future Computer Graphics developers, the courses do not teach students how to use current graphics software packages, but rather how to create and build tomorrow's graphics, animation, and multimedia software. The curriculum is not suitable for students who are not knowledgeable in computer program design and data structures; CSC 103 Data Structures, CSC 357, and knowledge of C++ or Java are the prerequisites to the first Computer Graphics course.

The goal of the Computer Graphics program is to produce students who are acquainted with current graphics, animation, and real-time algorithms and techniques. While Computer Graphics students produce many images and animations as class projects, the art and design knowledge necessary to produce interesting and pleasing images or animations is not taught in the Computer Science Department. The Computer Graphics curriculum is entirely technical; relevant design courses are available in the Art and Design Department.

The graduates of the Computer Graphics program take jobs in many areas. Some are employed by animation production houses such as Metrolight Studios, Industrial Light&Magic, Disney Studios, Rhythm and Hues, Digital Domain,  Sony Imageworks, PDI, and Blue Sky Productions. Some work at game development companies including TreyArch and EA.  Others work in the graphics divisions of workstation vendors such as IBM, Sun, and Hewlett-Packard. A few have gone to small start-ups such as Dynamic Graphics (yes, it used to be a small start-up!). Others have continued on to graduate school at UCSB, UCSD, Stanford, or Berkeley, to name a few. Students are highly recommended to take co-op jobs before graduation in the field or company where they anticipate working. This gives students valuable experience, helps them build a portfolio or reel, and makes contacts for later career assistance. Students should also be aware that, although graphics is a booming field and Cal Poly graduates are well-respected, just taking graphics courses will not guarantee them a graphics job; just as with any other area of computer science, students must work to stand out from the crowd in order to have their pick of interesting graphics jobs.


Curriculum

The curriculum begins with CSC/CPE 471, Computer Graphics . This introductory course acquaints students with the basics of Computer Graphics. Material covered includes graphics hardware, graphics primitives, fast rendering and clipping of primitives, transformations, color theory and models, light and shading, rendering, fractals, and texture mapping. Students complete five projects during the quarter and learn the basics of Java 3D, an advanced 3-D interactive rendering toolkit. Java 3D allows developers to build very sophisticated applications involving 3-D models, user interation, and animation.  Normally, four sections of this course are offered each year: two in Fall and two in Winter quarters. Once students have taken this course, they may take any other Computer Graphics course in the curriculum.

The advanced Computer Graphics courses include Advanced Rendering Techniques, Computer Animation, Computer Graphics Seminar, and soon Multimedia Tool Development. Advanced Rendering Techniques, CSC/CPE 473 , covers raytracing and modeling topics. Raytracing is the technique most often used by movie and advertisement studios to develop realistic-looking synthetic scenes. Students build their own raytracers for the laboratory exercises during this course. CSC 473 is offered once a year, usually in the Fall Quarter.

Computer Animation, CSC/CPE 474, is a very popular course. Students learn the powerful algorithms used for creating sophisticated animations, including procedural motion, hermite and parabolic blending, time-space curves and surfaces, particle systems, free-form deformation, dynamics and kinematics, morphing, and video issues. The Inventor toolkit is used for creating the five projects required of each student during the quarter. CSc 474 is offered once a year, usually in the Winter Quarter.

Computer Graphics Seminar, CSC 479, is patterned after industrial research seminars. Students each choose an article from the latest SIGGRAPH conference proceedings and present it to the group in a one-hour talk. The SIGGRAPH proceedings consist of the very latest and best in Computer Graphics research. Each member of the class learns a number of the articles in-depth while only investing the time necessary to present one article. This class is very informal and the students enjoy it a great deal; a tradition has developed where the speakers supply refreshments for the audience. Computer Graphics Seminar is usually offered once a year.

Real-Time 3D Computer Graphics Software Systems, CSC/CPE 476, covers various virtual reality techniques.  This course usually offered every year.  This is a project focused class where student teams develop a large interactive entertainment software project (typically a computer game).  Students pick teams in the first week (teams of 4-8 people) and those teams work together all quarter to build as close to a real (single level) game as possible. Lecture material covers a deep understanding of the graphics pipeline with an eye on optimizing performance for real-time interaction with complex virtual worlds, shaders, multi-texturing, level of detail and graphics effects.  This course is usually offered once a year in Spring Quarter.

CSC 571 Computer Graphics, is a graduate level computer graphics course typically focused on the topic of geometric modeling.  Students read and present SIGGRAPH papers and program various projects related to geometric modeling, culminating in a final project (typically an implementation of a SIGGRAPH research paper).  This is an excellent course to start your Master's thesis research in computer graphics.
 


Faculty Expertise in Computer Graphics

Dr. Chris Buckalew, Professor (1990)
BS Math, MS Math, MS Computer Science, NTSU
Ph.D. Computer Science, University of Texas
Office 14-227
(805)756-1392
buckalew@calpoly.edu

Dr. Buckalew's research area is Computer Graphics. Interests include photorealistic rendering algorithms, fast volume visualization algorithms, synthetic handwriting, and 3-D modeling. He helped to develop the Computer Graphics program in the CSc Department; in that capacity he has introduced several new graphics courses, brought a visiting graphics professor to the Department, and helped attract over $2,500,000 in funding partly to support computer graphics. He has developed a corporate seminar for the 3-D interactive graphics toolkits Open Inventor and Java 3D and tours the U.S. and abroad teaching the seminar. He does visualization consulting for Texaco, Xontech, ITT, and others. He is the current Chief Scientist of Vizolutions, Inc, which provides scientific visualization consulting and products to the oil and gas industry.  He is also very proud of his six  Professor of the Year awards voted on by the Department's students.

 

Dr. Zoe Wood, Assistant Professor (2003)
BS Computer Science, UCSC, MS, PhD Computer Science Caltech
Office 14-209
(805)756-5540
zwood@calpoly.edu

Dr. Wood's research area is computer graphics with a specific focus on geometric modeling.  She is responsible for introducing a new graduate level computer graphics course, CSC 571, and regularly teaches CSC 471 and CSC 476.  All these courses are very project-focused.  She is a part of the Interactive Entertainment curriculum development at Cal Poly and supervises Master's thesis research projects as well as senior projects.  Many of these projects result in research publications.  Dr. Wood regularly arranges industry visits for her students to places such as EA and DreamWorks.  Dr. Wood was voted the Professor of the Year award in 2004 by the Department's students. During her PhD work, Dr. Wood did computer graphics research at the following places: Microsoft Research, Hewlett-Packard Labs, and NASA Ames Research Center. 

 

Dr. Cornel Pokorny, Professor (1983)
MS, Ph.D. Technical University Vienna, Austria
Office 14-214
(805)756-2168
cpokorny@calpoly.edu

Dr. Pokorny is the author of two popular Computer Graphics textbooks, ``Computer Graphics: The Principles Behind the Art and the Science'' and ``Computer Graphics: An Object-Oriented Approach to the Art and Science ''. He has taught Computer Graphics courses at various levels for many years. He built the original Cal Poly Computer Graphics lab, starting with PC-class machines equipped with N9 graphics boards for which he wrote the graphics primitives. His research interests include high-precision raytracing algorithms. He currently teaches CSc 471 Computer Graphics and CSc 473 Advanced Rendering.



Practical Advice

The graphics courses are generally taught using OpenGL and C++.  Any head start you get with this toolkit is helpful.

Attend CSc 479 Computer Graphics Seminar anytime, even if not enrolled or lacking any graphics knowledge yet. The audience learns a lot about current hot topics in graphics, animation, visualization, multimedia, and virtual reality. CSc 479 is usually offered every year in Spring Quarter.

Join ACM and SIGGRAPH. Student membership in SIGGRAPH gets you the annual conference proceedings and reduced conference rates (historically SIGGRAPH has been held in Southern California every other year).

Don't take extremely intense courses at the same time as graphics courses. The graphics courses are not killer project classes, but many students also enrolled in Compilers or other intense courses end up ignoring the graphics class or spending all their time making wonderful images and animations while ignoring their intense class.

Take Art and Design courses. Especially if you plan to work in animation production, you need to learn more about the artistic side of the business. Design, Drawing, Color Theory, even Figure Drawing are all beneficial courses for the budding animator.

Co-op in the area or company where you would like to work. You may learn that you love it more than you dreamed, or otherwise. Regardless, you'll build up your portfolio, reel, or resume, and make contacts for later job prospects.