Download presentation
Presentation is loading. Please wait.
1
18.1 Si31_2001 SI31 Advanced Computer Graphics AGR Lecture 18 Image-based Rendering Light Maps What We Did Not Cover Learning More...
2
18.2 Si31_2001 Model-based Rendering n Conventional approach is: – create 3D model of a virtual world – project each object to 2D and render into frame buffer n Scene complexity is a major factor – real-time walkthroughs of complex scenes needs powerful processing – affects major application areas such as computer games and VR
3
18.3 Si31_2001 Image-based Rendering n Goal: – make rendering time independent of scene complexity n Approach: – make use of pre-calculated imagery – many variations - we look just at two n Question: – where have we met pre-calculated imagery before?
4
18.4 Si31_2001 Image Caching - Impostors n Basic idea: – cache image of an object rendered in one frame for re-use in subsequent frames n Technique – project bounding box of object onto image plane to get rectangular extent for that view – capture image and put in texture memory – for next view, render an ‘impostor’ which is a quadrilateral in plane parallel to initial view plane, and texture map with the original image – texture mapping uses current view so image is warped appropriately
5
18.5 Si31_2001 Image Caching n Validity of impostors: – once view direction changes substantially, the impostor is no longer valid – object then re-rendered n Hierarchical image caching: – use BSP trees to cluster objects in a hierarchy – distant objects can be clustered and a single image used to render the cluster
6
18.6 Si31_2001 Environment Mapping - Revision n Pre-computation: – from object at centre of scene we rendered 6 views and stored resulting images as walls of a surrounding box – caches light arriving at object from different directions n Rendering time – specular reflection calculation then bounced a viewing ray onto point on interior of box and used its colour as the specular colour of the object
7
18.7 Si31_2001 Light Fields n Concept: – for every point, cache the light or radiance emanating from that point in each direction – rendering involves looking up (very large) table – five dimensions: (x,y,z) to give position and ( to give direction – in ‘free’ space, radiance constant along a line, so we have a 4D light field - we pre- compute the radiance along all lines in the space
8
18.8 Si31_2001 Indexing the Lines n Use two parallel planes - think of these as between viewer and scene u v s t L(u,v,s,t) For each point on (u,v) grid, we have a line to every point on (s,t) grid - ie 4D set of lines - known as light slab viewer scene
9
18.9 Si31_2001 Constructing a Light Field n Place camera on (u,v) plane – for each point on grid ( u i, v j ), render scene and store image as: Image ij (s k, t l ) – giving a 2D array of images! n Do this from all six surrounding directions of the scene - ie six light slabs
10
18.10 Si31_2001 Rendering n The rendering operation is now a linear look up operation on our 2D array of images n For example, any ray in a ray tracing approach will correspond to a particular 4D point (u,v,s,t) - we look up its value in the light field (using interpolation if it is not exactly on a grid point
11
18.11 Si31_2001 Compression n Technique is only feasible because there is coherence between successive images n Hence the 2D array of images can be compressed by factors of over 100
12
18.12 Si31_2001 Model-based versus Image- based Rendering virtual world model real-time interactive flythrough real world images model construction real-time rendering image acquisition image-based rendering off-line rendering image analysis
13
18.13 Si31_2001 Light Maps
14
18.14 Si31_2001 The Problem with Gouraud…. n Gouraud shading is established technique for rendering but has well known limitations – Vertex lighting only works well for small polygons… – … but we don’t want lots of polygons!
15
18.15 Si31_2001 Pre-Compute the Lighting n Solution is to pre- compute some canonical light effects as texture maps n For example…
16
18.16 Si31_2001 Rendering using Light Maps n Suppose we want to show effect of a wall light – Create wall as a single polygon – Apply vertex lighting – Apply texture map – In a second rendering pass, apply light map to the wall
17
18.17 Si31_2001 Light Maps n Widely used in games industry n Latest graphics cards will allow multiple texture maps per pixel
18
18.18 Si31_2001 What We Did Not Cover
19
18.19 Si31_2001 Parametric Surface Representation n Rather than require the user to represent curved surfaces as an ‘IndexedFaceSet’ of flat polygons, some modelling systems allow representation as Bezier or spline surfaces n Hearn & Baker Chap 10
20
18.20 Si31_2001 Constructive Solid Geometry n Rather than model objects as surfaces, some systems work in terms of solid objects - field known as Constructive Solid Geometry (CSG) n Hearn & Baker, Chap 10 n Primitive objects (sphere, cylinder, torus,..) combined by operators (union, intersection, difference) n Result is always a solid n Rendering via ray tracing typically
21
18.21 Si31_2001 Volume Graphics n A very new approach is to model using volumes - with varying transparency n OpenGL Volumizer adds this capability to OpenGL n See: www.sgi.com/software/volumizer n Mitsubishi Volume Pro 500 board – www.rtviz.com
22
18.22 Si31_2001 Procedural Modelling n Objects can be defined procedurally - ie by mathematical functions n See Hearn & Baker, Chap 10 n Fractals are well- known example n See The Fractory: library.advanced.org/3288/
23
18.23 Si31_2001 Other Important Topics n Colour n Anti-aliasing n Animation n … and much more!
24
18.24 Si31_2001 Learning More n Journals: – IEEE Computer Graphics and its Applications – Computer Graphics Forum – Computers and Graphics n Conferences: – ACM SIGGRAPH (Proceedings as ACM Computer Graphics) – Eurographics – Eurographics UK
25
18.25 Si31_2001 The End
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.