GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Advertisements

FireMonkey Deep Dive The Next Generation of Business Application Development.
HARDWARE ACCELERATED WEB BROWSER Berlian Juliartha M.P Indah Yudi Suryani Wais Al Qonri H
DirectX: A Brief Overview Daniel D’Agostino. Example: Far Cry 2.
Survey of Graphics and Games. Outline Overview of computer graphics – Coursework – Research Programming using game engines Computer game and animation.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics February 26, 2007.
UFCEKU-20-3Web Games Programming History and Technology of Computer Games.
Computer Games: History and Content Presented by Barry Dean UWE.
Further Programming for 3D applications CE Introduction to Further Programming for 3D application Bob Hobbs Faculty of Computing, Engineering and.
The Graphics Pipeline CS2150 Anthony Jones. Introduction What is this lecture about? – The graphics pipeline as a whole – With examples from the video.
1 A presentation on DirectX® Alex Brill Emil Elazar Noam Monheit.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics? Ed Angel Professor of Computer Science, Electrical and Computer.
Computer Games: History and Content Presented by Barry Dean UWE.
By Steven Taylor.  Basically a video game engine is a software system designed for the creation and development of video games.  There are many game.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
How to Be a Game Developer
Klas Skogmar, Lund Institute of Technology Real-time Video Effects Using Programmable Graphics Cards Master of Science Thesis Klas Skogmar
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
1 DirectX CIS 487/587 Bruce R. Maxim UM-Dearborn.
Computer Graphics Introducing DirectX
CSU0021 Computer Graphics © Chun-Fa Chang CSU0021 Computer Graphics September 10, 2014.
Background image by chromosphere.deviantart.com Fella in following slides by devart.deviantart.com DM2336 Programming hardware shaders Dioselin Gonzalez.
GPU Programming Robert Hero Quick Overview (The Old Way) Graphics cards process Triangles Graphics cards process Triangles Quads.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Laurent Noel.
Graphics Hardware and Graphics in Video Games COMP136: Introduction to Computer Graphics.
Tim Madden ODG/XSD.  Graphics Processing Unit  Graphics card on your PC.  “Hardware accelerated graphics”  Video game industry is main driver.  More.
UFCEKU-20-3Web Games Programming Game Development Environments and Middleware.
차세대 그래픽 개발 환경.NET & DirectX 강성재 Community Specialist Microsoft Corporation.
Nick Sims Like a motherboard, a graphics card is a printed circuit board that houses a processor and RAM.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
1 ETC. 2 Sounds FX Sounds FX –WAV audio files –Load into memory and play it »Load »Play »Stop »Pause –2D or 3D »3D should be integrated into scene management.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Advanced Computer Graphics September 15, Grading Programming homework Paper study and presentation Final project No written exams.
Windows, Linux, Mac, Android, iOS
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Ahmed Saker Indie Game Developer
What is Computer Graphics?. 2 Objectives In this lecture, we explore what computer graphics is about We will give a historical introduction.
1 Contents  Audio  Sprite  Input devices  Game production milestones  Course summary.
Tim Madden ODG/XSD.  Graphics Processing Unit  Graphics card on your PC.  “Hardware accelerated graphics”  Video game industry is main driver.  More.
GAM666 – Introduction To Game Programming ● DirectX is implemented as a collection of COM objects ● To use a DirectX program, the user must have the correct.
Super Pong Andrew S. Dunsmore CSC436 August 2004.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
David Luebke 1 1/20/2016 Real-Time Rendering CS 446 David Luebke.
Introduction to Game Programming Pertemuan 11 Matakuliah: T0944-Game Design and Programming Tahun: 2010.
Ray Tracing using Programmable Graphics Hardware
+ Game Design Careers. + Game Development Developing an interesting video game is a very challenging task. It usually takes many different people working.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
What is DirectX? DirectX is built by Microsoft as a collection of API’s (Application Programming Interfaces) for the purpose of multimedia processing.
CSc4820/6820 Computer Graphics Algorithms Lecture 28
Unit 20 – Computer Game Platforms & Technology – Software Technology
What is Computer Graphics?
Chapter 1 An overview on Computer Graphics
Computer Graphics - Introduction -
Chapter 1 An overview on Computer Graphics
What is Computer Graphics?
What is Computer Graphics?
Understanding Theory and application of 3D
Managed DirectX Joe Gavin.
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
CO1301: Games ncepts 2016 Lecture 2
Unit 20 Software Part 2.
Unit 20 Software Part 2.
Computer Graphics Graphics Hardware
What is Computer Graphics?
Computer Graphics Introducing DirectX
Presentation transcript:

GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX 7 ● 3D animation using DirectX 9 ● Sound using DirectX Audio ● Joystick using DirectInput ● 3D animation using OpenGL ● Other parts of DirectX ● Student Project Course Overview

GAM666 – Introduction To Game Programming ● Hardware limits what you can do ● Requires highest level of programming skill to get the most out of the machine ● Dedicated hardware evolves to get past bottlenecks, e.g. 3D Acceleration Performance Matters

GAM666 – Introduction To Game Programming 3D Acceleration Background ● Current technology stores 3D objects as collections of triangles in 3D space which must be projected and clipped onto the 2D screen in front of you ● Images (textures) are laid across these triangles making them seem more than just triangles ● Lighting calculations further enhance realism by adjusting the final colour depending on the location of light sources ● Some or all of the necessary calculations can be offloaded from CPU to video card

GAM666 – Introduction To Game Programming 3D Acceleration Background ● 3Dfx effectively created the market in mid 90s by introducing arcade-style acceleration to consumer PC market (using a proprietary API, Glide) ● Microsoft created a Game Development library called DirectX, working with video card manufacturers to provide a common API to use with all brands of video card ● OpenGL (originally from SGI) was also adapted to work with any brand of accelerated video card ● nVidia and ATI now dominate the market

GAM666 – Introduction To Game Programming 3D Acceleration Trends ● Until recently, the focus was on developing video cards that accelerated specific calculations involved in 3D rendering ● Currently, the focus is on putting programmable computing power onto the video card (GPU), giving more flexibility to the developer (Shaders) ● Future trends will focus on parallel processing solutions, which will probably change the fundamental techniques used to store and render 3D objects (e.g. Ray tracing)

GAM666 – Introduction To Game Programming DirectX Overview ● Microsoft's game programming library ● Useful for all sorts of high performance multimedia applications, not just games ● Built on COM technology, but also has a managed (.NET) interface ● New releases are backwards compatible with previous releases ● Has allowed Microsoft to be involved with ongoing development of game hardware ● Deals with all the major aspects of game programming, individual components can be used independently of others

GAM666 – Introduction To Game Programming DirectX Components ● DirectX Graphics ● DirectDraw (low-level 2D surfaces) ● Direct3D (3D acceleration) ● DirectX Audio ● DirectSound (low-level sound buffers) ● DirectMusic (music and sound effect management) ● DirectInput (keyboard, mouse, joystick, force feedback) ● DirectSetup (to write DirectX installers) ● DirectShow (multimedia streaming) ● DirectPlay (game networking)

GAM666 – Introduction To Game Programming OpenGL Overview ● OpenGL began as a 3D rendering library before real-time 3D graphics was practical ● Originally developed by SGI (Silicon Graphics, a minicomputer manufacturer), now maintained by a multi-vendor body ● Manufacturers of 3D-capable video cards usually supply accelerated OpenGL drivers along with DirectX drivers ● Widely used alternative to Direct3D for 3D rendering in games ● Multi-platform: Windows, Unix/Linux, Mac

GAM666 – Introduction To Game Programming Jobs for Game Programmers ● Days of one person creating a game are over ● Large teams required to build a modern, commercial quality game ● Designers (art or programming background) ● Artists ● Programmers ● Programming jobs can be quite specialized ● Engine, Special effects ● AI, Game play, Scripting ● Artist/Designer/Programmer tools ● Sound, Networking

GAM666 – Introduction To Game Programming Course Project ● Make your own individual game [skeleton] ● Important traits: ● You understand the code (no black boxes) ● Some interesting aspect of gameplay ● Real-time 3D graphics, sound, joystick ● Relatively independent of hardware ● What you might not achieve: ● Full set of features, lots of levels ● Nice looking art, good sounds ● Motivation: start your personal Game Programming Portfolio