Course overview
The following are the objectives:
-
understand the 3D rendering pipeline
-
gain a good understanding of what
RenderMan is - how it works, what it can do for you
-
learn to write basic & intermediate
level shaders
-
use MTOR to translate Maya scenes
suitable for rendering with RenderMan
-
understand some basic mathematics
useful in shader-writing
-
learn what RenderMan-related resources
are available
Math concepts
Although it is possible to use
RenderMan without any knowledge of math, your experience with it would
be much more rewarding if you have an understanding of some fairly straightforward
concepts. These will be especially handy when you need to write your own
shaders.
The following are topics that
you need to be familiar with:
-
Coordinate systems
- Location, distance
- Reference frame
- Cartesian axes
- Polar coords
-
Points
- 2D, 3D
- line segments
- distance between 2 points
-
Vectors
- scalar vs. vector
- magnitude, direction
- negation
- addition, subtraction
- multiplication with a scalar
- normalization
- dot product
- cross product
- tangent, normal, binormal
- matrices
-
Transformations
- RST [Rotate/Scale Translate]
-
Trigonometry
- right triangle, Pythagoras
Theorem
- sin(), cos() and tan()
- rotation about an axis
-
Color spaces
- RGB vs. HSV
-
Image representation
- RGB, Alpha channels
- Mipmap
-
Polygons
- convex vs. concave
- general polygons
-
Curves
- polylines
- splines
-
Surfaces
- primitives
- polymeshes
- patches
-
Interpolation
- linear interpolation
- step
- smoothstep
- spline
-
Math functions
- sin(), asin()...
- sqrt(), pow(), exp(), log()
- mod(), abs(), sign()
- min(), max(), clamp()
- ceil(), floor(), round()
- noise(), turbulence..
Rendering basics
A standard 3d rendering pipeline
aims to convert a 3D 'scene' (with objects and materials, lights and a
viewing camera) to an image, i.e. to a 2D representation.
Viewing transformation
- Object space
- World space
- Camera/eye space
- Camera projection
- Clipping against view volume
- Backface culling
Rasterization
- Screen space
- Image space
- Shading and illumination
[materials, lights]
Misc. topics
- Flat vs. interpolated shading
- Bump vs. displacement mapping
- Texture mapping
- Shadows
- Environment, reflections
Raytracing
Radiosity
Image-based rendering