3D Flight Simulator for CE Balaban Nir Lander Shiran Supervisor: Futerman Yan.

Slides:



Advertisements
Similar presentations
16.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 16 – Some Special Rendering Effects.
Advertisements

CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Graphics Pipeline.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
3D Graphics Rendering and Terrain Modeling
Computer Graphics Inf4/MSc Computer Graphics Lecture 13 Illumination I – Local Models.
1 Computer Graphics Chapter 9 Rendering. [9]-2RM Rendering Three dimensional object rendering is the set of collective processes which make the object.
 Engineering Graphics & Introductory Design 3D Graphics and Rendering REU Modeling Course – June 13 th 2014.
1 Dr. Scott Schaefer Shadows. 2/40 Shadows Shadows provide clues about depth Make scenes appear more realistic.
CS 4363/6353 INTRODUCTION TO COMPUTER GRAPHICS. WHAT YOU’LL SEE Interactive 3D computer graphics Real-time 2D, but mostly 3D OpenGL C/C++ (if you don’t.
IN4151 Introduction 3D graphics 1 Introduction 3D Computer Graphics part 1 Projective display Viewing pipeline Graphics hardware Image-based rendering.
Introduction to Volume Rendering Presented by Zvi Devir.
3D Flight Simulator for CE Balaban Nir Lander Shiran Supervisor: Futerman Yan.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Adv. Computer Graphics CS6500, Spring 2003.
Shadow Algorithms Gerald Matzka Computer Science Seminar.
Content Subdivision First some basics (control point polygon, mesh)
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
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.
09/18/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Bump Mapping Multi-pass algorithms.
Fundamentals of Computer Graphics Part 6 Shading prof.ing.Václav Skala, CSc. University of West Bohemia Plzeň, Czech Republic ©2002 Prepared with Angel,E.:
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
Polygon Shading. Assigning color to a shape to make graphical scenes look realistic, or artistic, or whatever effect we’re attempting to achieve But first.
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
COMPUTER GRAPHICS CS 482 – FALL 2014 AUGUST 27, 2014 FIXED-FUNCTION 3D GRAPHICS MESH SPECIFICATION LIGHTING SPECIFICATION REFLECTION SHADING HIERARCHICAL.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CSE 381 – Advanced Game Programming Basic 3D 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.
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
V part C.  Different programs have different ways of displaying objects in real-time while the scenes are being created within the workspace. Some.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Week 6 - Wednesday.  What did we talk about last time?  Light  Material  Sensors.
1 Computer Graphics Week2 –Creating a Picture. Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the.
Programming 3D Applications CE Displaying Computer Graphics Week 3 Lecture 5 Bob Hobbs Faculty of Computing, Engineering and Technology Staffordshire.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
CAP4730: Computational Structures in Computer Graphics
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
11/5/2002 (c) University of Wisconsin, CS 559 Last Time Local Shading –Diffuse term –Specular term –All together –OpenGL brief overview.
Local Illumination and Shading
Where We Stand So far we know how to: –Transform between spaces –Rasterize –Decide what’s in front Next –Deciding its intensity and color.
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Introduction to Meshes Lecture 22 Mon, Oct 20, 2003.
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Schedule Update GP 4 – Tesselation/Cg GDS 4 – Subdiv Surf. GP 5 – Object Modeling Lab: Mini-proj Setup GDS 5 – Maya Modeling MCG 6 – Intersections GP 6.
Computer Graphics Ken-Yi Lee National Taiwan University (the slides are adapted from Bing-Yi Chen and Yung-Yu Chuang)
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
1© 2009 Autodesk Hardware Shade – Presenting Your Designs Hardware and Software Shading HW Shade Workflow Tessellation Quality Settings Lighting Settings.
Applications and Rendering pipeline
Introduction to Computer Graphics
Photorealistic Rendering vs. Interactive 3D Graphics
POLYGON MESH Advance Computer Graphics
Deferred Lighting.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
Chapter 14 Shading Models.
The Graphics Pipeline Lecture 5 Mon, Sep 3, 2007.
Introduction to Meshes
Dr. Jim Rowan ITEC 2110 Vector Graphics II
Computer Graphics 4Practical Lesson
Last Time Liang-Barsky Details Weiler-Atherton clipping algorithm
Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Chapter 14 Shading Models.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Introduction to Ray Tracing
Dr. Jim Rowan ITEC 2110 Vector Graphics II
Introduction to Meshes
Presentation transcript:

3D Flight Simulator for CE Balaban Nir Lander Shiran Supervisor: Futerman Yan

The Problem Building a 3D Flight Simulator for iPaq computers based on Direct3D. Performance optimization – the iPaq is not a powerful graphic machine because lack of proper hardware, therefore, the application must be efficient. iPaq H3975

Project Goals Checking the performances of the iPaq computer Picture quality Speed Memory Optimize the above Acquaintance with the Direct3D Windows CE environment

Solution Overview 1.Building a 3D surface in the Direct3D environment (referred as “scene”). 2.The user view-port will be through a “camera” that will be moved around the scene. 3.A timer will schedule the movement of the plane.

Solution Overview (2) 4.Each quantum a few actions will be taken: 1.Checking for user keyboard interrupts. 2.Moving the plane forward. 3.Rendering the new scene seen. 4.Checking whether or not a crash happened.

The Direct3D Enviroment The Direct3D enables the developer to a build a 3D object easily. Direct3D doesn’t require some special hardware but it is "device independent", means it works the same way with any hardware given. Because of this property we found it best to use Direct3D for this project.

The Direct3D Environment (2) The Direct3D environment is made of a group of 3D object in a 3D world, which we call a “scene”, a camera which represents the point of view for the scene. The 3D objects are made of vertices in the 3D World that build a solid model by connecting the vertices with triangles shape.

The Direct3D Environment (3) The Direct3D handles most of the mathematical and algorithmical requirements for building a 3D scene. Some of them are listed below: –Z-Buffer –Shading –Clipping and Transformation –Projections –Etc…

Solution The application consists of 3 main parts: 1.3D terrain object 2.Plane movement controller object 3.Managing the objects

Solution – 3D Terrain Like any 3D object in Direct3D, our terrain consists of vertices. The vertices are placed uniformly in the XZ plane: z x

Solution – 3D Terrain (2) Every 3 vertices are connects to form a triangle.

Solution – 3D Terrain (3) Each vertex has its own height (Y value) and a feeling of mountains is formed. The heights are chosen with a mathemetical formula. the y vertices are samples of the mathematical mountains.

Solution – 3D Terrain (4) In order to achieve an infinite terrain, we created it cyclically so when the plane gets to the edge of the cycle it just “hops” to the other edge. Every terrain cycle is divided to 4 parts in order to create a richer terrain.

Solution – Plane movement controller In order to create a feeling of flying, the camera moves along the terrain according to the user requests. For that, an object that control the plane movement is required.

Solution – Plane movement controller (2) The object handles 3 main missions: 1.Saving the plane location and direction, and updating them. 2.Calculating where to place the camera each quantum, according to plane position, direction and speed. 3.Cyclic movement – when the plane gets to the edge, the object is responsible to move it to the other edge.

Solution – Managing the objects At first the objects must be built and given some parameters: Creating the vertices. Coloring each vertex by its height. Pre Mathematical calculation. Initializing the plane position at start.

Solution – Managing the objects(2) After Initializing the objects the application waits for messages, from the user or the timer, and acting accordingly. אתחול המשטח אתחול משתני המטוס מחלקת המשטח מחלקת היגוי המטוס האם נלחץ מקש ? האם התרסקנו? קידום משתני המטוס יציאה האם נלחץ 'Q'? ציור המשטח render שינוי משתני מצב כן לא

Coping with Windows CE One should keep in mind when he transits Windows applications to Windows CE about some facts: 1.The Pocket PC is not a powerful machine and “heavy” effects (like texture, lighting…) might not work properly. 2.There are function that exits in Direct3D for PC and doesn’t in Direct3D windows CE edition. Therefore, one must check every function he adds to the application.

Coping with Windows CE (2) 3.There are some functions that does exist on Windows CE, but for different reasons, the parameters were changed slightly. 4.Not like PC computers, the pocket PC has other kind of hardware. There is no keyboard, and the presentation on the screen is different (full screen mode…)

Optimizations As mentioned before, the greatest challenge is to optimize the application, so that it will run as fast as it can. In order to do that some actions had been taken: 1.Lighting – Adding lights to the scene result much calculations in real-time. To save these calculations, the lighting algorithms were disables, and each vertex got its own color in the initialization.

Optimizations (2) 2.As mentioned, the resolution of the vertices building the mountain effects its shape and the duration of the rendering time. There is a trade-off between these two elements. As higher the resolution, the slower the application. There we must optimize the resolution so the speed will be reasonable and the terrain will look properly.

Optimizations (3) The resolution in he application is represented by the variable DIF, which is the distance (in Direct3D units) between two vertices.

Optimizations (4) 3.Shading – In Direct3D there are two possible shading modes: Flat and Gouraud. Flat Shading –Color each polygon with constant shades and intensities according to the polygon’s normal. This is the most simple and fast shading because there are no calculations to make.

Optimizations (5) Gouraud Shading – Compute exact shading and intensity values for the vertices of each polygon, using exact normals at vertices. Interpolate (in image space) colors, for interior pixels of polygon. This is the most “expensive” way of shading but the results are much better.

Optimizations (6) 4.Clipping – The fewer vertices we render, the faster the render is. Therefore distant vertices, that the user can slightly notice should be cut off the scene.