Procedural 3D & Shader Programming
Vsfx755

1   2   3   4   5   6   7   8   9  


Projects and Due Dates (by Unit)

    C: debris procedural primitive [Unit 4A]
    C++: Arnold side-mask pattern node [Unit 7A]
    OSL: Arnold moom shading [Unit 10B]


week 1

Unit 1A
Basic 'C' Programming Language Concepts

 

This first session will concentrate on downloading, unzipping and distributing a number of Maya customization scripts. Also, the students installation of Maya, RenderMan, Visual Studio Community (Windows) or XCode (OSX) and Cutter will be checked.

How many of the following topics will be covered will depend on the number of "issues" encountered when confirming the students workstations are correctly configured.

Topics

  • course overview
  • intro to the 'C' programming language
  • compiling and linking a program using Cutter on Linux & OSX
  • compiling and linking a program using Cutter on Windows
  • BASICS_C_DEMO.c
  • how a constants handled (#define, const and enum)

 

Bring a first draft of your web portfolio index page to Unit 1B.
Unit 1B
Basic 'C/C++' Programming Language Concepts

 

Upload and review the student index pages.
Topics

   

week 2

Unit 2A
Basic 'C' Programming Language Concepts

 

Topics

 

 
Unit 2B
Procedural Primitives - 'C' Programming Language

 

Topics

  • distributing spheres in disks, cylinders and cones
  • assigning primvars in C++
  • using the PxrPrimVar node in HyperShade
   

week 3

Unit 3A/3B
Procedural Primitives - 'C' Programming Language

 

Topics

 

 
Unit 4A/4B
Procedural Primitives - 'C' Programming Language

 

Topics

SCAD RenderFarm: Copy this script userSetup.mel to your project directory scripts folder. For example,
    projects/755/PlaceArchives/scripts/userSetup.mel
Compile/Build your .dll and move it to the project directory,
    projects/755/PlaceArchives/PlaceArchives.dll
Copy the pp_place_archives.py to the project directory scripts folder,
    projects/755/PlaceArchives/scripts/pp_place_archives.mel
In the DSO Name: field enter,
    <ws>/PlaceArchives.dll
In the archives_path field enter,
    <ws>/rib_archives/*.rib

   

week 4

Unit 5A
C++ Arnold Shader Plugins

 

Topics

 

 
Unit 5B
C++ Arnold Shader Plugins

 

Students present their debris procedural primitive technical breakdowns.
Topics

  • advanced 3D shading effects and user coordinate spaces

  Complete the side-mask pattern node ready for review Unit 6A.

week 5

Unit 6A
C++ Arnold Shader Plugins

 

Topics

  • developing 3D pattern plugins - using smoothstep for color ramps

 

 
Unit 6B
C++ Arnold Shader Plugins

 

Topics

  • developing the side mask technical breakdown

     

week 6

Unit 7A
Open Shading Language (OSL)

 

Topics

  • checking the value of the ARNOLD_PLUGIN_PATH environment variable
  • revision - Cutter & the Open Shading Language
  • revision - setting Cutter prefs for OSL shader writing
  • comparing Arnold C++ and OSL shader code
        - xxSideMask.cpp / xxSideMask.osl
 
Unit 7B
Revision: Open Shading Language

 

Students present their side-mask pattern technical breakdowns.
Topics

  • revision: 's' and 't' (RenderMan) and 'u' and 'v' (Arnold)
  • shading using surface orientation - Arnold

 

Complete the OSL: moom shading ready for Unit 8A.

week 7

Unit 8A
Open Shading Language

 

Topics

Download "addAttrsExamples.zip". You are to write the following python procs:
    addArnoldIntAttr.py
    addArnoldFloatAttr
    addArnoldStringAttr.py
    addArnoldTextureAttr.py
    addArnoldColorAttr.py

   
Unit 8B
Open Shading Language

 

Topics

 

 

week 8

Unit 9A
Open Shading Language

 


Topics

 

 
Unit 9B
Open Shading Language

 

Topics

  • students will work on their moom shading assignment.

 

week 9

Unit 10A
Open Shading Language

 

Students will work on their moom shading assignment.

 
Unit 10B
Open Shading Language

 

Student presentation and review of the technical breakdowns of the moom shading assignment.