210 likes | 430 Views
Ross Brown. INB382/INN382 Real-Time Rendering Techniques Lecture 13: Revision. Lecture Contents. Lecture Summaries Exam Pointers. A Revision of History. "Saint (n): A dead sinner revised and edited. ” Ambrose Bierce. Revision Lecture.
E N D
Ross Brown INB382/INN382 Real-Time Rendering Techniques Lecture 13: Revision
Lecture Contents Lecture Summaries Exam Pointers
A Revision of History "Saint (n): A dead sinner revised and edited.” Ambrose Bierce
Revision Lecture • Feel free to ask lots of questions during this lecture – it should be short
Lecture 1 - Intro Present Programmable Hardware Pipeline Pipeline-based – geometry unit/rasterisation unit Stream Processors – apply kernel(function) to data stream Introduction to Shader Programming Vertex shaders – geometry unit Geometry Shaders– not covered in any depth Pixel shaders – rasterisation unit Introduction to Unity Programming IDE, Project, C# and Cg shaders
Lecture 2 - Shaders Vertex Shaders – work on vertices Fragment Shaders – work on fragments (potential pixels Shader Languages: HLSL, Cg, Sh, Brook Transform pipeline, Translate, Rotate, Scale, Camera etc. Further shader language constructs in Cg and Shaderlab
Lecture 3 – Surface Appearance Projections Orthographic. Perspective Materials ambient, diffuse and specular reflection Lighting Techniques Surface normal dot light direction Shading Techniques Phong – pixel shader Gouraud – vertex shader Transparency, Alpha, Compositing The a in rgba Fog Use of shading for depth perception
Lecture 4 - Texturing Multitexturing Break a problem into passes mixing textures Multipass Texturing Passes are a key to simplifying problems Texture Animation Texture is just a LUT Environment Mapping First form of global illumintation via LUT Antialiasing Signal Processing Issues, occurs time and time again
Lecture 5 – Advanced Lighting Radiometry Computer graphics is a numeric lighting solution approximating reality Photometry Need to allow for human vision in the calculations Colorimetry Specifying color is hard, and needs precision Ashikhmin-Shirley Lighting Model Advanced reflectance – fresnel, anisotropy BRDFs Modelling lit surfaces using experimental data
Lecture 6 – Advanced Shading Normal Mapping Using images to model geometry Parallax Mapping Use ray tracing to enhance by allowing for the viewpoint Displacement Mapping Can move the vertices using image information as well Motion Blur Use blending to create exposure effects Depth of Field Use blending to model non-pinhole optics
Lecture 7 – Procedural Texturing Procedural Texturing Methods Modelling imagery using functions Noise Generation Perlin Noise - a new primitive for generating natural phenomena Noisy Materials: Wood, Stone, Gases Addition of weighted noise harmonics
Lecture 8 – Reflections, Refractions and Ray Tracing Reflections Planar reflections using transforms scale(1.0, -1.0, 1.0) Refractions Snells law using refract function call Ray Tracing Simple algorithm, which is costly Occlusion Mapping Object and Screenspace based
Lecture 9 – Global Illumination Radiosity Model the distribution of light into scene patch by patch Refine solution until little change Spherical Harmonics Model the distribution of light over a hemisphere covering a polygon Dot product of occlusion function and light function
Lecture 10 – Shadows and Image-based Rendering Shadow Maps – In Exam Less processing cost, uses memory and aliases Shadow Volumes Less memory, more precise, cost with shadow volume generation Soft Shadows Aliasing issues yet again – solved by forms of blurring Billboarding Use images in place of geometry Image Processing Used for full screen effects Bloom Filter, Edge Detector
Lecture 11 – Non-photo Realistic Rendering, Particles and Translucency Non-Photo Realistic Rendering Toon Shading Silhouette Edge Rendering Particle Systems Application of billboarding to many particles Translucency Modelling the scattering of light in objects GPGPU Using the GPU for other processing tasks: physics, computer vision…
Lecture 12 - Scene Management and Future of Graphics Scene Graph extras Design Tree Spatial Structures PVS via Occlusion Culling Rendering Bins The Future Improvements in capacity, and application thereof Changes from hardware acceleration to software ray tracing
What have we learned? • Use Textures as LUTs • Aliasing is everywhere on digital systems • Keep information on the GPU • There are many algorithms for one effect – you need to evaluate speed, appearance, etc. • Graphics is a solved problem – just getting faster • Unity can have its graphics pipeline modified, to create custom shaders • INB382 as I teach it will be soon obsolete, maybe in Unity 5
Exam Information First question is memory fluff – short answer Middle questions are medium sized programming and analysis Final question is a non-trivial programming problem Do the previous exam questions I have uploaded onto Blackboard - one question is reused from a previous exam Do the tutorial questions - one tutorial question is reused in the exam (can be theory or programming)
Exam Information Allowed to take four pages of notes – no restrictions Emphasis is on Shaders – both Analysis and Programming Exam in the large is not on the Scene Graph and Direct3D Two hours, 50 marks – approximately two and half minutes per mark
My Projects Need Minions!Contact me if you would like me to supervise you for Honours and other projects