Assignments • Checkpoint 5 Advanced Topics in Global Illumination – Due today • Checkpoint 6 – To be given today (2 nd half) • RenderMan – Due February 16th Projects Logistics • Project feedback • Final Report – Introduction • Approx 18 projects – Approach Taken • Listing of projects now on Web – Implementation Details • Presentation schedule – Results – Just Feb 16 th and Feb 21 st – Appendix/Code – Feb 14 th – project preparation day Logistics Logistics • Final Report • Final Report (cont’d) – Introduction – Implementation Details • Overview / Description • Overall System Architecture – dataflow diagram + explanation – Approach Taken • Overall Program Architecture – list and description of major • If Application: software components, classes, modules and how these modules – Platform, Language, Libraries, Tools, Compilers used interact. – inputs, outputs, controls • If group project: Explain how integration of individual • If Rendering/Animation contributions were achieved. – Renderer used • If shader used: high level description of shader w/parameters – How motion, shading, or textures were achieved • Algorithms/Techniques Employed 1
Logistics Logistics • Final Report (cont’d) • What I’ll be looking for – Results – Report • Screen shots of application/rendering • The process of design and implementation of the • If application: User documentation project • If study: conclusion of your study • Lessons learned • Architecture rather than code • Possible future enhancements – Leave code details in the code comments – Appendix – I will look at code style! • Code / Shader code – User Documentation • Save the trees: On floppy or CD if possible. • I’ll need to know how to run it. Logistics Computer Graphics as Virtual Photography • To summarize: Final Report real camera photo Photographic Photography: scene (captures processing print – Introduction light) – Approach Taken – Implementation Details processing – Results – Appendix/Code camera Computer 3D tone synthetic model Graphics: models image reproduction (focuses • Questions? simulated lighting) Advanced Topics in Global Illumination Philosophical Questions • Is it necessary to calculate global illumination • A Two Pass Global Illumination Method accurately? (or when is it?) • Reyes • Is photorealism a desirable goal and to what limits should we chase it? 2
Two Pass Method Bi-directional Reflectance Function • Remember -- BDRF: • Remember the Phong Illumination Model = φ θ φ θ BDRF f ( , , , ) ∑ ∑ = + • + • r i i r r k L ( V ) k L k L ( S N) k L ( R V) e a a d i i s i i i i • Represents the physical reflective properties of the surface ambient diffuse specular • Ratio of reflected or transmitted in outgoing direction based on energy arriving from an incoming direction. • Most complete local illumination • Wavelength dependent, but does not account for energy approximation. exchange between wavelength bands. Which Global Illumination Technique? Components of Phong Illumination • Specular – Dependent upon incoming and outgoing direction – Mirror-like reflection • Diffuse – Assumes equal reflectance in all directions – BDRF is constant [Cohen85] [Heckbert84] 1. Why a Two-Pass Global Illumination Method? Two Pass Method • Ray Tracing • Pass 1: View independent (radiosity) – Good for specular reflections • Pass 2: View dependent (ray tracing) – Bad for diffuse reflections – View Dependent – Computationally intensive • Radiosity – Good for diffuse reflections – Bad for specular reflections – View independent – Even more computationally intensive • A two-pass method gives us the best of both worlds 3
(std ray tracing) Two Pass Method Two Pass Method - Preprocess • Four mechanisms of light transport between two • Pass 1: Use hemi-cube radiosity method surfaces – View independent pass – Will provide diffuse reflections for all objects – Already handles diffuse-to-diffuse reflections – Basic algorithm is modified to account for • Diffuse reflections from specular sources • Diffuse transmission BRDF Diffuse Specular Diffuse to Specular • Handles curved surfaces (Wallace) to to Diffuse Specular to (Sillion extended to all surface types) Diffuse Specular (std radiosity) [Wallace87] Two Pass Method - Preprocess Two Pass Method - Preprocess Like calculating reflection • Recall: • Form Factor Modification – Form factors give fraction of light emitted at one patch that arrive at another patch • Modification: – Increase form factor for patch to account for additional light arriving at the point via specular reflection. – And transmission [Wallace87] Two Pass Method – Preprocessing Results Two Pass Method - Pass Two • Pass 2: Ray Tracing For each surface, the diffuse intensity emitted – View dependent pass by the surface has been calculated, whether – Calculation per pixel limits work light is received from diffuse or specular – Ray tracing already accounts for specular-to- sources. specular – Must be modified to accurately account for diffuse-to-specular 4
Two Pass Method - Pass Two Two Pass Method - Pass Two Diffuse-to-specular The Reflection Frustum • Ideally, would consider incoming light from all • Light is collected from a solid angle directions that contribute to specular component. surrounding the ray of incidence • In reality, the light contributing MOST HEAVILY to • The smaller angle, the more mirror-like specular reflection comes from direction of incident (material properties) ray. • Solid angle is approximated by point samples • This allows limiting integration to solid angle over • Light to be considered for specular reflection which the weighted intensity is significant, rather than is determined by a weighted average of the whole hemisphere. sampled rays The Reflection Frustum The Reflection Frustum • Sampling intensities arrive through reflection frustum • Acts like integration with BDRF providing pre- • Incoming specularity is obtained recursively, computed importance weights reducing resolution each level • Used a 10 x 10 pixel array • Used z-buffer • Diffuse component - Gouraud shading • Anti-aliasing performed by jittered rotation of frustum • Solution similar to that used in distributed ray tracing [Wallace87] Two Pass Method - Example Two Pass Method • Reflection frustum - example Perfectly diffuse floors Floors after “polishing” [Wallace87] [Wallace87] 5
Two Pass Method - Summary Results • Rendering in Two Passes • Pass 1: Radiosity – Considers diffuse-to-diffuse reflections – Considers specular-to-diffuse reflections • Pass 2: Ray Tracing – Considers diffuse-to-specular reflections – Considers specular-to-specular reflections • The total light emitted at a point is – Diffuse component, as calculated in Pass 1, plus – Specular component, as calculated in Pass 2 [Wallace87] Results Two Pass Method - Example Full solution Without diffuse Diffuse to diffuse added [Wallace87] [Wallace87] Two Pass Method - Example 2. REYES • Questions? • You might be surprised to know that most frames of all Pixar’s films and shorts do not use a global illumination model for rendering! • Instead, they use REYES • Break? 6
REYES Goals of REYES • Renders Everything You Ever Saw • Complex models (in an era of balls and planes!) • Developed by Pixar and still(?) used as • Model diversity (fractals, graftals, particle systems) primary architecture for Pixar’s Renderman • Shading Complexity implementation, prman • Minimal Ray Tracing (Use textures instead, focus on geometry) • Example of a “practical” rendering system. • Fast…needed for animations (feature length film ‘87, took 1 year, 3 min/frame) • Image quality (no jaggies, aliasing, Moiré patterns) • Build for flexibility REYES REYES Design Principles • Use natural coordinates • REYES uses a basic Z-buffer – Texturing in object space • Z-buffer algorithm – Visibility in image space • Exploit hardware capabilities (parallelism) – In addition to pixel values, array of depths at • Common representation for geometry each pixel is maintained • Locality – Geometric - one object at a time – Image space but object based algorithm – Texture - read texture once and only when needed – Eliminates ray tracing and radiosity – Only intensity of closest object is maintained. • Linearity - time f(model size) • Support (unlimitedly) large models • Back door to allow use alternatives to render some • Efficient access for texture maps REYES REYES – Major Components • Z-buffer • Reliance on texture mapping • Jitter supersampling • Micropolygons 7
Recommend
More recommend