Labyrinth Zhou Zhen Barry Allison Stephen Kao Rex Ma.

Slides:



Advertisements
Similar presentations
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 18 Image-based Rendering Final Review of Rendering What We Did Not Cover Learning More...
Advertisements

16.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 16 – Some Special Rendering Effects.
COMPUTER GRAPHICS SOFTWARE.
Creating Games For Windows, Xbox 360, and Windows Phone 7 Ryan Plemons
G30™ A 3D graphics accelerator for mobile devices Petri Nordlund CTO, Bitboys Oy.
Cs123 INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © Andries van Dam Texture Mapping Beautification of Surfaces 1/23.
3D Graphics Rendering and Terrain Modeling
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
1Notes  Assignment 1 is out, due October 12  Inverse Kinematics  Evaluating Catmull-Rom splines for motion curves  Wednesday: may be late (will get.
SURGICAL SIMULATIONS: IT’S ALL IN A GAME ! Gaming techniques for medical applications. V. Kotamraju, S. Payandeh, J. Dill Experimental Robotics Laboratory,
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
18.1 Si31_2001 SI31 Advanced Computer Graphics AGR Lecture 18 Image-based Rendering Light Maps What We Did Not Cover Learning More...
BPC: Art and Computation – Fall 2006 Introduction to virtual environments Glenn Bresnahan
X86 and 3D graphics. Quick Intro to 3D Graphics Glossary: –Vertex – point in 3D space –Triangle – 3 connected vertices –Object – list of triangles that.
Level 2 Mobile and Games Programming Modules Cathy French K233.
LICENCE EDUCATION AND TRAFFIC SIMULATION (LETS). PROJECT MEMBERS ATIL İŞÇEN UĞUR ACAR UMUT EROĞUL ÇAĞLAR ATA A.ENGİN BAYRAK.
Project 3 Guidelines CS248 Computer Graphics Help session November 7, 2001.
Underlying Technologies Part Two: Software Mark Green School of Creative Media.
Game Engines Non-game specific technology Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (AI, Scripting, etc.)
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.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
MULTIMEDIA TECHNOLOGY SMM 3001 MEDIA - GRAPHICS. In this chapter how the computer creates, stores, and displays graphic images how the computer creates,
UFCEKT-20-33D Modelling and Animation 3D Modelling & Animation Materials and Textures Maps.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
1 Perception and VR MONT 104S, Spring 2008 Lecture 22 Other Graphics Considerations Review.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Grafis 3D. What is 3D?  3D Image x, y, z Tell a story, more information  2D Image x, y Communicate something simple (ie. cheat)
Parallel Rendering 1. 2 Introduction In many situations, standard rendering pipeline not sufficient ­Need higher resolution display ­More primitives than.
Invitation to Computer Science 5th Edition
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Game Engine Programming. Game Engine Game Engine Rendering Engine (OGRE) Rendering Engine (OGRE) Physics Engine (Bullet) Physics Engine (Bullet) Input/Output.
Yingcai Xiao Voxel Game Engine Development. What do we need? What tools do we have? How can we design and implement? We will answer those questions in.
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.
Multimedia Elements: Sound, Animation, and Video.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Web Games Programming An Introduction to Unity 3D.
Game Engine Jian-Liang Lin ( 林建良 )
AN OVERVIEW OF GAME DEVELOPMENT
Real-Time Rendering & Game Technology CS 446/651 David Luebke.
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.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
1 Animation and/or Computer Animation Dr. Stephania Loizidou Himona Assistant Professor Frederick University.
M. Jędrzejewski, K.Marasek, Warsaw ICCVG, Multimedia Chair Computation of room acoustics using programable video hardware Marcin Jędrzejewski.
1 Contents  Audio  Sprite  Input devices  Game production milestones  Course summary.
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
Introduction to Game Programming Pertemuan 11 Matakuliah: T0944-Game Design and Programming Tahun: 2010.
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.
Antigone Engine. Introduction Antigone = “Counter Generation” Library of functions for simplifying 3D application development Written in C for speed (compatible.
UFCFSU-30-13D Technologies for the Web An Introduction to Unity 3D.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 29 Soft Bodies and Rigid Bodies.
Reference: What is it? A multimedia python library – Window Management – Graphics geometric shapes bitmaps (sprites) – Input Mouse Keyboard.
Computer Graphics Lecture 1 Introduction to Computer Graphics
Chapter 1 An overview on Computer Graphics
Computer Graphics.
Chapter 1 An overview on Computer Graphics
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
Understanding Theory and application of 3D
Interactive Computer Graphics
Chapter I Introduction
Game Engines Non-game specific technology Game: Engine
14th Lecture – Final Lecture
Computer Graphics Lecture 15.
Presentation transcript:

Labyrinth Zhou Zhen Barry Allison Stephen Kao Rex Ma

Software Environment OpenGL (Graphics) OpenGL (Graphics) OpenAL (Sound) OpenAL (Sound) C++ C++ Windows Environment – desirable portable code Windows Environment – desirable portable code Source Control (e.g Visual SourceSafe) Source Control (e.g Visual SourceSafe) Games Engine at least should be portable with wrapper for Environment specific code Games Engine at least should be portable with wrapper for Environment specific code Coded with Multi Processor / Dual Core PC ’ s in mind Coded with Multi Processor / Dual Core PC ’ s in mind Client Server (MMOG) Client Server (MMOG) Efficiency - Trade-offs if 60fps is goal, Full Screen more efficient, Compromises to Software Engineering Efficiency - Trade-offs if 60fps is goal, Full Screen more efficient, Compromises to Software Engineering Staged realeases – e.g. box without textures, no holes, no friction etc. Staged realeases – e.g. box without textures, no holes, no friction etc.

Architecture

Engine Components Renderer – First thing we need to see anything Renderer – First thing we need to see anything Texture Maps (MIP mapping), bump mapping (for ball) Texture Maps (MIP mapping), bump mapping (for ball) Model of World (Objects) – polygons (triangles), patches/surfaces, LOD Model of World (Objects) – polygons (triangles), patches/surfaces, LOD Physics Physics Collision Detection Collision Detection Sound Sound Spatial Partitioning / Culling, Use view frustrum (volume) with Octrees, Binary Space Partitioning (BSP), Portals. Spatial Partitioning / Culling, Use view frustrum (volume) with Octrees, Binary Space Partitioning (BSP), Portals. AI – Covered in other projects AI – Covered in other projects Animation/Simulation - Mesh, Skeletal (hierarchical), Inverse Kinematics Animation/Simulation - Mesh, Skeletal (hierarchical), Inverse Kinematics Network/Internet (MMOG) Network/Internet (MMOG)

Sound OpenAL or Commercial (Licensed) OpenAL or Commercial (Licensed) Stereo, Surround Sound – positional (but not above/below) Stereo, Surround Sound – positional (but not above/below) Mood Music – can depend on what is happening (e.g. search, fight) Mood Music – can depend on what is happening (e.g. search, fight) Filters due to environment (e.g. under water) Filters due to environment (e.g. under water) Use samples or procedurally generated sounds Use samples or procedurally generated sounds Complications - Mixing sounds, volume of each and synchronizing with events (e.g. collisions). Complications - Mixing sounds, volume of each and synchronizing with events (e.g. collisions). Occlusion (blocking – muffled & muted), obstructed (hear reflections) Occlusion (blocking – muffled & muted), obstructed (hear reflections) WAV, MP3, WMA, MIDI Samples – Maximum Memory vs. Channels WAV, MP3, WMA, MIDI Samples – Maximum Memory vs. Channels Labyrinth – Mono (stereo if time allows), Rolling based on speed, Collision with walls Labyrinth – Mono (stereo if time allows), Rolling based on speed, Collision with walls

References (Game Engine) “ Game Development – Harder Than You Think ” (2004) ACM Digital Library (See last years notes) “ Game Development – Harder Than You Think ” (2004) ACM Digital Library (See last years notes) “ Designing a PC Game Engine ” (1998) IEEE Digital Library “ Designing a PC Game Engine ” (1998) IEEE Digital Library Last Years 777 Notes Last Years 777 Notes COMPSCI 715 Resources COMPSCI 715 Resources Game Engine Anatomy Game Engine Anatomy

Modeling Three Stage of Development Three Stage of Development Stage One: Simple Model Stage One: Simple Model Single colour model Single colour model No hole in the labyrinth. No hole in the labyrinth. Stage Two: Texture Stage Two: Texture Put the basic texture into the labyrinth and ball. Put the basic texture into the labyrinth and ball. To have proper reflection on ball. To have proper reflection on ball.

Modeling Stage Three: The complete labyrinth Stage Three: The complete labyrinth Build the complete labyrinth. Build the complete labyrinth. With friction With friction Enhancement (If we have time) Enhancement (If we have time) Different environment (i.e. on the moon or Mars Different environment (i.e. on the moon or Mars

Texture mapping Aims Make it as realistic as possible Make it as realistic as possible Provide more details on the surface Provide more details on the surface

Texture mapping cont.. Ideal Provide multiple choice for user Provide multiple choice for user (ie Labyrinth can have multiple skins, user even can design their own skin) (ie Labyrinth can have multiple skins, user even can design their own skin)

Texture mapping cont.. Ideal First step First step Only use Phong shading algorithm for the ball Only use Phong shading algorithm for the ball Second step Second step Texture map a certain pattern on the ball, from that we can see how the ball actually rolling. Texture map a certain pattern on the ball, from that we can see how the ball actually rolling. Third step Third step Produce reflect image on the ball at real time Produce reflect image on the ball at real time

Texture mapping cont.. Technologies Bitmap Bitmap A traditional texture mapping method A traditional texture mapping method Bump mapping Bump mapping Creates apparent alteration to the geometry of the object surface Creates apparent alteration to the geometry of the object surface

Texture mapping cont.. Technologies Procedural textures Can get arbitrarily high resolution 3D textures for natural materials like wood and marble. Can get arbitrarily high resolution 3D textures for natural materials like wood and marble.

Interface Simple DirectMedia Layer (SDL) Simple DirectMedia Layer (SDL) A cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL. A cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL. For Labyrinth user input: For Labyrinth user input: Keyboard Keyboard Mouse Mouse Command base user interface Command base user interface Windows menu user interface Windows menu user interface

References (texture mapping) "Texture Mapping" Techniques (2004) "Texture Mapping" Techniques (2004) s22and23.html s22and23.html Burkhard's Lectures Texture Mapping (2005) Burkhard's Lectures Texture Mapping (2005) ndout6_1up.pdf ndout6_1up.pdf Nvidia (1999) Demos: Bubble Nvidia (1999) Demos: Bubble Solid Texturing of Complex Surfaces D. R. Peachey (SIGGRAPH 1985) Solid Texturing of Complex Surfaces D. R. Peachey (SIGGRAPH 1985) Reading material Lewis Procedural texture mapping on FPGAs Andy G. Ye & David M. Lewis Procedural texture mapping on FPGAs

Physically based modelling Physically based modelling is important in game development nowadays. Physically based modelling is important in game development nowadays. Laws of physics evaluated by the most modern 3D games for both motion and graphics calculation. Laws of physics evaluated by the most modern 3D games for both motion and graphics calculation. E.g. Collisions detection, Movement, Weather. E.g. Collisions detection, Movement, Weather. Physically based modelling engine has been used by many of simulator program too. Physically based modelling engine has been used by many of simulator program too.

Games in 1980s Vs Now In 80s, games is 2D and simple. Colourful, interesting game style and system requirement are the number of main factor to develop game. In 80s, games is 2D and simple. Colourful, interesting game style and system requirement are the number of main factor to develop game. Now, many games use 3D engine and physics engine to model. “ Realistic ” is the main factor for the game. Now, many games use 3D engine and physics engine to model. “ Realistic ” is the main factor for the game.

Games in 1980s Vs Now (Cont ’ d)

Physics Chips Because physics factor become more important in games today. Some computer add-on card for physics calculation have been developing too. Because physics factor become more important in games today. Some computer add-on card for physics calculation have been developing too.

Particle systems We will use Particle Systems to evalute our physical model. We will use Particle Systems to evalute our physical model. It need many of particle to support our the calculation. It need many of particle to support our the calculation. But it have many of advantages: But it have many of advantages: Reduces need for human animators Reduces need for human animators Reusable and react whatever user input Reusable and react whatever user input

Physics model evaluation We will use some formula in Newton ’ s laws and Circular motion to evaluate our physical model. We will use some formula in Newton ’ s laws and Circular motion to evaluate our physical model.

Labyrinth ball model There are 3 stage of the ball: There are 3 stage of the ball: Rolling Rolling We need to find out the location, velocity, acceleration. We need to find out the location, velocity, acceleration. Stable Stable When and why it is not rolloing. When and why it is not rolloing. Crushing Crushing Collisions detection Collisions detection

Challenge (Realistic Vs Performance) In real world: In real world: The movement of the ball is curve. The movement of the ball is curve. Friction on the wood plate. Friction on the wood plate. Collisions when ball crush the wall. Collisions when ball crush the wall. Wood is not “ perfectly ” hard. Wood is not “ perfectly ” hard. In Computer: In Computer: The movement is not curve but close to curve if large number of time calculation in a second. The movement is not curve but close to curve if large number of time calculation in a second. Friction and Collision detection model development. Friction and Collision detection model development.

Another challenge in development How many percentages of the ball, or which part of the ball on the hole to represent the ball is drop in the hole or just roll around it? How many percentages of the ball, or which part of the ball on the hole to represent the ball is drop in the hole or just roll around it? When the ball is fly over the hole but not drop? When the ball is fly over the hole but not drop?

References (Physical Model) “ Approximate and Probabilistic Algorithmn for Shading and Rendering Structured Particle Systems ” in SIGGRAPH 1985 porject Notes of Physically-Based Modelling for Compsci in University of Auckland /lectures/Burkhard/777Handout6.pdf Introduction to physically-based animation sically_Based.pdf sically_Based.pdf sically_Based.pdf sically_Based.pdf

References (Physical Model) Microsoft Flight Simulator Century of Flight Microsoft Flight Simulator Century of Flight tor/ tor/ tor/ tor/ EA - Battlefield 2 EA - Battlefield 2 attlefield2/us/features.jsp attlefield2/us/features.jsp 80 ’ s games in 80s Music Lyrics 80 ’ s games in 80s Music Lyrics

References (Physical Model) PC Hardware: Ageia PhysX Interview PC Hardware: Ageia PhysX Interview /001.htm /001.htm