Exploration of a 3-D Environment By Zachary Greer.

Slides:



Advertisements
Similar presentations
An Introduction to Computers For Middle School Students Mrs. G-Smith (University of Tennessee)
Advertisements

Cylindrical and Spherical Coordinates
Migrating Internet Basic applications to a windowed Graphical User Interface (GUI) Brian Levantine.
Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented.
Graphics Pipeline.
Three Dimensional Viewing
Get Going On ….. What is programming ? What programming software does the school have ? Load this PowerPoint.
The Team Team consisted of 5 members. Max Annear – Henderson Conrad Orange Mike Debney Anton Slooten Luke Stanford.
1 Introduction to the Visual Studio.NET IDE Powerpoint slides modified from Deitel & Deitel.
The Operating System and the User Interface
Cylindrical and Spherical Coordinates Representation and Conversions.
3.02 Explain basic motion graphic programming.
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
Introduction ‘Have you ever played video games before? Look at the joystick movement. When you move the joystick to the left, the plane on the TV screen.
GCSE Information Technology Input Devices and Methods 3 Manual input devices are used by people to enter data by hand. Keyboard Pointing devices Joystick.
Why planning? In order to make a successful project good communication is key! The process of planning and designing a project involves many people from.
3.02 Explain basic motion graphic programming. Animation Types.
Web Design Software Alyssa Lagimoniere. Adobe Dreamweaver Pros Relatively low-cost price ($99) Produces very "clean" HTML code; easy to transport and.
2IV60 Computer Graphics Basic Math for CG
Task 2 P3, P4, P5 Gladys Nzita-Mak.
Operating Systems Chapter 4.
Event-driven programming. Most modern computer programs that people use have Graphical User Interfaces (GUIs). A GUI has icons on the computer screen.
INTRODUCTION TO THE SCRATCH PROGRAMMING ENVIRONMENT.
Grafis 3D. What is 3D?  3D Image x, y, z Tell a story, more information  2D Image x, y Communicate something simple (ie. cheat)
A 2-D, multi-player tank game developed in PLT Scheme ~ ~ ~ Ben VandenBos, Tim Reeves, Justin Hall, and John Ericksen ~ ~ ~ Senior Project - CS496 Spring.
GAME:IT Bouncing Ball Objectives: Create Sprites Create Sounds Create Objects Create Room Program simple game.
UniS CS297 Graphics with Java and OpenGL Introduction.
Unit 1_9 Human Computer Interface. Why have an Interface? The user needs to issue instructions Problem diagnosis The Computer needs to tell the user what.
Planetary Model Design William Jones 01/22/2015. Part A Simplified High level design for a 3D engine.
MULTIMEDIA Is the presentation of information by a computer system using graphics, animation, sound and text.
 graphic organizers in the form of illustrations or images displayed in sequence for the purpose of pre-visualizing a motion picture, animation, motion.
Adobe Flash CS3 Revealed Chapter 1 - GETTING STARTED WITH FLASH.
Computing Fundamentals Module Lesson 3 — Changing Settings and Customizing the Desktop Computer Literacy BASICS.
COMPUTER PARTS AND COMPONENTS INPUT DEVICES
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 7 The Game Loop and Animation Starting Out with Games & Graphics.
Homogeneous Form, Introduction to 3-D Graphics Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, October 20,
Does this point lie on this line? The Point-Slope format (y – y 1 ) = m(x – x 1 )
Test Environment Algorithm Program Requirements/ Enhancements Analyze the Problem and Design a Solution Programming Software Translates the Source Code.
Introduction to Web Page Design. General Design Tips.
Dr. Ken Hoganson, Kennesaw State University Introduction to the Torque Game Development System.
 Input Devices Input Devices  Examples of Input Devices Examples of Input Devices  Keyboard Keyboard  Pointing Devices Pointing Devices Mouse Joystick.
Development Process Agile/XP Planning + Issue Tracking Google Code provided efficient + effective project management Bug and defect reports Project planning.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
Chapter 14: Dynamic HTML: Event Model Presented by: Colbie Brown CS340 Java Web Development Dr. Gloria Carter Love.
Intro to Multimedia Unit 1.
Refraction of light through a Convex Lens. Lens diagram a cross section through the centre plane.
Graphics Qubed SCE Presentation of Epoch: Relic of Time.
Microsoft Visual Basic 2010 CHAPTER TWO Program and Graphical User Interface Design.
12/24/2015 A.Aruna/Assistant professor/IT/SNSCE 1.
Introduction to HTML. _______________________________________________________________________________________________________________ 2 Outline Key issues.
Vectors have magnitude AND direction. – (14m/s west, 32° and falling [brrr!]) Scalars do not have direction, only magnitude. – ( 14m/s, 32° ) Vectors tip.
Identify input devices and their uses, e. g
Super EastGate Jon Caron, Ryan Fleming, Antonio Guarino, and Mike LoVerme Merrimack College Introduction Super EastGate is a 2D side scroller game that.
Laser Mission State of the Project Garett Shulman Neal Robbins Brian Hallesy James Bailey Brandon Shelton 1.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
Writing to Teach - Tutorials Chapter 2. Writing to Teach - Tutorials The purpose of a tutorial is to accommodate information to the needs of the user.
Visualization Recreate the ping pong scene in 3D using ball and racket coordinates.
Descriptive Geometry. Introduction  What is Descriptive Geometry? →It is the study of points, lines, and planes in space to determine their locations.
ICT/COMPUTING RULES Only use software allowed by the teacher
QSREALM.BLOGSPOT.COM Input Output Devices. QSREALM.BLOGSPOT.COM Input – Output Devices Also known as Peripheral Devices. These surround a computer’s CPU.
Introducing Scratch Learning resources for the implementation of the scenario
Part 1 Learning Objectives To understand that variables are a temporary named location to store data and that programmers work with different data types.
COMPUTER GRAPHICS AND LINEAR ALGEBRA AN INTRODUCTION.
3.02 Explain basic motion graphic programming.
3.02 Explain basic motion graphic programming.
Scratch Unit Overview We are going to look at computer programming and how to create your very own computer game The piece of software we will be using.
We use arrows to represent vectors.
3.02 Explain basic motion graphic programming.
3.02 Explain basic motion graphic programming.
3.02 Explain basic motion graphic programming.
Presentation transcript:

Exploration of a 3-D Environment By Zachary Greer

Introduction Here's what it is.

Abstract Allows user to explore 3-dimensional world First person Mouse and keyboard input Fog and Lighting

Inspirations Proximity-based chat system  First employed in first-person shooters  Enhanced social element greatly (realism, intuitiveness)  Could be used for just a chat client  Could also be used for other teamwork activities Gaming experience  Explains the elements of an enjoyable game Google Lively, IMVU are 3-D chat clients, but are neither proximity nor audio.

Goals Realistic physics Loadable surface system Networked, first-person graphical chat system Chat: audio, based on proximity (modeling real life) Game element? (Maze? Capture the Flag?)

Development Here's how it works.

C, OpenGL, MPI Why C?  C is a powerful and fast language  OpenGL is a 3-D graphics library compatible with C  C does not change its syntax. C code is always valid  MPI is an interface to pass information over a network and is compatible with C  I have had experience and am familiar with all of these.

Perspective Spherical coordinate system Angle measurements in radians Mouse control of looking around Mouse recenters to the middle of the screen, so the screen does not limit where you look.

Why Spherical? OpenGL provides a command to look at a certain point from another point User's position is easy, but how to give point on line of sight?

Why Spherical? Apply a spherical coordinate system, and this is simple In (x,y,z) format, the point is (x_position_of_player + cos(θ)*cos(φ), y_position_of_player + sin(θ)*cos(φ), z_position_of_player + sin(φ))

Why Spherical? Mouse system intuitive, looking up or down changes φ, left and right changes θ Movement simple, obtaining a unit vector in the plane of horizontal movement just

Movement Movement occurs with respect to the direction the user is facing Movement is controlled with keyboard input The unit vector in the direction of the line of sight projected onto the xy plane is multiplied by speed, added to position. The result is motion.

Working with X11 Problems encountered:  Screen size is not a simple thing to find  Little documentation on how X functions work in C  Mouse warp works inconsistently  Very careful of how many connections you open Mouse warp now works every time, as I found out how to check if it’s warped. So now, despite inconsistency, I can do it until it works. Pieced together most X11 from forums.

Results Here's what it does.

Current State The user may move along the xy plane A grid of spheres are provided for reference A floor and horizon are displayed Realistic lighting and fog

Current State The user may move freely throughout the environment with arrow keys The user may use the mouse to look wherever they wish Speed can be changed with +/- keys.

Current Obstacles OpenGL is very unkind about loading images No libraries for audio seem to exist for C... Networking over internet is not trivial

Changes of Plan Originally meant to be a simple first-person shooter Now the plan is a networked chat system/maybe puzzle game/team activity Of these, puzzle game looks most feasible