Quake Engine. THE QUAKE ENGINE IS OLD (relatively) Made in 1996 to power the game of the same name. id’s follow up to the immensely popular “DOOM” Made.

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
AreaPortal Visibility By Filami. Objectives Practice the techniques of visibility determination using Area Portals; Develop an experimental application.
David Luebke5/11/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
CECS461 Computer Graphics II University of Missouri at Columbia Hidden Surface Removal.
1 Computer Graphics Chapter 9 Rendering. [9]-2RM Rendering Three dimensional object rendering is the set of collective processes which make the object.
Visibility in Computer Graphics Toni Sellarès Unversitat de Girona
CSE 381 – Advanced Game Programming Scene Management
Korea Univ. Graphics Lab. 3D Game Engine Design Chapter 12. Spatial Sorting Chung Ji Hye
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
1 Dr. Scott Schaefer Hidden Surfaces. 2/62 Hidden Surfaces.
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
Lighting Effects in Computer Games Act II Ivan Viola Institute of Computer Graphics & Algorithms Vienna University of Technology Vienna / Austria.
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
Visible-surface Detection Computer Graphics Seminar MUM
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
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.
Spatial Data Structure: Quadtree, Octree,and BSP tree Mengxia Zhu Fall 2007.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Other Rendering Techniques Types of rendering – Wireframe techniques – Scan-line conversion – Reyes.
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.
Hidden Surface Removal
1 Occlusion Culling ©Yiorgos Chrysanthou, , Anthony Steed, 2004.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
10/29/02 (c) 2002 University of Wisconsin, CS559 Today Hidden Surface Removal Exact Visibility.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
mo_chardesign2/ mo_chardesign2/ New iMap
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
09/11/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Graphics Pipeline Texturing Overview Cubic Environment Mapping.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
The BSP-tree from Prof. Seth MIT.. Motivation for BSP Trees: The Visibility Problem We have a set of objects (either 2d or 3d) in space. We have.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Visible-Surface Detection Jehee Lee Seoul National University.
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Using BSP for CD Ref: BSP in deBerg et al ’ s book (url)url.
Taku KomuraComputer Graphics Local Illumination and Shading Computer Graphics – Lecture 10 Taku Komura Institute for Perception, Action.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
3/23/04© University of Wisconsin, CS559 Spring 2004 Last Time Antialiasing –Area-weighted sampling Visibility –Painters algorithm –Depth buffer (Z-buffer)
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Advanced Computer Graphics Shadow Techniques CO2409 Computer Graphics Week 20.
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Graphic pipeline  Scan-conversion algorithm (high level)  Pixels.
Where We Stand At this point we know how to: –Convert points from local to window coordinates –Clip polygons and lines to the view volume –Determine which.
Computer Graphics I, Fall 2010 Implementation II.
Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Game Engine Design Quake Engine Presneted by Holmes 2002/12/2.
BSP Tree Supplement Jyun-Ming Chen. Fall Kd-Tree and BSP tree kd-tree is a special kind of bsp tree.
Computer Graphics Inf4/MSc 1 Computer Graphics Lecture 5 Hidden Surface Removal and Rasterization Taku Komura.
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
Volume Rendering (3) Hardware Texture Mapping Methods.
Illumination and Shading Prof. Lizhuang Ma Shanghai Jiao Tong University.
Visibility-Driven View Cell Construction Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
Computer Graphics Implementation II
Week 2 - Monday CS361.
Real-Time Soft Shadows with Adaptive Light Source Sampling
Computer Graphics Chapter 9 Rendering.
Solid Area Scan Conversion or Visible Surface Detection
Hidden Surfaces Dr. Scott Schaefer.
Jim X. Chen George Mason University
CSCE 441: Computer Graphics Hidden Surface Removal
Visibility (hidden surface removal)
Presentation transcript:

Quake Engine

THE QUAKE ENGINE IS OLD (relatively) Made in 1996 to power the game of the same name. id’s follow up to the immensely popular “DOOM” Made the transition from DOOM’s psuedo- 3D (2.5D?) to levels and models actually rendered in 3D with polygons

Graphics in the 90’s Developers were faced with severe hardware limitations when tasked with making a 3D game that would run well on the average 90’s Home computer. Solution: Pre-processing, getting rid of any and all superfluous polygons, and other loopholes.

Binary Space Partitioning Tree The world is divided into convex subspaces. If a node is not inside the viewing frustum, then neither are it’s descendants. The problem is obscured polygons inside the frustum. Painter’s Algorithm: BAD FOR GAMES.

Potentially Visible Set Rather than have an algorithm determine what is visible during valuable rendering time, the developers decided to just attach to each leaf in the BSP tree, a list of every other leaf visible from that one. Naturally, this method does not work for moving objects.

Moving Objects Moving objects in a BSP tree are a pain to keep track of and there are extra polygons produced when the model is between subspaces. First, the non-moving world is produced with its BSP tree and its Z values are stored in a Z-Buffer. Then the moving objects are drawn using Z-Buffering to determine which are visible

Getting Rid of More Things Distant objects are indistinguishable blobs anyway. Why waste rendering time? “Subdivision Rasterization” The difference is not noticeable until close distances so most objects use this method

Lighting Smooth shading is bad for large polygons. During pre-processing, lightmaps are made for polygons by casting light from close sources. During runtime, textures are applied to polygons and are lit according to the pre-made maps.

Lighting Models Smooth Shading is fine for moving models. The intensity of ambient light is determined by the lightmap on the floor. Constant light vector

Sources “Ramblings in Realtime” by Michael Abrash. Images Obtained from Wikipedia, a Google image search, and the aforementioned article.