You are on page 1of 4

3D GRAPHICS PIPELINE Graphic pipeline is a process that relies on hardware and software to transform the representation of some 3D scene

e into a 2D image that you can see on the screen. Complex process. Creating one single frame of 3D animation involves thousands of calculations. Process is combination of components which in turn forms pipeline.

The inputs which go into a graphics pipeline are as follows: Geometry:

1) All rendered objects have various properties with respect to their size, shape etc. 2) In 3D engines, each shape is broken down into triangles. Material:

1) Objects are made up of some material and this defines color and opacity of the object. Textures:

1) These are images which add detail to object being rendered and help in rendering realistic texture surface. Lights:

1) Used to light up the scene and environment. Camera:

1) Defines how scene will finally appear to viewer. 2) Scene can have multiple cameras. Operations performed on objects to create final scene: Transformation:

1) Concerned with manipulation and transformation of data you submitted. 2) Operations such as scaling, rotation, translation are performed to objects. Clipping:

1) Objects which are not within rendering frame are avoided.

2) Also done to speed up the rendering process. Lighting:

1) Defines how much light falls on objects. 2) Also calculates shadows and reflections etc. Rasterization:

1) 3D world is rendered to be represented on 2D plane. 2) Pixel by pixel processing is done Scene Graph: It is a way of ordering data into a hierarchy where parent nodes affect child nodes To create a scene graph scene classes are requried Scene class encapsulate the Direct3D interface,matrix stack and movment controller

Scene node: It helps in constructing the scene.

1. Transform node 2. Camera node 3. Geometry node 4. Mesh node

Transform Node: a) It encapsulates a frame of reference basically consist of transformation matrix. b) Eg: PreRender(), PostRender(), SetTransform() method.

Geometry Node: a) It renders simple geometric shapes on the screen. It also inherits the transform node. b) Eg: Render() method

Mesh Node:

a) It is used to render more than just the basic shapes. D3DMATERIAL9 object is used to render the mesh object with various class and light properties. Camera Node: a) It encpsulates the location and orientation of the camera.

The Game Engine

A game engine is a software system designed for the creation and development of video games It comprises of reusable components to help build the disparate elements of a the game and then pull them together to create a functioning whole Since it is a reusable component, it reduces cost and time of development.

The history of game engine: The term arose in mid 1990s With first person shooters Quake and Doom allowing other developers to use their core portions Later Quake III Arena and Unreal were designed with this approach in mind, with the engine and content developed separately with making available usage of the core engine under license giving new source of income

The building process of game engine: It follows a component-based architecture that allows specific systems in the engine to be replaced or extended with more specialized (and often more expensive) game middleware components such as Havok for physics, Miles Sound System for sound, or Bink for Video. Some designed as a series of loosely connected game middleware components that can be selectively combined to create a custom engine, instead of the more common approach of extending or customizing a flexible integrated solution. E.g. RenderWare

Components of game engine: Rendering engine for 2D and 3D graphics Physics engine collision detection AI engine path finding, character behavior Sound engine

Animation engine Networking engine (MMO middleware) for multiplayer games Threading engine Localization engine

Advantages of game engine: Building sequels faster and easier use same game engine, just change the textures graphics and maps Developing game engine functionality in house Takes time Testing increases cost 3rd party engines already used in many games and hence are industry proved 3rd party game engines develop stable and rapidly than those built in house Support for new hardware is added quickly to 3rd party engines

Hardware abstraction

Most engines built on APIs like Direct3D and OpenGL which provide hardware abstractions from GPUs Low-level libraries such as DirectX, Simple DirectMedia Layer (SDL), and OpenAL provide hardware-independent access to other computer hardware such as input devices (mouse, keyboard, and joystick), network cards, and sound cards Before hardware-accelerated 3D graphics, software renderers were used and are still used in some modeling tools or for still-rendered images when visual accuracy is valued over real-time performance (frames-per-second) or when the computer hardware does not meet needs such as shader support Abstraction of the physics processing unit of different middleware providers and console platforms. With the advent of hardware accelerated physics processing, various physics API such as PAL and the physics extensions of COLLADA became available to provide a software

You might also like