Scene Manager Creates and places movable objects like lights and cameras so as to access them efficiently, e.g. for rendering. Loads and assembles world.

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

Real-Time Rendering 靜宜大學資工研究所 蔡奇偉副教授 2010©.
Technische Universität München Computer Graphics SS 2014 Graphics Effects Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung.
Concept of Modeling Model -- The representation of an object or a system Modeling -- The creation and manipulation of an object or a system representation.
Week 7 - Monday.  What did we talk about last time?  Specular shading  Aliasing and antialiasing.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
CSE 381 – Advanced Game Programming Scene Management
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Introduction to Volume Rendering Presented by Zvi Devir.
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Graphics Shadows
09/18/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Bump Mapping Multi-pass algorithms.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Computer Graphics Mirror and Shadows
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
CS 450: COMPUTER GRAPHICS VISIBLE SURFACE DETECTION SPRING 2015 DR. MICHAEL J. REALE.
CSE 381 – Advanced Game Programming Terrain Management
CSE 381 – Advanced Game Programming Basic 3D Graphics
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Visible-Surface Detection Jehee Lee Seoul National University.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CS 638, Fall 2001 Multi-Pass Rendering The pipeline takes one triangle at a time, so only local information, and pre-computed maps, are available Multi-Pass.
Hidden Surface Removal 1.  Suppose that we have the polyhedron which has 3 totally visible surfaces, 4 totally invisible/hidden surfaces, and 1 partially.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Implementation II.
Mark Nelson 3d projections Fall 2013
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Computer Graphics I, Fall 2010 Implementation II.
Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
01/28/09Dinesh Manocha, COMP770 Visibility Computations Visible Surface Determination Visibility Culling.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Chapter 1 Graphics Systems and Models Models and Architectures.
CS552: Computer Graphics Lecture 28: Solid Modeling.

- Introduction - Graphics Pipeline
Computer Graphics Implementation II
3GB3 Game Design Unity 3D Basics.
Week 7 - Monday CS361.
Visible-Surface Detection Methods
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Models and Architectures
Jim X. Chen George Mason University
Models and Architectures
CSCE 441: Computer Graphics Hidden Surface Removal
Models and Architectures
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
CSE 381 – Advanced Game Programming Terrain
Implementation II Ed Angel Professor Emeritus of Computer Science
UMBC Graphics for Games
Models and Architectures
Models and Architectures
CS679 - Fall Copyright Univ. of Wisconsin
Introduction to Computer Graphics with WebGL
Frame Buffer Applications
Implementation II Ed Angel Professor Emeritus of Computer Science
Presentation transcript:

Scene Manager Creates and places movable objects like lights and cameras so as to access them efficiently, e.g. for rendering. Loads and assembles world geometry (large sprawling and generally not movable. Permits scene queries. Setup and rendering of shadows Setup backgrounds like sky boxes Passing organized content to render system. Often organized by location or texture.

Ogre Scene Manager Scene starts with root node. A node can contain entities and other nodes This produces a tree. A nodes can be enabled and disabled. (affects subtree.) Nodes can be translated and rotated. Ogre Scene Manager FAQ

Scene Graphs The scene graph is a structure that arranges the logical and often (but not necessarily) spatial representation of a graphical scene. Modern cards require ordering by textures as well as location for efficiency. Order of object rendering is often important, so Ogre uses queues of queues.

Scene Graphs

Octrees

Octrees

Quadtrees

Z buffer Z-Buffer hold pixel's distance from camera

Frustrum Culling and Z-buffering insufficient Given a large enough set of polygons, no matter how fast the graphics card, sending it too many hidden polygons will overwhelm it. Need algorithms for occlusion culling

Occlusion Culling Octrees Divides space into a tree of octants Interior nodes contain a count of object in node Leaves record objects in node BSP trees (KD trees) Uses Planes (hyperplanes) to divide space into two parts and then repeats Interior nodes and leaves as in Octrees

Polygonal Ordering Painter's Algorithm: Paint the polygons that may be covered by other polygons first. Establishes a “partial” ordering: A is in front of B if A may cover part of B. Necessary for transparency

Using BSP Trees for Polygonal Ordering Back to front order: G, C, F, A, E, B, D V is the view position.

Polygon Aligned BSP Using polygons to determine planes: Select a polygon. The plane containing the polygon divides space in half. If another polygon is cut by the plane, replace it with two new polygons one on each side of the plane. For each half space repeat the above procedure until there are no more polygons.

Sky SkyBoxes - A SkyBox is basically a giant cube that surrounds all of the objects in the scene.

Sky SkyDomes - SkyDomes are very similar to SkyBoxes, and you use them by calling setSkyDome. A giant cube is created around the Camera and rendered onto, but the biggest difference is that the texture is "projected" onto the SkyBox in a spherical manner. SkyPlanes - SkyPlanes are very different from SkyBoxes and SkyDomes. Instead of a cube to render the sky texture on, we use just a single plane.

Sky Which sky to use depends entirely on your application. If you have to see all around you, even in the negative y direction, then really your only real choice is to use a SkyBox. If you have terrain, or some kind of floor which blocks the view of the negative y direction, then using a SkyDome seems to give more realistic results. For areas where you cannot see to the horizon (such as a valley surrounded by mountains on all sides, or the inner courtyard of a castle), a SkyPlane will give you very good looking results for very little GPU costs.

Shadow Maps

Shadow Maps Contain the Z – depth of all points visible to a light. Any point with a greater distance from the light is in a shadow cast by that light. Point coordinates must be converted from a light specific frame to a camera frame. Requires a matrix multiply for each point One for each light. In general only movable objects need to be considered.

Soft Shadows If light is a point source, hard shadow Otherwise soft shadow.

Shadows Other topics Soft shadows. Shadows on curved surfaces Shadow Volumes See Real-Time Rendering, Akenine-Moller, Eric Haines

Terrains Static meshes and height maps. Static meshes allow more freedom with terrain as you can have overhangs. You will need to implement collision detection however if you wish to have entities interact correctly with the terrain Record heights as pixel values

Height Maps Heightmaps are more limiting in that you cannot have overhangs in the terrain. For further terrain details such as bridges for example - you will need to add these as meshes on top of the height map. If you wish to have a cave you would need to leave a hole in the height map in order place meshes later at the appropriate locations. Heightmaps are better suited for large maps and can be further optimised by using the paging scene manager Scene Managers can provide an optimized getHeight function which allows entities to be easily snapped to the terrain. There would still need to be further collision code implemented for any terrain related meshes on the landscape.

Shaders Use texture memory to store data Vertex Shaders – apply programs to vertices of polygons, before interior of polygon is rendered Fragment Shaders – apply programs to points of polygons (fragments). Can use textures for data and masks.

Lighting Equation Can be handled in fragment shader. If point in shadow for a light, skip that light.

More Info SceneManger http://www.ogre3d.org/tikiwiki/OgreBullet http://www.ogre3d.org/wiki/index.php/OgreODE http://www.ogre3d.org/tikiwiki/NxOgre