|
|
CSC5870: Computer Graphics I (Fall 2009)INSTRUCTOR: Professor Jing Hua ( CREDITS: 3 (Course Ref. No. 12945; Section 001) PREREQUISITES: CSC 2200 or 5050, MAT 2250. (NOTE: If you do not have the specified prerequisites, please talk to the instructor to see if you are prepared for this course. The prerequisites might be waived.)
LECTURES: 234 State Hall, Tuesday & Thursday, 4:30PM - 5:50PM OFFICE HOURS: Tuesday & Thursday, 3:30PM - 4:30PM, or by appointment
GOAL:This course gives a comprehensive overview of the field of computer graphics, provides a deep understanding of the graphics pipeline, and demonstrates state-of-art techniques in computer graphics related fields. It aims to prepare students for graduate research and work in computer graphics. It will also be very fun to study this course. COURSE SYNOPSIS:This course will cover the basic concepts, mathematical foundations, fundamental theory and algorithms, software techniques, hardware and system issues, and application examples of computer graphics. The main topics will center on modeling and rendering. Finally, if time permits, we shall give a brief overview of various advanced graphics research topics. OTHER ANNOUNCEMENTS:Some special events such as graphics video demonstration and visitors' research presentation in graphics may be held during this semester. The instructor will make announcements here when such events happen. Other important announcements relevant to this course such as the change of assignment due dates or exam dates will also be posted here whenever necessary. Please pay attention to these announcements as we will be updating them on the daily basis. (passed) Distinguished Lecture on Tuesday (November 3, 2009) at Bernath Auditorium, Undergraduate Library (UGL) Virtual Cityscapes: Challenges and Opportunities Ming C. Lin Department of Computer Science, University of North Carolina @ Chapel Hill Abstract: Recent advances in modeling, rendering, and hardware make it possible to generate near-photorealistic images of moderately complex scenes at interactive rates. One of the next grand challenges in computer graphics and visualization is to model vibrant, dynamic scenes of real-world complexity, such as urban spaces. The problem of modeling virtual cityscapes offers a diverse set of opportunities for innovations and provides enabling technologies of societal interests, including energy use, transportation mechanisms, economic sustainability, education and entertainment. Some of the key research issues include interactive simulation of large-scale crowds, realistic modeling of complex traffic flows, efficient motion synthesis of plausible character behaviors and natural phenomena, and real-time rendering using multi-sensory display. At least one to two orders of magnitude performance improvement in hardware will be needed. New algorithms and software systems that can exploit such computing power must be developed. In this talk, I will present a few highlights of our recent efforts on the design of scalable algorithms for building a virtual urbanscape by taking advantages of parallelism available on emerging commodity hardware, such as many-core processors. I will demonstrate the results on several interactive applications, including heterogeneous crowd modeling for virtual cities, data-driven traffic reconstruction of complex road networks, and realistic sound rendering for architectural and urban environments. I will conclude by discussing our experiences and some future research directions. (passed) Programming Lectures at 437 State Hall on Tuesday and Thursday (10/13/2009 and 10/15/2009) (4:30pm to 5:50pm) (passed) Invited Talk on Tuesday 9/29/2009 (3PM 110 Purdy-Kresge Library). Perception in Autonomous Driving Wende Zhang GM Research This talk will introduce the General Motor’s research efforts on computer perception to improve driving safety. We will describe the DARPA Urban Challenge, which is a 60-mile race through an urban environment where vehicles had to follow the traffic rules, and GM-CMU’s entry Boss, the autonomous vehicle that won the challenge. We will overview Boss's system architecture and highlight its road modeling technologies using various sensors. We will also discuss a clear path detection method which is the next step to further improve the road modeling for autonomous driving.
LECTURE NOTES:I will put lecture notes here along the progress of this course. Note that these notes are intended only as a guide. I will be presenting additional material in class (figures, slides, etc.) not contained in these files.
PROGRAMMING ASSIGNMENTS:Warm-up assignment (0%) Assignment 1 (25%) Assignment 2 (25%) REQUIRED TEXTBOOK:
RECOMMENDED (OPTIONAL) TEXTBOOKS:
OTHER SUPPLEMENTAL REFERENCES:
LECTURES:Primary material of this course will come from the required textbook. In addition, material from recent articles or relevant reference books will be presented. Numerous slides and video tapes on graphics will be shown. Students are advised to attend the class and follow the lecture notes closely. GRADING SCHEMES:This course emphasizes a "hands-on'' approach to both the better understanding of graphics theory/algorithms and the effective use of graphics techniques. Each student is required to complete assignments. The assignments involve both analytic problems as well as programming projects using parts of graphics packages. The programming projects will be done in C/C++/Java and OpenGL. You are expected to be familiar with C/C++/Java programming in this course. The two programming assignments are counted as 50% of the final grade (with 25% each). The other 50% of the final grade will be based on a written exam. Students who like more hands-on experience can also choose to do a final project (bonus 30%). There is no final exam. All the problem sets, projects, and exams are mandatory. All assignment submissions will be due at the beginning of the class. The work submitted should be your own. Late assignments will be penalized 10% per day. COMPUTER FACILITIES:The programming assignments will make use of Unix and PC facilities. More information about computer facilities that you can use will be updated shortly. OPENGL PROGRAMMING GUIDE AND ENVIRONMENTS:Most of OpenGL examples appeared in various reference books are available on-line. There are many websites that can help you to be familiar with OpenGL programming techniques in particular and computer graphics technology in general. One great place for all sorts of general information is the Official OpenGL Web Site: http://www.opengl.org. This Website contains software, documentation, FAQs, and news! It is a good place to start any search for answers to your OpenGL questions. Please note that the two OpenGL programming books (A. Programming Guide; B. Reference Manual) contain many sample examples of OpenGL. These sample codes along with Mark Kilgard's OpenGL Utility Toolkit (GLUT) can be obtained freely via anonymous ftp (file-transfer protocol): ftp://sgigate.sgi.com/pub/opengl/opengl12.tar.Z or ftp://sgigate.sgi.com/pub/opengl/opengl12.zip, depending on which decompression/extraction tools you are currently using in your computer. For the Windows/NT/X version of GLUT, you can check out the following Web page for the details: http://www.xmission.com/~nate/glut.html. In addition, Nate Robins of University of Utah has written a suite of tutorial programs that demonstrate fundamental OpenGL programming concepts and techniques. You can get the source code for these tutorials at: http://www.cs.utah/edu/~narobins/opengl.html. The above Websites mostly contain information regarding OpenGL Version 1.2. For OpenGL Version 1.1, the source code samples can be found via anonymous ftp too: ftp://sgigate.sgi.com/pub/opengl/opengl/opengl1_1.tar.Z, to uncompress and extract the files from this tar archive, please use the following commands: umcompress opengl1_1.tar, tar xf opengl1_1.tar. Other detailed information about OpenGL and its technical resources (including programming books) can also be found from SGI OpenGL home website. COURSE TOPICS AND ORGANIZATION:Introduction
Graphics Device and Hardware
Basic Geometry and Mathematics
Scene composition
Rendering
Image-based techniques
Advanced Topics
SPECIAL NOTES:If you have any specific concern regarding this course, you are welcome to talk with me in person. ACADEMIC HONESTYCopying source code from another student in this class or obtaining a solution from some other source will lead to an automatic failure for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying. You should learn how to protect your data. Failure to do so is also unprofessional and it may expose you to the danger that someone will copy your homework and will submit it as his or her own (see above). In this case, you may be given a score of 0 for the assignment or project in question (and the other party will get a failure). |