Syllabus Spring Malcolm Kesson Office building, room: Montgomery 435 Phone: 912 525 8557 Office hours: Email: 1.30 PM - 2.30 PM mkesson@scad.edu Building/Room: MONTGO 223 Meeting Times: 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: 30656 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 a. 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 description Rib files. These are produced by applications such as a 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 es: Key events including assignments, projects due dates/exam dates:
1: March 28, Lecture topics: Emergency evacuation procedure. Thorough elaboration of the meaning and consequences of academic plagiarism. 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). 2: March 30, Lecture topics: Sub-division surfaces and modelling for efficient rendering. Recommended reading, "https://en.wikipedia.org/wiki/path_tracing". 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. 3: 4, 4: 6, 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. Use of environment lights and HDR lighting. Recommended reading, "https://en.wikipedia.org/wiki/unbiased_rendering". 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. 5: 11, Lecture topics: Review the student's progress on their jack-in-the-box technical breakdowns. Using re-lighting technology. Advanced camera techniques such as depth-of-field and motion blur. 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 for "look development". 6: 13, 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.
7: 18, 8: 20, 9: 25, 10: 27, 11: 2, 12: 4, 13: 9, 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 Lecture topics: Final review of the technical breakdowns of the jack-in-the-box. Introduction to Pixar's RenderMan Interface Bytestream (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. Lecture topics: Use of pre-baked ribs 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. 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. Lecture topics: Use of displacement shaders, depth of field, motion blur and simple keyframe animation using a 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 animations. 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 a 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. Lecture topics: Review the 'st' coloration assignment. How to provide instance variables/parameters for shading, the importing of custom shaders into a. Introduction to the Open Shading Language (OSL). 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: a animation using a custom hypershade node.
14: 11, 15: 16, 16: 18, 17: 23, 18: 25, 19: 30, 20: June 1, Lecture topics: Use of header files for storing custom functions. Converting RSL to OSL shaders for use with a. In-class exercises: Students will convert one of their custom RSL shaders to an OSL shader. Due: Session 16 Assignment: a animation using a custom hypershade node. 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 OSL node. Due: Session 16 Assignment: a animation using a custom hypershade node. Lecture topics: Final review the a 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. 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. Lecture topics: Preliminary review of their DVD presentations.. In-class exercises: Sequencing of their movie and sound clips for their final assignment. 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. 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 Preparation of portfolio web pages Weight Modeling, look-dev and lighting a jack-in-the-box model. Rib wrangling - modeling a model of a kettle using only a text editor
RSL - a Pattern Animation using a custom hypershade node. DVD technical breakdown. Total Weight 100 percent Grading Standards Letter grade: A = excellent Letter grade: B = good Letter grade: C = * Letter grade: D = * Letter grade: F = failing Range 90 100 percent 80 89 percent 70 79 percent 60 69 percent 0 59 percent *Refer to the student handbooks and departmental standards for minimal acceptance for passing grade. Course Information: Field Trip(s): SCAD Cinema Circle presents The Lady from Shanghai Thursday, 14 at 8 p.m. SCAD Cinema Circle presents The Third Man Thursday, 21 at 8 p.m. Extra Help Session(s): These will be scheduled on a weekly basis outside of regular class hours. Extended Learning Opportunities: Complete the following tutorials at www.fundza.com osl - to uv or not to uv osl - regular polygon osl - color by height osl - rosette osl - archimedes spiral osl - 2d polar coordinates osl - repeating patterns osl - 3d textures 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 end of 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. Log on to MySCAD 2. Click on the Student Workspace Tab 3. Locate the Course Evaluations link under My Courses channel 4. 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 evaluations@scad.edu. 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 surveys@scad.edu.