DOC PREVIEW
UCSD CSE 125 - Introduction

This preview shows page 1-2-19-20 out of 20 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

3D Engines in games - Introduction Author: Michal Valient ([email protected]) Conversion (with some corrections) from HTML article written in April 2001. Foreword and definitions Foreword Real-time rendering is one of the most dynamic areas in the computer graphics (later only CG). Three dimensional computer games are in other way one of the most profitable commercial applications of the real-time rendering (and CG as whole). Real-time rendering attracts more and more people every year. With every generation of 3D accelerators we see nicer and more realistic games with new effects and more complex models. This article is meant to be a small introduction to the field of real-time graphics for computer games. The article is divided into several sections • History of 3D games – a brief history of real-time 3D games, accelerators and API's. • Game engine scheme - parts of generic game engine with description. • 3D API basics - very basic description of the pipelines. • World of games - describes the specific world of games, point of view of the gamer and point of view of the programmer. Definitions and identifications • Real-Time Rendering - means a process, when on the screen is displayed a picture, user makes a response and this feedback has an effect to what is rendered during the next frame. This cycle is fast enough to fool user, that he doesn't see individual pictures, but smooth animation. Speed of rendering is measured with fps (Frames Per Second). One fps is not an interactive process. With six fps feeling of interactivity rises. Fifteen fps allows user to concentrate to action and reaction. Upper limit is 72 fps because of limitation of an eye (more in [1]). • 3D - denotation for three-dimensional space. • Pixel - screen point (from Picture Element). • Vertex - denotes point in space with its other properties like normal, color, transparency and others. For example a triangle (or face) is defined in 3D with three vertexes and additional data (normal, texture ...). • Texturing - process which takes a surface and modifies its appearance in every area with some picture, function or other source of data. This source of data, picture or function is denoted as texture. One texture point is named texel. • Billboarding - method of replacing potentially complex (3D) object with it's 2D representation (a sprite) rendered from some point of view and showing this sprite upright to the camera no matter how camera is rotated. More in [1] on page 152. • Mipmapping - process of choosing a texture from pool of (identical) textures with various resolutions according to the distance of textured object. The smallest texture is used on the farthest object and high resolution texture is used on near object.• Lightmapping – a method of shading. Objects are shaded using for example radiosity or raytracing and shade for every triangle (or whatever is used) is stored in the texture. Material of the triangle is modulated with this texture during rendering to improve the realism of the scene. An advantage is that this method is fast at render time. Disadvantage is that this method is computationally very intensive and therefore cannot be used for moving lights or objects. History History of 3D real-time rendering in the computer games falls back to year 1984 to the 8-bit computer ZX Spectrum (i.e. game Zig-Zag, sorry no picture). On this computer with 4 colors and memory of tens of kilobytes was 3D game a peak of art. Later more powerful 8-bit computers came like the Amiga (also 16-bit version) and the Atari. The graphics (mostly on Amiga) was much better. It was a revolution in the world of entertainment when first 16-bit PCs came and company id Software (and mostly the programmer John Carmack) created the game Wolferstein 3D back in 1992. It was the first game where textures were used. All objects were painted using the billboarding method. It’s true, that there was only one rotation axis computed (left/right), only (perfectly vertical) walls were painted with the texture and all levels were basically 2D but popularity of that game (and sequel Spear of Destiny) indicated what people want to play. (Update 2004 - In the same year Ultima Underworld was released and featured fully textured 3D engine) Pictures from Wolferstein 3D and Spear of Destiny In the year 1993 id Software overcame themselves and the game DOOM advanced the limit of what is possible. Game works in higher resolutions, textures are used also on the roof and the floor and the rooms are no more flat, but full of steps and rises. Rotation was possible around two axes (left/right and up/down) and all moving objects were rendered using billboards. The game introduced network deathmatch and cooperative mode. John Carmack and id Software are legends from that moment. Game had a sequel named DOOM2.DOOM1 and DOOM2 Next revolution game was released in the year 1995 - Descent by Parallax software. It allows movement and rotation in every direction. Attempts with the Virtual Reality helmets began in that time, but because of low resolution of the head mounted displays and small computational power of the PC they were not successful. Descent The Quake was released in the year 1996 (again Carmack and id Software). And it was a breakthrough in the 3D computer games. Every in-game model was fully 3D. Other features are - mipmapping, dynamic scene lighting (vertex only) and static objects were shaded using lightmaps. QuakeQuake The Year 1997 was revolutionary in 3D games. First 3D accelerator for the home PC was created and it was Voodoo from 3Dfx. With hardware implemented features like bilinear filtering of textures, fog and perspective correct texture mapping allowed the developers to skip writing the hardest part of engine code - low level routines for painting textured triangles fast and visually correct. Games were nicer (due to filtering), faster and with more details. It was only a question of time, when accelerators would be mandatory for 3D games. OpenGL, in that time the domain of professional SGI workstations, started to be used widely by game developers. It is a non object oriented library that allows quality and fast rendering both in 2D and 3D. OpenGL specification is defined and upgraded by the Architecture review board – ARB - (community of companies like SGI, NVIDIA, 3D Labs and others), so it is an open standard. However this approach has some


View Full Document

UCSD CSE 125 - Introduction

Download Introduction
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Introduction 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?