Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Multipass Rendering: Achieving Complex Visual Effects with Multiple Passes, Study notes of Computer Graphics

Various techniques for achieving advanced visual effects in computer graphics through the use of multiple rendering passes. Topics include environment maps, shadows, hidden line removal, mirrors, and the opengl stencil and accumulation buffers. Learn how to create realistic reflections, generate accurate shadows, and remove hidden lines for improved rendering.

Typology: Study notes

Pre 2010

Uploaded on 03/16/2009

koofers-user-ycm
koofers-user-ycm 🇺🇸

10 documents

1 / 7

Toggle sidebar

Partial preview of the text

Download Multipass Rendering: Achieving Complex Visual Effects with Multiple Passes and more Study notes Computer Graphics in PDF only on Docsity! Multipass Rendering Enables Many Things But we can achieve many effects with multiple passes • we’ve already seen a couple of examples of this Multiple passes for environment maps • first, we render the world to create an environment map • then we render again to apply this “reflection” Multiple passes for shadows • shadow map algorithm we discussed is another good example • we render the world from each light position • and use multiple passes to generate shadows “Removing” Hidden Lines with 2 Passes Notice that we see all the lines • even for triangles in back • which can be confusing There are many algorithms for this • was once an important problem But OpenGL provides us a nice trick • first, draw all the polygons • but in the background color • now draw all the wireframe lines To make this look nice • see glPolygonOffset() • make lines sit on top of polygons Accumulation Buffer Many multipass rendering methods have a similar structure: • render scene multiple times in different ways • sum/average corresponding pixels in the resulting images OpenGL’s accumulation buffer makes this easy • one downside is that it’s not always implemented in hardware Accumulation Buffer Operations glAccum(GL_ACCUM, s) • copy contents of frame buffer, scaling color values by s and add into current contents of accumulation buffer glAccum(GL_LOAD, s) • same as above, but replace rather than sum values glAccum(GL_RETURN, s) • copy contents of accumulation buffer into frame buffer, scaling each color component by s glAccum(GL_ADD, s) glAccum(GL_MULT, s) • sum/multiply each color component with s Accumulation Buffer Uses Scene antialiasing by super-sampling • clear the accumulation buffer • repeatedly render, moving the camera slightly each time • accumulate each image with glAccum(GL_ACCUM, 1/k) Motion blur by temporal super-sampling • same as above but perturb time instead of camera [see Red Book for implementation details]
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved