+ All Categories
Home > Documents > RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those...

RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those...

Date post: 03-Aug-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
35
RenderMan For Artists #01 Wanho Choi (wanochoi.com) RenderMan Architecture
Transcript
Page 1: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan For Artists #01

Wanho Choi(wanochoi.com)

RenderMan Architecture

Page 2: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

The Road Ahead• Learning RenderMan is not easy or quick. However, it is not rocket science either.

- Rudy Cortes -

Page 3: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

We will explore …• The RenderMan Shading Language Guide

– Rudy Cortes and Saty Raghavachary

• Rendering for Beginners: Image synthesis using RenderMan

– Saty Raghavachary

• Advanced RenderMan: Creating CGI for Motion Pictures

– Anthony A. Apodaca and Larry Gritz

• Essential RenderMan

– Ian Stephenson

• The RenderMan Companion: A Programmer's Guide to Realistic Computer Graphics

– Steve Upstill

• SIGGRAPH course notes

– 1992, 1995, 2000, 2001, 2002, 2003, 2006

• pdf files from web

• Etc.

Page 4: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Rendering• What is rendering?

– A series of works for determining the color and opacity value of a pixel

– Scene (objects, lights, camera in 3D) Image (2D)

• Rendering algorithms

– Scanline

– Ray tracing

– Radiosity

– etc.

• Commercial renderers

– RenderMan

– Mental Ray

– V-Ray

– POV-Ray

– FurryBall

– etc.

Page 5: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Ray Tracing Algorithm• A technique for generating an image by tracing the path of light through

pixels in an image plane.

Page 6: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

RenderMan• A standard technical specification created by Pixar for 3D scene description

– RiSpec: RenderMan Interface Specification

• There are some RenderMan compliant renderers.

– PRMan, AIR, Pixie, 3Delight, Aqsis, RenderDotC, BMRT, Mantra, etc.

– It must meet all of the standard requirements laid out in the RiSpec.

• PRMan: Pixar's PhotoRealistic RenderMan® renderer

– Usually, RenderMan = PRMan

– It is just an API(Application Programming Interface) to communicate with renderers.

Maya

3DS Max

SoftImage|XSI

Houdini

Text Editor

RenderManInterface

PRMan

AIR

3Delight

Aqsis

RenderDotC

image

Modeling Programs

RenderingPrograms

Page 7: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Very Simple Example

Display "result.jpg" "file" "rgb"Projection "perspective" "fov" 30

WorldBeginTranslate 0 0 5Sphere 1 -1 1 360

WorldEnd

.rib

1-1_minimal_rib

• RIB: RenderMan Interface Bytestream

Page 8: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Two Main Parts of RenderMan• 3D scene description language

• Programmable shading language

Display “sphere.tiff” “file” “rgb”Projection “perspective”WorldBegin

Translate 0 0 2Surface “myShader” “color surfaceColor” [1 0 0]Sphere 1 -1 1 360

WorldEnd

.rib

surface myShader(color surfaceColor = color(1,1,1);color surfaceOpacity = color(1,1,1); )

{Oi = surfaceOpacity;Ci = Oi * surfaceColor;

}

.sl

1-2_minimal_sl

Page 9: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

How to Render Scene & Compile Shader

.rib

.sl

image

• Renderer

• Shader compiler

PRMan

Pixie

3Delight

Aqsis

RenderDotC

prman

rndr

renderdl

aqsis

renderdc

BMRT rendrib

PRMan

Pixie

3Delight

Aqsis

RenderDotC

shader

sdrc

shaderdl

aqsl

shaderdc

BMRT slc

PRMan

Pixie

3Delight

Aqsis

RenderDotC

.slo

.sdr

.sdl

.slx

.dll, .so

BMRT .slc

Page 10: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

RenderMan Packages• RAT (RenderMan Artist Tools)

– MTOR (Maya To RenderMan): Maya plug-in for translating Maya scene into RenderMan

– Slim: the complete solution for shader management and creation using GUI

– Alfred: the script processing system tool for network rendering

– It (Image Tools): viewer, multiple images management

• RFM (RenderMan For Maya) – The latest (and greatest) bridges between Maya and RenderMan

– A plug-in to Maya and renders to the RenderMan embedded renderer (entry-level product)

• RFM Pro (RenderMan For Maya Pro) – .rib is exposed to the user

– allows renders to be dispatched to ProServer render nodes.

• RMS (RenderMan Studio)– RFM Pro

– Slim

– Alfred

– It

• RPS (RenderMan Pro Server)– Standalone renderer + Alfred, It, ….

– RPS will turn any server or artist desktop into a rendering machine.

– Alfserver

Page 11: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

REYES• “Render Everything You Ever Saw”

• Loren Carpenter’s favorite spots on the California coastline, Point Reyes.

• Invented at Lucasfilm (later Pixar) by Cook et al.

The Road to Point Reyes

Directed by R. Cook, LucasFilm 1983

Page 12: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

The Founders of REYES Algorithm• The Reyes Image Rendering Architecture

– Robert L. Cook, Loren Carpenter, and Edwin Catmull

– Computer Graphics, Vol. 21, No. 4, July 1987

Page 13: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

REYES Goal (1986)

Item Spec.

Micropolygons (area=¼ pixel) 80,000,000

Pixels 3000 x 1667 (5 MP)

Depth complexity 4

Samples per pixel 16

Geometric primitives 150,000

Micropolygons per grid 100

Shading flops per micropolygon 300

Textures per primitive 6

Total number of textures 100 (1 MB/textures)

Render time ≤ 2 minutes / 1 frame

Page 14: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

REYES Algorithm• A geometric pipeline, similar to those modern-day hardware graphics pipeline

• A series of converting process from a primitive into a finer and more detailed version.– Splitting, dicing, busting, sampling

• Every geometry is diced up into grids of micropolygons.

• Micropolygon– A quadrilateral facet

– Approximately pixel-sized, but controllable by user

– Input data structure into the shading stage

– Four vertices get shaded and eventually contribute to final pixel colors & opacities

• Grid– A collection of micropolygons specified by grid size

– Once micropolygon grids are shaded, the grids get busted into individual micropolygonscontaining colors, opacities at the corners.

• Pros.– Uniformity in the shading pipeline

– Future-proof when new geometry types come to

주사위[체크] 무늬로 만들다

깨다, 분할하다, 나누다

Page 15: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

REYES Rendering Algorithm Overview

Page 16: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

REYES Rendering Algorithm

patch primitive sub-patches

split

a sub-patch micropolygon grid

four corners of a micropolygon

dice

micropolygon gridindividual

micropolygons

bust

sampling micropolygons at sub-pixel locations

collapsing visible-point list of each sub-pixel sample blending values into single color and opacity

Page 17: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

REYES Rendering Pipeline

RIB

Parsing

Clipping primitives

Dicing into micropolygon grids

Too large?

Splitting

Shading grid vertices

Busting grid

Clipping micropolygons

Outside?

Outside?

Sampling at subpixel locations

Collapsing visible point lists

Blending sample colors, opacities

Result image

Discard

Discard

Yes

Yes

No

No

No

Yes

shaders textures

Page 18: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Grids and Micropolygons

surface gmRandColor(){

color Cgrid = randomgrid();float mpc = 0.5 + 0.5*random();

Oi = Os;Ci = Cs * Os * mpc * Cgrid;

}

.sl

Display "result.tiff" "file" "rgb"Projection "perspective" "fov" [30]

ShadingRate 15.0

Translate -0.4 0.15 3Rotate -20 1 0 0Rotate -40 0 1 0

WorldBeginSurface “gmRandColor"ReadArchive “Gumbo.dat"

WorldEnd

.rib

1-3_grid_mcpg

Page 19: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Controls

• Trade-off between …

– Render time, quality, and memory

• Memory and performance related controls

– Bucket size

– Grid size

• Image quality related controls

– Shading rate

– Pixel samples

– Pixel filter

Page 20: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Controls: Bucket Size• Bucket

– A rectangular pixel block(=tile) which get processed(=rendered) by one by one

– Default: 16x16 pixels

• Why needed?

– To ensure that the memory requirements stay as low as possible

– Imagine that when the REYES algorithm was designed, machines had less than 1MB of RAM but people wanted to render 2k frames with complex geometry diced into millions of µ-polygons and motion blur without going into swap.

• Guidance

– Make the bucket size as large as possible: Usually, 16x16 or 32x32 or 64x64

• How to control

– Ex) Option “limits” “bucketsize” [32 32]

[32 32] [64 64]

Page 21: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Controls: Bucket Size (in Maya)

Page 22: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

More on Bucketing• Bucket

– A small rectangular pixel region divided from the image (default: 16x16 pixels)

– A unit processed one by one in the rendering procedure

– One bucket processed one at a time

Primitive A will be diced, shaded, and sampled in the

current bucket.

Primitive B needs to be split, and half will return to the

current bucket while half will be handled in a future

bucket.

Primitive C is in the current bucket because its bounding

box touches it, but once split, both child primitives will

fall into future buckets.

Primitive D will be diced and shaded in the current

bucket, but some of the micropolygons generated will be

held for sampling until the next bucket is processed.

Eventually, there are no more primitives in the current bucket’s list.

They all have either been sampled or transferred to future buckets.

Smaller bucket size, more memory efficiency, but more overhead.

Page 23: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Controls: Shading Rate• Maximum area of micropolygons in pixels

– Shading rate = 1: the size of the largest micropolygon ≒ 1 pixel

– With larger shading rate

• Fast & low memory, but low image quality

– With small shading rate

• Slow & large memory, but high image quality

• Guidance

– 1.0 : Mid-high level of detail rendering

– 0.25 ~ 0.5: Production-quality rendering

– 5.0 : Fast preview rendering

• How to control

– Ex) ShadingRate 1.0

Page 24: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Controls: Shading Rate (in Maya)

Page 25: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Shading Rate Examples: 0.1

1-4_mcpg

Page 26: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Shading Rate Examples: 1.0

1-4_mcpg

Page 27: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Shading Rate Examples: 10.0

1-4_mcpg

Page 28: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Shading Rate Examples: 100.0

1-4_mcpg

Page 29: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Shading Rate Examples: 1000.0

1-4_mcpg

Page 30: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Shading Rate Examples: 10000.0

1-4_mcpg

Page 31: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Shading Rate Examples: 100000.0

1-4_mcpg

Page 32: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Controls: Grid Size• The maximum number of micropolygons in a grid

– Optimal GridSize = ( BucketWidth × BucketHeight ) ÷ ShadingRate

• All micropolygons in a grid are shaded at once

– One grid at a time, not one micropolygon at a time

• It is affected by “Bucket Size” and “Shading Rate”.

– “Grid Size” is strongly related to “Bucket Size”.

• How to control

– Ex) Option “limits” “gridsize” [1024]

1-5_grid

Page 33: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Controls: Grid Size (in Maya)

Page 34: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

Today’s Key Words

• REYES

• RiSpec

• PRMan

• RIB

• Shader

• Bucket

• Grid

• Micropolygon

• Shading rate

Page 35: RenderMan For Artists #01 - wanochoi.comREYES Algorithm • A geometric pipeline, similar to those modern-day hardware graphics pipeline • A series of converting process from a primitive

RenderMan for Artists wanochoi.com

References• Cook, Robert L., Loren Carpenter, Edwin Catmull, The Reyes Image Rendering Architecture, SIGGRAPH 87.

• Saty Raghavachary, Rendering for Beginners: Image synthesis using RenderMan, Focal Press, 2004

• Rudy Cortes, Saty Raghavachary, The RenderMan Shading Language Guide, Thomson Course Technology, 2007

• Ian Stephenson, Essential RenderMan Fast, Springer, 2003

• Anthony A. Apodaca, Larry Gritz, Advanced RenderMan: Creating CGI for Motion Pictures, Morgan Kaufmann, 1999

• PRMan: http://www.pixar.com

• 3Delight: http://www.3delight.com

• Air: http://www.sitexgraphics.com

• Aqsis: http://aqsis.org

• Pixie: http://www.renderpixie.com

• RenderDotC: http://www.dotcsw.com

• http://www.ugrad.cs.ubc.ca/~cs426/426-fall-2005/sept26-cs426-slides.pdf

• http://graphics.stanford.edu/courses/cs448a-01-fall/lectures/lecture16/renderman.2up.pdf

• http://www.graphicslive.co.kr/data/2008/03/0803_tech.pdf

• http://www.dctsystems.co.uk/RenderMan/rmanBasics.html

• http://en.wikipedia.org/wiki/Ray_tracing_(graphics)

• http://www.k-3d.org/wiki/RenderMan_Controls


Recommended