Syllabus - CG References & Tutorials

Syllabus
Office building, room:
Phone:
Office hours:
Email:
Building/Room:
Meeting Times:
Spring 2015
Malcolm Kesson
Montgomery 435
912 525 8557
1:30 PM - 2:30 PM
[email protected]
MONTGO 223
Monday / Wednesday
8:00 AM - 10:30 AM
School of Digital Media, Department of Visual Effects, Savannah
VSFX 502 - Programming 3-D Models and Shaders
Section: 01 CRN: 31612
SCAD Mission:
The Savannah College of Art and Design exists to prepare talented students for professional careers, emphasizing learning
through individual attention in a positively oriented university environment.
Course Description:
Students taking this course are introduced to the RenderMan Scene Description Language (RIB) and the RenderMan
Shading Language (RSL). Pixar’s RenderMan is a widely used rendering technology used for feature animated and special
effects film production. The basics of Python and MEL scripting are also covered.
Course Goals: The following course goals articulate the general objectives and purpose of this course:
1. Students will learn concepts of 3-D computer graphics that underpin the use of industry-standard tools such as Maya.
2. Students will gain exposure to industry-standard scripting languages.
3. Students will learn to write shaders using the RenderMan Shading Language.
Student Learning Outcomes: The following course outcomes indicate competencies and measurable skills that students
develop as a result of completing this course:
1. Students will demonstrate understanding of, and the ability to use, the format and structure of RenderMan's
scene desciption Rib files. These are produced by applications such as Maya and Houdini.
2. Students will demonstrate understanding of, and the ability to use, the fundamentals of writing shaders using the
RenderMan Shading Language (RSL) appropriate to an introductory graduate level. This includes an
understanding of data types and their use for global, instance and local variables.
3. Students will demonstrate understanding of, and the ability to use, the core library of RSL functions for the
manipulation of surface color and illumination.
Schedule of Classes:
Key events including assignments, projects due dates/exam dates:
Class 1:
Mon, March 23,
2015
Lecture topics: Emergency evacuation procedure. Discussion of course objectives and
the two types of student assessment, namely, "completion exercises" and "graded
assignments". Introduction to the RenderMan Graphics System. Introduction to the
web-based
"work-in-progress" portfolio and use of a template web page.
In-class exercises: Preparation of a fixed and common directory structure. Preparation
and uploading of their main index page for their "work-in-progress" portfolio website.
Due: Session 3.
Assignment: "jack-in-the-box" (model only).
Class 2:
Wed, March 25,
2015
Lecture topics: Sub-division surfaces and modelling for efficient rendering.
In-class exercises: Practice using custom RenderMan attributes and the user interface
specific to RenderMan Studio.
Due: Session 3
Assignment: "jack-in-the-box" model.
Class 3:
Mon, March 30,
2015
Lecture topics: Use of two types of cameras - those for modelling and those for
cinematograpy. Rendering ray-traced and point-based occlusion.
In-class exercises: Critique the student's models of the jack-in-the-box models.
Practice
using point-based GI lights, environment lights and HDR lighting.
Due: Session 8
Assignment: "jack-in-the-box" technical breakdown.
Class 4:
Wed, April 1,
2015
Lecture topics: Linking images to a web page. Rendering secondary images for
compositing. Rendering sub-surface scattering.
In-class exercises: Practice the uploading and linking of images for the purpose of
preparing a technical breakdown. Practice rendering mutiple passes.
Due: Session 8
Assignment: "jack-in-the-box" technical breakdown.
Class 5:
Mon, April 6,
2015
Lecture topics: Review the student's progress on their jack-in-the-box technical
breakdowns. Using re-lighting technology. Depth of field camera effects.
In-class exercises: Students are expected to edit their technical breakdown web page
in
the light of the suggestions from the review. Practice using custom materials.
Due: Session 8
Assignment: "jack-in-the-box" technical breakdown.
Class 6:
Wed, April 8,
2015
Lecture topics: Advanced HDRI lighting techniques. Fur/hair rendering techniques.
In-class exercises: Continue to refine their lighting, surfacing and cinematic viewing of
the jack-in-the-box. Continue to capture images that will be incorporated into their
technical breakdowns.
Due: Session 8
Assignment: "jack-in-the-box" technical breakdown.
Class 7:
Mon, April 13,
2015
Lecture topics: Avoiding image defects/artifacts.
In-class exercises: This session will be devoted to troubleshooting any remaining
rendering issues in preparation for the students to present their final images and
technical breakdown during class 8
Due: Session 8
Assignment: "jack-in-the-box" technical breakdown.
Class 8:
Wed, April 15,
2015
Lecture topics: Final review of the technical breakdowns of the jack-in-the-box.
Introduction to RIB files. Command line rendering, setting up a basic camera,
transformations and attributes, coordinate systems and the use of quadric surfaces.
In-class exercises: Modeling a simple scene consisting of a repetition of cubes
descrbed
using the RenderMan scene description language and a text editor.
Due: Session 12
Assignment: modeling and rendering a kettle using Rib files prepared with a text
editor.
Class 9:
Mon, April 20,
2015
Lecture topics: Use of pre-baked ribs, ambient occlusion, basic lighting and plausible
shading using Rib files. Use of the Surface and Displacement Rib commands.
In-class exercises: Continue to develop and refine their solutions to assignment three Rib kettle.
Due: Session 12
Assignment: modeling and rendering a kettle using Rib files prepared with a text
editor.
Class 10:
Wed, April 22,
2015
Lecture topics: Principles of texturing and the preparation of .tex files. Basics of
mipmaps
and anti-aliasing techniques.
In-class exercises: This session will be devoted to rendering the scenes that each
student is preparing for the kettle assignment.
Due: Session 12
Assignment: modeling and rendering a kettle using Rib files prepared with a text
editor.
Class 11:
Mon, April 27,
2015
Lecture topics: Use of displacement shaders, depth of field, motion blur and simple
keyframe animation using the Cutter text editor.
In-class exercises: Students will continue to explore the application of different
techniques to the rendering the 3D scenes such as simple keyframe animation, stereo
rendering and the preparation of anaglyphs.
Due: Session 12
Assignment: modeling and rendering a kettle using Rib files prepared with a text
editor.
Class 12:
Wed, April 29,
2015
Lecture topics: Final review of the kettle technical breakdowns. Introduction to Pixar's
shading language. Datatypes and variables, the role of a surface shader, the
handling of
texture coordinates and the assignment of colors.
In-class exercises: preparation and compilation of shader source code files. Use of
compiled shaders with Maya and simple rib files.
Due: Session 13
Assignment: Prepare four procedural shaders that use 'st' coordinates and write a
technical breakdown that describes their functionality.
Class 13:
Mon, May 4,
2015
Lecture topics: Review the 'st' coloration assignment. How to provide instance
variables/parameters for shading, the importing of custom shaders into Maya, the
use of
expressions to animate shader parameters.
In-class exercises: Students will select one of their custom shaders and develop its
user
interface to make it "artist friendly".
Due: Session 16
Assignment: Maya animation using a custom hypershade node.
Class 14:
Wed, May 6,
2015
Lecture topics: Use of header files for storing custom functions, the conversion of RSL
functions into custom hypershade nodes for use with Maya.
In-class exercises: Students will convert one of their custom shaders into a
hypershade
node.
Due: Session 16
Assignment: Maya animation using a custom hypershade node.
Class 15:
Mon, May 11,
2015
Lecture topics: Reading a texture file, use of noise functions and the handling of
custom
coordinate systems.
In-class exercises: Preparation of the basic scene that will be used for assignment
four.
Incorporate the techniques shown above into their custom node.
Due: Session 16
Assignment: Maya animation using a custom hypershade node.
Class 16:
Wed, May 13,
2015
Lecture topics: Final review the Maya shader animation technical breakdown. The
structure of a DVD based technical breakdown.
In-class exercises: Begin preparing the movie files needed for their final assignment.
Due: Session 20
Assignment: DVD based technical breakdown of the student best assignment.
Class 17:
Mon, May 18,
2015
Lecture topics: Different communication techniques vis-a-vis DVD and static web
pages.
In-class exercises: Continue preparing the movie and sound files needed for their final
assignment.
Due: Session 20
Assignment: DVD based technical breakdown of the student best assignment.
Class 18:
Wed, May 20,
2015
Lecture topics: Preliminary review of their DVD presentations..
In-class exercises: Sequencing of their movie and sound clips for their final
assignment.
Due: Session 20
Assignment: DVD based technical breakdown of the student best assignment.
Class 19:
Mon, May 25,
2015
Lecture topics: Embedding of a DVD style presentation on their portfolio web page.
In-class exercises: Sequencing of their movie and sound clips for their final
assignment.
Due: Session 20
Assignment: DVD based technical breakdown of the student best assignment.
Class 20:
Wed, May 27,
2015
Lecture topics: Final check of student web pages.
In-class exercises: Student feedback/appraisal of the course.
Peer group assessment of their DVD presentations.
Grading Opportunities:
Your overall course grade will be computed according to the following breakdown:
Assignment
Weight
Preparation of portfolio web pages
20.00 percent
Modeling, look-dev and lighting a jack-in-the-box model.
20.00 percent
Rib wrangling - modeling a model of a kettle using only a text
editor
20.00 percent
RSL - Maya Pattern Animation using a custom hypershade node.
20.00 percent
DVD technical breakdown.
20.00 percent
Total Weight
100 percent
Grading Standards
Range
Letter grade: A = excellent
90 —100 percent
Letter grade: B = good
80 — 89 percent
Letter grade: C = *
70 — 79 percent
Letter grade: D = *
60 — 69 percent
Letter grade: F = failing
0 — 59 percent
*Refer to the student handbooks and departmental standards for minimal acceptance for passing grade.
Course Information:
Field Trip(s):
Lopsie Schwartz-Texture & Matte Painter - TBA in May. Presentation.
Derek Spears (Rhythm & Hues) - TBA in April. Presentation.
Extra Help Session(s):
These will be scheduled on a weekly basis outside of regular class hours.
Extended Learning Opportunities:
Jeff Beeland (Blur Studio) - March 21 & March 22. Evening coding competition.
Dave Stump-Visual Effects Supervisor - May 7th - May 10th. Workshops.
Other Course Information:
Pre-Class Assignment
Read "The State of Rendering I"
http://www.fxguide.com/featured/the-state-of-rendering/
and, "The State of Rendering II"
http://www.fxguide.com/featured/the-state-of-rendering-part-2/
Course Materials:
Required Text(s):
Online Help and Tutorials from Pixar Animation Studio
https://renderman.pixar.com/resources/current/RenderMan/home.html
Recommended Text(s):
The Grand Tour of RenderMan Studio
http://renderman.pixar.com/view/TheGrandTour
Required Material(s):
A notebook and pen.
University Policies:
Academic Integrity:
Under all circumstances, students are expected to be honest in their dealings with faculty, administrative staff and other
students.
In class assignments, students must submit work that fairly and accurately reflects their level of accomplishment. Any work
that is not a product of the student's own efforts is considered dishonest. Students must not engage in academic
dishonesty; doing so can have serious consequences.
Academic dishonesty includes, but is not limited to, the following:
1. Cheating, which includes, but is not limited to, (a) the giving or receiving of any unauthorized assistance in producing
assignments or taking quizzes, tests or examinations; (b) dependence on the aid of sources including technology beyond
those authorized by the instructor in writing papers, preparing reports, solving problems or carrying out other assignments;
(c) the acquisition, without permission, of tests or other academic material belonging to a member of the university faculty
or staff; or (d) the use of unauthorized assistance in the preparation of works of art.
2. Plagiarism, which includes, but is not limited to, the use, by paraphrase or direct quotation, of the published or
unpublished work of another person without full and clear acknowledgment. Plagiarism also includes the unacknowledged
use of materials prepared by another person or agency engaged in the selling of term papers or other academic materials.
3. Submission of the same work in two or more classes without prior written approval of the professors of the classes
involved.
4. Submission of any work not actually produced by the student submitting the work without full and clear written
acknowledgement of the actual author or creator of the work.
Attendance and Personal Conduct:
Only students who are properly registered for a course may attend and participate in that class. Students are expected to
attend and participate in all scheduled classes and examination periods. Absences in excess of four class periods per
quarter, or 20 percent of the course, result in the student receiving a failing grade for the course. Tardiness, early
departure or other time away from class in excess of 15 minutes per class session is considered absence for the class session.
The student's appearance and conduct should be appropriate and should contribute to the academic and professional
atmosphere of SCAD. The university reserves the right at its sole discretion to withdraw the privilege of enrollment from
any student whose conduct is detrimental to the academic environment or to the well-being of other students, faculty or
staff members, or to the university facilities.
Enrollment policies:
Students are responsible for assuring proper enrollment. See the SCAD catalog for information on add/drop, withdrawals,
incompletes, and academic standing.
Midterm Conference(s):
Each student enrolled in the course will have a midterm conference scheduled outside of class time with the professor.
Students are expected to keep this appointment.
Academic Support and Tutoring:
Academic support for students at all SCAD locations can be found in MySCAD, under the Student Workspace tab,
Department Directory, Academic Resources.
Course Evaluations:
SCAD offers students the opportunity to evaluate all scheduled courses during each quarter term. Student feedback is
essential to continuously improve academic services at SCAD. Evaluations will be available the end of each quarter at the
beginning of Week 8 and must be completed online by the Monday following Week 10. A sample course evaluation for
on-ground courses is available here.
In order to access course evaluations, the student should take the following steps:
1.
2.
3.
4.
Log on to MySCAD
Click on the Student Workspace Tab
Locate the Course Evaluations link under My Courses channel
This will bring up a page that says current surveys and lists all the courses that are currently available for evaluation.
For more information or questions, contact us at [email protected].
Student Surveys :
Students are strongly encouraged to provide feedback on their university experience through SCAD’s institutional surveys.
The SCAD Student Survey and the Noel-Levitz Student Satisfaction Inventory will both be administered in spring quarter.
SCAD Student Survey will be emailed to every student’s email account starting in Week 1 and will remain open through
Week 6. The Noel-Levitz Student Satisfaction Inventory will be administered on paper during Week 4 of spring quarter.
SCAD’s office of institutional effectiveness is responsible for gathering and delivering survey results to decision-makers on
campus. For more information or questions, contact us at [email protected].