CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 RenderMan & Its Shading Language.

Slides:



Advertisements
Similar presentations
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Advertisements

Shading CMSC 435/634. RenderMan Light Displacement Surface Volume Imager.
Advanced Rendering MATERIALS, POSTEFFECTS AND SCENE COMPOSITION GDC
SE 313 – Computer Graphics Lecture 13: Lighting and Materials Practice Lecturer: Gazihan Alankuş 1.
1Notes  Assignment 1 is out, due October 12  Inverse Kinematics  Evaluating Catmull-Rom splines for motion curves  Wednesday: may be late (will get.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Texture Mapping II April 10, 2003.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics February 26, 2007.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics April 19, 2007.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Adv. Computer Graphics CS6500, Spring 2003.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Texture Mapping.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
Mohan Sridharan Based on slides created by Edward Angel GLSL I 1 CS4395: Computer Graphics.
Shading Languages By Markus Kummerer. Markus Kummerer 2 / 19 State of the Art Shading.
1cs426-winter-2008 Notes  RenderMan resources up on the website  We will be using Pixie this term Check on the website soon (installed on CS linux.
Programmable Shading May 21, Motivation Recall what are done in the graphics pipeline: –Front End: Transformations (Modeling, Viewing, and Projection)
Basic Rendering Techniques V Recognizing basic rendering techniques.
RenderMan (Shading Language: Concepts)
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
Programmable Pipelines. 2 Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Shading. What is Shading? Assigning of a color to a pixel in the final image. So, everything in shading is about how to select and combine colors to get.
Computer Graphics. Requirements Prerequisites Prerequisites CS 255 : Data Structures CS 255 : Data Structures Math 253 Math 253 Experience with C Programming.
Game Engine Programming. Game Engine Game Engine Rendering Engine (OGRE) Rendering Engine (OGRE) Physics Engine (Bullet) Physics Engine (Bullet) Input/Output.
Simulating the Physics of Pool using RenerMan ● Shaders and Texture Mapping ● Spherical Texture Maps ● Rotating the Balls ● Lighting ● Physics Equations.
A Crash Course in HLSL Matt Christian.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
1 Angel and Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Introduction to Computer Graphics Ed Angel Professor Emeritus of Computer.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Computer Graphics I, Fall 2008 Introduction to Computer Graphics.
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 CS4610/7610: Introduction to Computer Graphics.
CS-378: Game Technology Lecture #4: Texture and Other Maps Prof. Okan Arikan University of Texas, Austin V Lecture #4: Texture and Other Maps.
Kansas State University Department of Computing and Information Sciences CIS 736: Advanced Computer Graphics Monday, 24 April 2006 Shaun Budhram (Slides.
RenderMan Introduction CS 551/645 Fall Evaluate Me! Please visit the SEAS main website and use the ‘Course Evaluations’ button to rate this class.
Shadow Mapping Chun-Fa Chang National Taiwan Normal University.
RenderMan Jae Woo Kim Doctoral Student, Institute for Computer Graphics The George Washington University.
COP4020 Programming Languages Names, Scopes, and Bindings Prof. Xin Yuan.
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
Programmable Pipelines Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
CSE 381 – Advanced Game Programming GLSL. Rendering Revisited.
CS380: Computer Graphics Distributed Ray Tracing TA Course URL:
Material obtained from Summer workshop in Guildford County, July, 2014 Unit 6.
ATEC Procedural Animation
NoufNaief.net TA: Nouf Al-harbi.
RenderMan (Introduction). Objective Understanding of graphics algorithms  Rendering pipeline Understanding of Technical Director’s role Learning the.
Cel shading By jared brock.
UV Mapping After a 3D object has been modeled it must be prepared for texturing. 3D surfaces can be “unwrapped” into a 2D representation with. This process.
Rendering & Compositing Jeremy Huddleston Companion Maya/Renderman/Shake Data:
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Advanced rendering techniques 4/2/02. Rendering for animation The big difference: real time vs. off-line Real time: sacrifice quality for performance.
Computer Science – Game DesignUC Santa Cruz Tile Engine.
Computer Graphics.
Photorealistic Rendering vs. Interactive 3D Graphics
Visualization Shading
Programmable Pipelines
Basic Rendering Techniques
Graphics Processing Unit
Basic Rendering Techniques
Rendering & Compositing
Joshua Barczak* CMSC 435 UMBC
Introduction to Computer Graphics
Introduction to Computer Graphics
Image.
CS5500 Computer Graphics April 17, 2006 CS5500 Computer Graphics
CS-378: Game Technology Lecture #4: Texture and Other Maps
Programmable Shading May 15, 2006.
Computer Graphics Introduction to Shaders
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
CS 480/680 Fall 2011 Dr. Frederick C Harris, Jr. Computer Graphics
Presentation transcript:

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 RenderMan & Its Shading Language

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Today’s Short Film Luxo Jr. by Pixar

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Overview Separation of Modeling and Rendering –RenderMan serves as the interface. Scene = Shape + Shading The power of RenderMan is in the shading part.

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Example #1 #include RtPoint Square[4]={{.5,.5,.5},{.5,-.5,.5}, {-.5,-.5,.5},{-.5,.5,.5}}; Main(){ RiBegin(RI_NULL); RiWorldBegin(); RiSurface(“constant”, RI_NULL); RiPolygon(4, RI_P, (RtPointer)Square, RI_NULL); RiWorldEnd(); RiEnd(); }

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Example #2 Colorspheres.c in the BMRT/examples folder.

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Building and Running Must have the following: –Header file: ri.h –Link library –A renderer The program generates a “RenderMan Interface” file, but doesn’t render it –So that you may pick a renderer that matches the graphics power of your machine.

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Comparison to OpenGL It doesn’t do the actual rendering. –Separation of modeling and rendering. –It’s the task of the renderer. RiSurface() changes the graphics state –Similar to glColor() RiPolygon() to describe the models –Similar to glBegin(GL_POLYGON)

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Why C? Binding to other programming language is also possible. (My guess) Maybe just to avoid writing a compiler for its own scripting language…

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 RenderMan Interface Spec Where do you find the meaning of the arguments to those Ri…() functions? –Check the spec! (available directly from Pixar). –Appendix G contains a quick reference. /rispec/rispec_pdf/RISpec3_2.pdf

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 BMRT A public-domain implementation of Pixar Photorealistic RenderMan (PRMan). Three main components: –Rendrib: the renderer –Rgl: quick rendering for preview –Slc: shading language compiler

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Shading Language Many types of shaders are possible: –Light source shaders –Surface shaders –Atmosphere shaders –Volume shaders…etc. We will discuss only the surface shaders.

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Shader Writing Global variables: (from Table 14.2 of The RenderMan Companion book) –Camera position, surface color/opacity, surface position/normal, texture coordinates…etc. –Must output: color of light from surface, opacity of surface. Many built-in operators (Table 14.4) and functions (Ch.15, Tables ).

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Example: Plastic Surface surface plastic (float Ka = 1, Kd = 0.5, Ks = 0.5, roughness = 0.1; color specularcolor = 1) { normal Nf = faceforward (normalize(N),I); Ci = Cs * (Ka*ambient() + Kd*diffuse(Nf)) + specularcolor * Ks*specular(Nf,-normalize(I),roughness); Oi = Os; Ci *= Oi; }

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Gallery of Shaders Procedural textures: e.g., wood Bump mapping and displacement mapping. For more, see Ch. 16 of The RenderMan Companion See also the shaders and examples folders of BMRT.

CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003