even more jobs
play

Even more jobs Spring Career Fair Shading Architectures Fair - PDF document

Even more jobs Spring Career Fair Shading Architectures Fair Wednesday, March 28th 11am - 4pm Gordon Field House Interviews Thursday, March 29th www.rit.edu/recruit Plan Shader Architectures Today RenderMan


  1. Even more jobs  Spring Career Fair Shading Architectures  Fair  Wednesday, March 28th  11am - 4pm  Gordon Field House  Interviews  Thursday, March 29th  www.rit.edu/recruit Plan Shader Architectures  Today  RenderMan  Shader Architectures  Cg  Next Week  Shader Language Specifics  How they are alike  Tuesday: Lecture  How they are different  Thursday: Lab Shader System RenderMan  Common traits:  Renderman consists of three parts:  Functional scene description mechanism (API for  Scene separate from shader C) Renderman is an Interface!  “load” a “compiled” shader  State Model Description – Maintains a current graphics  Parameter passing between scene and shader state that can be placed onto a stack.  Global “graphics state” variables  Geometry is drawn by utilizing the current graphics state.  File format - Renderman Interface Bytestream  Shader programs components of rendering (RIB) pipeline.  Shading Language and Compiler.  https://renderman.pixar.com/products/rispec/index.htm 1

  2. Rendering using RenderMan Runtime architecture 3D Scene Shader 1 Shader Shader / render link Description “object” RenderMan file Shader 2 slc (RIB) Renderer Shader Shaders Shader 3 “object” (prman) Graphics file state (compiled shader code) Shader “object” file Texture Map Rendering application Renderman Shading Language Renderman Shading Language  Renderman Shading Language  Unlike other shading languages, RenderMan allows for procedural definition of all types of light transport,  Inspired by Cook’s shade trees not just reflection  Goals  Light emission  Atmospheric effects  Abstract shading language based on ray optics,  Reflection independent of any specific algorithm or  Transmission implementation  Transformations  Interface between rendering program and  Bump Mapping shading model  High level language that is easy to use. Renderman Shading Language Renderman Shading Language  Types of shaders  Types of Shaders  Light source shaders - calculates the color of  Displacement Shaders - perturb the surface of a light being emitted in given direction. an object  Surface reflectance shaders - computes the  Imager Shader - post processing on image light reflected from a surface in a given pixels. direction  Volume shaders - implements the effect of light passing through a volume of space, i.e., exterior, interior and atmospheric scattering effects. 2

  3. Renderman Shading Language RenderMan scene  RenderMan assumes a basic “graphics state”  Dataflow Model scene model  Scene hooks into shader  Achieved via predefined “global” variables  Result of shader  Achived by setting other predefined “global” variables.  Shaders programmed independently from other shaders [ Renderman Companion , 277] Renderman Shading Language Renderman Shading Language Attaching shaders to object  Dataflow Model  RiLightHandle RiLightSource (“name”, parameterlist); or LightHandle LightSource “name” parameterlist - sets shader “name” to be the current light source shader  RiSurface (“name”, parameterlist); or Surface “name” parameterlist - sets shader “name” to be the current surface shader. RiAtmosphere (“name”, parameterlist); or  Atmosphere “name” parameterlist - sets shader “name” to be the current atmosphere shader. [ Renderman Companion , 277] Light Shaders Light Shaders  Define color and intensity of light in a given direction  Light is “collected” by other shaders not “emitted” by light source shader  Light shaders define “potential” light that can be collected later. [ Renderman Companion , 277] 3

  4. Surface Shaders Light Shaders [Renderman Companion , 277] Surface Shaders Illumination Models  Defines color/opacity at a surface point  Can query defined light sources  Approaches  Illumination Model  Image Textures  Procedural Textures  Bump Mapping Image Texture Mapping Environment Mapping 4

  5. Procedural Textures Procedural Texture Different plain Grooved grain Different colors mortar colored within bricks bricks Olano, 1998, http://www.cs.unc.edu/~olano/papers/dissertation/ Displacement Shaders Displacement Shaders  Used to perturb normal to give appearance of wrinkles  Basic bump mapping  Applied before surface shader [Renderman Companion , 277] Volume shaders Displacement Shader [Renderman Companion,277] 5

  6. Volume Shader Volume shader  Defines change of color/opacity of light going through a volume  Fog, smoke, fire, haze Imager Shader Imager Shader  Allows for postprocessing of final rendered image  Applied pixel-by-pixel  Tone reproduction  Non-photorealistic rendering  Supported in prman? [ Renderman Companion , 277] Imager Shader Shader order in prman  Displacement Shader  Surface Shader  Queries light shaders  Volume Shaders  Imager Shader  prman creates bytecode for SIMD virtual machine for compiled shaders 6

  7. Summary -- RenderMan Real-time Shading  Interface -- not a renderer  Linked to hardware  Independent of actual implementation  RenderMan == GOOD  Scene / Shader separation  Can it be done on the graphics card?  Shaders define interactions of light &  Assembler geometry modification  Higher level language  Light / Surface / Displacement / Volume / Imager  break Real time vs Off-line shading Graphics Hardware Pipeline  Interactivity  Viewpoints will change  Performance is critical  Frame to frame  Execute on GPUs  Restrictions  Memory  Registers  Texture units and memory  Data type accuracy Graphics Hardware Pipeline Graphics Hardware Pipeline  Vertices  define geometrical primitives  Position in 3D space  Color / text coords / materials / etc.  Fragments  “pixel state” -- Correspond to pixels  3D -> 2D  Projection  Scan conversion 7

  8. Shading applets Programmable Graphics Pipeline  Gouraud:  http://www.vidimce.org/college/school/cs4 413.f96/program.6/ GPU Assembler Programmable Graphics Pipeline  Vertex processor  Operates on vertices  Vertex shaders  Fragment processor  Operates on fragments  Fragment / Pixel shader Cg Environment Cg Enviornment  Cg == “C for Graphics”  Cg Compilation  Proceed with caution.  Indirect link to GPU  Standard APIs  Compiles to interface with OpenGL or Direct3D layer  Layer of standardization / abstraction from  OpenGL/DirectX will command the GPU graphics card (GPU)  CGRuntime  OpenGL  Direct3D 8

  9. Cg Environment CgFX  Putting it all together  File format for encapsulating complete render state for an effect  Allows for “packaging of effects”  Loading of effects in external applications.  Maya  3D Studio Max  SoftImage CgFX Some realtime demos So what, you say Unintended effects  GPUs are good processors in their own  nVidia videos right  Programming non-graphical apps on GPUs  Image Processing  Numerical Computation  Animation  Data Mining 9

  10. Cg Summary Next week  Platform / Hardware independent  Lecture: Language nuts and bolts language  Lab: RenderMan / Cg “Hello World”  Scene / Shader separation  Shaders Linked to hardware  Only fragment and vertex shaders  Questions 10

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend