BABLEFISH. Create a custom VR Engine
|
|
- Madeline Ferguson
- 5 years ago
- Views:
Transcription
1 BABLEFISH Create a custom VR Engine
2 Evolution of Digital Games VR Camera Controller
3
4 Experiential
5 Experiential
6 DAQRI
7 DAQRI : AR v VR v MR
8 Startupbeat.com
9 VR History: Quaternions Hamilton 1843
10 Grass still growing? Call the Lawnmower Man (1992)
11 Escape VR:- VR Arcades
12 Immersive VR Education Apollo 11 Mission
13 Evolution of Digital Games Extract from HTC VIVE Valve SDK
14 CPP Labs OpenGL & GLM
15 VR SFML Game Specification Create a Player class which holds the current transformation position of player head. Create a NPC class which holds the current transformation position of the cube(s). Initialise the VBO Create buffer Bind buffer Fill buffer with vertex data Create views (like mini map) which split screen in two halves. During update loop alter the transformations for the character cubes / (view & projections). SFML Sensor API ( ) Building for Android ( SFML-for-Android-on-Windows )
16 Project Rubric
17 Vertex Buffer Object Store vertex data (vertex, normal vector, color etc.) Stored on graphics hardware for non-immediate rendering Substantial performance gains over immediate mode rendering
18 Generating Vertex Buffer Objects Steps to generating VBO 1. Generate a new buffer object with glgenbuffers###() 2. Bind the buffer object with glbindbuffer###() 3. Copy vertex data to the buffer object with glbufferdata###()
19 Vertex Struct typedef struct { float coordinate[3]; float color[3]; } Vertex;
20 Vertex Data vertex[0].coordinate[0] = -0.5f; vertex[0].coordinate[1] = -0.5f; vertex[0].coordinate[2] = 0.0f; vertex[0].color[0] = 0.1f; vertex[0].color[1] = 1.0f; vertex[0].color[2] = 0.0f;
21 initialize() /* Create a new VBO using VBO id */ glgenbuffers(1, vbo); /* Bind the VBO */ glbindbuffer(gl_array_buffer, vbo[0]); /* Upload vertex data to GPU */ glbufferdata(gl_array_buffer, sizeof(vertex) * 6, vertex, GL_STATIC_DRAW); glbindbuffer(gl_array_buffer, 0); glgenbuffers(1, &index); glbindbuffer(gl_element_array_buffer, index); glbufferdata(gl_element_array_buffer, sizeof(glubyte) * 6, triangles, GL_STATIC_DRAW); glbindbuffer(gl_element_array_buffer, 0);
22 render() void Game::render(){ cout << "Drawing" << endl; glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glclearcolor(0.0f, 0.0f, 0.0f, 0.0f); glbindbuffer(gl_array_buffer, vbo[0]); glbindbuffer(gl_element_array_buffer, index); glenableclientstate(gl_vertex_array); glenableclientstate(gl_color_array); glcolorpointer(3, GL_FLOAT, sizeof(vertex), (char*)null + 12); /* Draw Triangle from VBO */ glvertexpointer(3, GL_FLOAT, sizeof(vertex), (char*)null + 0); gldrawelements(gl_triangles, 6, GL_UNSIGNED_BYTE, (char*)null + 0); gldisableclientstate(gl_vertex_array); gldisableclientstate(gl_color_array); window.display(); }
23 Single Triangle Rendered using VBO
24 VBO Layout
25 Student Project (Mobile VR Engine)
26 Student Project (Mobile VR Engine)
27 Sample of Project Results James Peter Liam Keenan Bartosz
28 Projects 8c86a42e13be1b7e97b7/Project. X68?at=master&fileviewer=fileview-default
29 History Lesson st Gen Brown Box 1968 PONG 1972 ODESSEY nd Gen SPACE INVADERS 1978 Asteroids 1979 PAC-MAN 1980 DONKEY KONG 1981 Frogger rd Gen SUPER MARIO 1983 TETRIS th Gen Sonic the Hedgehog 1991 MORTAL COMBAT th Gen PS SEGA Saturn th Gen SEGA Dreamcast 1998 SEGA Net (MOL) 2000 PS GAMEBOY Advanced 2001 Nintendo GameCube 2001 Xbox th Gen Xbox Nintendo Wii 2006 PS th Gen Xbox ONE 2013 PS photo courtesy National Aeronautics and Space Administration
30 Input / Output devices Keyboard Mouse Touchpad Camera Monitor Screen Speaker / Headphone Phone / Tablet Virtual Reality
31
32 Xbox Controller
33 Architecture Programming Language Architecture Hardware
34 Buses A bus is simply a circuit that connects one part of the motherboard to another. The more data a bus can handle at one time, the faster it allows information to travel.
35 68K Computer
36 ATmega644 Low-power CMOS 8-bit microcontroller Based on the AVR enhanced RISC architecture Throughputs approaching 1 MIPS per MHz Optimize power consumption versus processing speed.
37 Harvard Architecture
38 Block Diagram
39 Digital Game Design Challenge Continuum our primary problem is that we have little theory on which to base our efforts. We don t really know what a game is, or why people play games, or what makes a great game..we need to establish our principals of aesthetics, a framework for criticism, and a model for development We computer game designers must put our shoulders together so that our successors may stand on top of them - Crawford, Chris; 1982 The Art of Computer Game Design
40 Reading Inspires
41 Emotional Design
42
43 Magic Circle Genres Single player entered via choosing to play Multiplayer Game agreed convention Scoring a Goal Kicking a ball into the NET The Magic Circle The Real World PES / FIFA vs Real World
44 Maslow's hierarchy of needs By User:Factoryjoe (Mazlow's Hierarchy of Needs.svg) [CC-BY-SA-3.0 ( via Wikimedia Commons
45 Mental State vs Challenge proposed by Mihály Csíkszentmihályi
46 Dissect a Frog or dismantle a Chopper
47 PAC-MAN Namco Bandai Games Inc
48 Map
49 Life Cycle Game Loop Fixed Update Awake Start Update Awake Initialization (Shared) Start() Called Once Update() Every Frame FixedUpdate() Consistent (Physics)
50 Consider the User Feedback Mood (Music) Achievement Pace Balance Internal Economy Victory Loss
51 Harmony Architecture + Environment Design Character Design Animation Music SFX Challenge Placement
52 Technology Research Scene Graph/Culling Optimisations Front End Game Specific Sub-systems Skeletal Animation Visual Effects Online Multiplayer Rendering Profiling Debugging Collision & Physics Resources Core Systems Platform Independence Layer 3 rd Party SDK s Operating System Drivers Hardware (PC, Xbox, PlayStation) Gameplay Audio Human Interface Design
53 Ongoing Work
54 Toolchain Setup
55 Feeling of Power
56 Assembly Kits
57 Schematic
58 ATmega644 Pinouts
59 59 Programming Firmware
60 StarterKit.h extern void gameloop(void); extern void setledon(void); extern void setledoff(void); extern void delay(void); extern void sample(void); extern void startgame(void); extern int gethealth(int, int); extern int getscore(int, int);
61 StarterKitEngine.s ;**************************** ; Turns on onboard LED PD4 ;****************************.global setledon.section.text.setledon setledon: SBI _SFR_IO_ADDR(PORTD),PD4 RET
62 StarterKit.c int main() { init(); // Initialise Game } while (1) { } setledon();
63 StarterKit.c void drawrectangle(int x, int y, int width, int height, char c) { if (x < SCREEN_TILES_H && y < SCREEN_TILES_V) { } } for (int i = 0; i < width; i++) { if (x + i < SCREEN_TILES_H && y < SCREEN_TILES_V) { PrintChar(x + i, y, c); } if (y + height - 1 < SCREEN_TILES_V) { PrintChar(x + i, y + height - 1, c); } } for (int i = 1; i < height; i++) { PrintChar(x, y + i, c); PrintChar(x + width - 1, y + i, c); }
64 StarterKitEngine.s ;**************************** ; Update the Score ;****************************.global getscore.section.text.getscore getscore: ADD R24,R22 CLRR25 RET
65 World s first virtual reality cinema Amsterdam
66
CENG 477 Introduction to Computer Graphics. Graphics Hardware and OpenGL
CENG 477 Introduction to Computer Graphics Graphics Hardware and OpenGL Introduction Until now, we focused on graphic algorithms rather than hardware and implementation details But graphics, without using
More informationEvolution of CPUs & Memory in Video Game Consoles. Curtis Geiger & Matthew Meehan
Evolution of CPUs & Memory in Video Game Consoles Curtis Geiger & Matthew Meehan 1 ST GENERATION Magnavox Odyssey first console, released 1972 No CPU or Memory entirely made up of transistors, resistors,
More informationCSE 4431/ M Advanced Topics in 3D Computer Graphics. TA: Margarita Vinnikov
CSE 4431/5331.03M Advanced Topics in 3D Computer Graphics TA: Margarita Vinnikov mvinni@cse.yorku.ca Goals of any 3d application is speed. You should always limit the amount of polygons actually rendered
More informationCPSC 436D Video Game Programming
CPSC 436D Video Game Programming OpenGL/Shaders Opengl RENDERING PIPELINE Copyright: Alla Sheffer 1 Opengl RENDERING PIPELINE C/C++ OpenGL GLSL (automatic) (automatic) GLSL (automatic) opengl Low-level
More informationCOMP371 COMPUTER GRAPHICS
COMP371 COMPUTER GRAPHICS SESSION 12 PROGRAMMABLE SHADERS Announcement Programming Assignment #2 deadline next week: Session #7 Review of project proposals 2 Lecture Overview GPU programming 3 GPU Pipeline
More informationInformation Coding / Computer Graphics, ISY, LiTH. OpenGL! ! where it fits!! what it contains!! how you work with it 11(40)
11(40) Information Coding / Computer Graphics, ISY, LiTH OpenGL where it fits what it contains how you work with it 11(40) OpenGL The cross-platform graphics library Open = Open specification Runs everywhere
More informationBuilding Models. Objectives Introduce simple data structures for building polygonal models. Vertex lists Edge lists
Building Models Objectives Introduce simple data structures for building polygonal models Vertex lists Edge lists 1 Representing a Mesh Consider a mesh v 5 v 6 e e e 3 v 9 8 8 v e 4 1 e 11 v e v 7 7 1
More informationCS452/552; EE465/505. Review & Examples
CS452/552; EE465/505 Review & Examples 2-05 15 Outline Review and Examples:! Shaders, Buffers & Binding! Example: Draw 3 Triangles Vertex lists; gl.drawarrays( ) Edge lists: gl.drawelements( )! Example:
More informationCONSOLE ARCHITECTURE
CONSOLE ARCHITECTURE Introduction Part 1 What is a console? Console components Differences between consoles and PCs Benefits of console development The development environment Console game design What
More informationHow OpenGL Works. Retained Mode. Immediate Mode. Introduction To OpenGL
How OpenGL Works Introduction To OpenGL OpenGL uses a series of matrices to control the position and way primitives are drawn OpenGL 1.x - 2.x allows these primitives to be drawn in two ways immediate
More informationComputer Graphics Seminar
Computer Graphics Seminar MTAT.03.305 Spring 2018 Raimond Tunnel Computer Graphics Graphical illusion via the computer Displaying something meaningful (incl art) Math Computers are good at... computing.
More informationIntroduction to OpenGL/GLSL and WebGL GLSL
Introduction to OpenGL/GLSL and WebGL GLSL Objectives! Give you an overview of the software that you will be using this semester! OpenGL, WebGL, and GLSL! What are they?! How do you use them?! What does
More informationReal-Time 2D to 2D+Depth Video Conversion. OzViz David McKinnon QUT
Real-Time 2D to 2D+Depth Video Conversion OzViz David McKinnon QUT Why? The goal is to by able to convert video sequences where the camera undergoes motion but the scene is stationary, fast. This is one
More informationCSE 167. Discussion 03 ft. Glynn 10/16/2017
CSE 167 Discussion 03 ft Glynn 10/16/2017 Announcements - Midterm next Tuesday(10/31) - Sample midterms are up - Project 1 late grading until this Friday - You will receive 75% of the points you ve earned
More informationCS 432 Interactive Computer Graphics
CS 432 Interactive Computer Graphics Lecture 2 Part 1 Primitives and Buffers Matt Burlick - Drexel University - CS 432 1 Rendering in OpenGL Ok, so now we want to actually draw stuff! OpenGL (like most
More informationSupplement for Real-Time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation
Supplement for Real-Time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation Zhong Ren 1* Rui Wang 1* John Snyder 2 Kun Zhou 3 Xinguo Liu 3 Bo Sun 4 Peter-Pike Sloan 5 Hujun Bao 1 Qunsheng
More informationComp 410/510 Computer Graphics Spring Programming with OpenGL Part 2: First Program
Comp 410/510 Computer Graphics Spring 2017 Programming with OpenGL Part 2: First Program Objectives Refine the first program Introduce a standard program structure - Initialization Program Structure Most
More informationBuilding Models. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
Building Models Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Objectives Introduce simple data structures for building polygonal
More informationComputer Graphics (CS 543) Lecture 1 (Part 2): Introduction to OpenGL/GLUT (Part 1)
Computer Graphics (CS 543) Lecture 1 (Part 2): Introduction to OpenGL/GLUT (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) OpenGL/GLUT Installation OpenGL: Specific
More informationBuilding Models. Objectives. Introduce simple data structures for building polygonal models. OpenGL vertex arrays. Vertex lists Edge lists
Building Models Objectives Introduce simple data structures for building polygonal models Vertex lists Edge lists OpenGL vertex arrays 2 Representing a Mesh Consider a mesh v 5 v e e e 3 v 9 8 8 v e 4
More informationComputação Gráfica. Computer Graphics Engenharia Informática (11569) 3º ano, 2º semestre. Chap. 4 Windows and Viewports
Computação Gráfica Computer Graphics Engenharia Informática (11569) 3º ano, 2º semestre Chap. 4 Windows and Viewports Outline : Basic definitions in 2D: Global coordinates (scene domain): continuous domain
More informationThe Application Stage. The Game Loop, Resource Management and Renderer Design
1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data
More informationDisplay Lists. Conceptually similar to a graphics file. In client-server environment, display list is placed on server
Display Lists Conceptually similar to a graphics file Must define (name, create) Add contents Close In client-server environment, display list is placed on server Can be redisplayed without sending primitives
More informationRendering Objects. Need to transform all geometry then
Intro to OpenGL Rendering Objects Object has internal geometry (Model) Object relative to other objects (World) Object relative to camera (View) Object relative to screen (Projection) Need to transform
More informationAdding Advanced Shader Features and Handling Fragmentation
Copyright Khronos Group, 2010 - Page 1 Adding Advanced Shader Features and Handling Fragmentation How to enable your application on a wide range of devices Imagination Technologies Copyright Khronos Group,
More informationAPI Background. Prof. George Wolberg Dept. of Computer Science City College of New York
API Background Prof. George Wolberg Dept. of Computer Science City College of New York Objectives Graphics API history OpenGL API OpenGL function format Immediate Mode vs Retained Mode Examples The Programmer
More informationReal Time Tracking System using 3D Vision
Real Time Tracking System using 3D Vision Arunava Nag, Sanket Deshmukh December 04,2015 Abstract In this report a Skeleton Tracking approach has been described, using the Xbox 360 Kinect camera, as a solution
More informationMali Developer Resources. Kevin Ho ARM Taiwan FAE
Mali Developer Resources Kevin Ho ARM Taiwan FAE ARM Mali Developer Tools Software Development SDKs for OpenGL ES & OpenCL OpenGL ES Emulators Shader Development Studio Shader Library Asset Creation Texture
More informationGame Development for
Game Development for Who am I? Harry Krueger Senior Programmer at Housemarque Games Lead Programmer on Resogun Presentation Flow Intro to Housemarque and Resogun Housemarque Engine and Tools Platform-specific
More informationCS452/552; EE465/505. Image Processing Frame Buffer Objects
CS452/552; EE465/505 Image Processing Frame Buffer Objects 3-12 15 Outline! Image Processing: Examples! Render to Texture Read: Angel, Chapter 7, 7.10-7.13 Lab3 new due date: Friday, Mar. 13 th Project#1
More informationDiscussion 3. PPM loading Texture rendering in OpenGL
Discussion 3 PPM loading Texture rendering in OpenGL PPM Loading - Portable PixMap format 1. 2. Code for loadppm(): http://ivl.calit2.net/wiki/images/0/09/loadppm.txt ppm file format: Header: 1. P6: byte
More informationIntroductory Seminar
EDAF80 Introduction to Computer Graphics Introductory Seminar OpenGL & C++ Michael Doggett 2017 C++ slides by Carl Johan Gribel, 2010-13 Today Lab info OpenGL C(++)rash course Labs overview 5 mandatory
More informationBuilding Models. Prof. George Wolberg Dept. of Computer Science City College of New York
Building Models Prof. George Wolberg Dept. of Computer Science City College of New York Objectives Introduce simple data structures for building polygonal models - Vertex lists - Edge lists Deprecated
More information6.S096 Lecture 9 Visualization
6.S096 Lecture 9 Visualization OpenGL, Makefiles, Large Projects Andre Kessler Andre Kessler 6.S096 Lecture 9 Visualization 1 / 28 What is OpenGL? The standard for most 2D/3D graphics rendering today.
More informationCS 450: COMPUTER GRAPHICS REVIEW: STATE, ATTRIBUTES, AND OBJECTS SPRING 2015 DR. MICHAEL J. REALE
CS 450: COMPUTER GRAPHICS REVIEW: STATE, ATTRIBUTES, AND OBJECTS SPRING 2015 DR. MICHAEL J. REALE OPENGL STATE MACHINE OpenGL state system or state machine Has list of all current state values called state
More informationGraphics Programming. Computer Graphics, VT 2016 Lecture 2, Chapter 2. Fredrik Nysjö Centre for Image analysis Uppsala University
Graphics Programming Computer Graphics, VT 2016 Lecture 2, Chapter 2 Fredrik Nysjö Centre for Image analysis Uppsala University Graphics programming Typically deals with How to define a 3D scene with a
More informationCS 548: COMPUTER GRAPHICS PORTRAIT OF AN OPENGL PROGRAM SPRING 2015 DR. MICHAEL J. REALE
CS 548: COMPUTER GRAPHICS PORTRAIT OF AN OPENGL PROGRAM SPRING 2015 DR. MICHAEL J. REALE INTRODUCTION We re going to talk a little bit about the structure and logic of a basic, interactive OpenGL/GLUT
More informationSpring 2011 Prof. Hyesoon Kim
Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationCS 543: Computer Graphics. Introduction
CS 543: Computer Graphics Introduction Robert W. Lindeman Associate Professor Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu (with lots of help from Prof. Emmanuel Agu :-)
More information2/3/16. Interaction. Triangles (Clarification) Choice of Programming Language. Buffer Objects. The CPU-GPU bus. CSCI 420 Computer Graphics Lecture 3
CSCI 420 Computer Graphics Lecture 3 Interaction Jernej Barbic University of Southern California [Angel Ch. 2] Triangles (Clarification) Can be any shape or size Well-shaped triangles have advantages for
More informationInteraction. CSCI 420 Computer Graphics Lecture 3
CSCI 420 Computer Graphics Lecture 3 Interaction Jernej Barbic University of Southern California Client/Server Model Callbacks Double Buffering Hidden Surface Removal Simple Transformations [Angel Ch.
More informationCSE 167: Introduction to Computer Graphics Lecture #7: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016
CSE 167: Introduction to Computer Graphics Lecture #7: GLSL Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016 Announcements Project 2 due Friday 4/22 at 2pm Midterm #1 on
More informationWebGL: Hands On. DevCon5 NYC Kenneth Russell Software Engineer, Google, Inc. Chair, WebGL Working Group
WebGL: Hands On DevCon5 NYC 2011 Kenneth Russell Software Engineer, Google, Inc. Chair, WebGL Working Group Today's Agenda Introduce WebGL and its programming model. Show code for a complete example. Demonstrate
More informationHiroyuki Kobota Director Principal Engineer. Alex Adjadj Director Global Strategic Development & Mobile Sales
Hiroyuki Kobota Director Principal Engineer Alex Adjadj Director Global Strategic Development & Mobile Sales Part 1 Technical Presentation Part 2 TIZEN & NAMCO BANDAI Games Part 1 Technical Presentation
More informationComputer Graphics CS 543 Lecture 4 (Part 2) Building 3D Models (Part 2)
Computer Graphics CS 543 Lecture 4 (Part 2) Building 3D Models (Part 2) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Modeling a Cube In 3D, declare vertices as (x,y,z)
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationCS 543 Lecture 1 (Part 3) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)
Computer Graphics CS 543 Lecture 1 (Part 3) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: OpenGL Skeleton void main(int argc, char** argv){ // First initialize
More informationTutorial 1: Your First Triangle!
Tutorial 1: Your First Triangle! Summary For your first dabble in OpenGL, you are going to create the graphics programming equivalent of Hello World - outputting a single coloured triangle. It doesn t
More informationMethodology for Lecture
Basic Geometry Setup Methodology for Lecture Make mytest1 more ambitious Sequence of steps Demo Review of Last Demo Changed floor to all white, added global for teapot and teapotloc, moved geometry to
More informationBuilding Models. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science
Building Models CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce simple data structures for building polygonal models - Vertex lists - Edge
More informationDistributed Virtual Reality Computation
Jeff Russell 4/15/05 Distributed Virtual Reality Computation Introduction Virtual Reality is generally understood today to mean the combination of digitally generated graphics, sound, and input. The goal
More informationBest practices for effective OpenGL programming. Dan Omachi OpenGL Development Engineer
Best practices for effective OpenGL programming Dan Omachi OpenGL Development Engineer 2 What Is OpenGL? 3 OpenGL is a software interface to graphics hardware - OpenGL Specification 4 GPU accelerates rendering
More information8 Three-Dimensional Object Representations. Chapter 8. Three-Dimensional Object Representations. Department of Computer Science and Engineering 8-1
Chapter 8 Three-Dimensional Object Representations 8-1 8.1 Overview The main goal of three-dimensional computer graphics is to generate two-dimensional images of a scene or of an object based on a a description
More informationthe gamedesigninitiative at cornell university Lecture 6 Scene Graphs
Lecture 6 Structure of a CUGL Application Main Application Scene Scene Models Root Models Root 2 Structure of a CUGL Application Main App Configuration Application Memory policy (future lecture) Scene
More informationComp 410/510 Computer Graphics Spring Programming with OpenGL Part 4: Three Dimensions
Comp 410/510 Computer Graphics Spring 2018 Programming with OpenGL Part 4: Three Dimensions Objectives Develop a bit more sophisticated three-dimensional example - Rotating cube Introduce hidden-surface
More information3D Reconstruction with Tango. Ivan Dryanovski, Google Inc.
3D Reconstruction with Tango Ivan Dryanovski, Google Inc. Contents Problem statement and motivation The Tango SDK 3D reconstruction - data structures & algorithms Applications Developer tools Problem formulation
More informationCS 380 Introduction to Computer Graphics. LAB (1) : OpenGL Tutorial Reference : Foundations of 3D Computer Graphics, Steven J.
CS 380 Introduction to Computer Graphics LAB (1) : OpenGL Tutorial 2018. 03. 05 Reference : Foundations of 3D Computer Graphics, Steven J. Gortler Goals Understand OpenGL pipeline Practice basic OpenGL
More informationI think this assignment should have 8 objectives but we should still mark it out of 10. The Mean TA.
Chapter 1 CS488/688 F17 A1: Introduction I think this assignment should have 8 objectives but we should still mark it out of 10. The Mean TA. This assignment is due Thursday, September 28th [Week 3]. 1.1
More informationCGT520 Lighting. Lighting. T-vertices. Normal vector. Color of an object can be specified 1) Explicitly as a color buffer
CGT520 Lighting Lighting Color of an object can be specified 1) Explicitly as a color buffer Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics 2) Implicitly from the illumination model.
More informationComputer Graphics (CS 4731) OpenGL/GLUT(Part 1)
Computer Graphics (CS 4731) Lecture 2: Introduction to OpenGL/GLUT(Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: OpenGL GLBasics OpenGL s function Rendering
More informationDive into Mobile VR/AR Games
Pre-Meeting Practical Course SS 2015 24th March, 2015 1 Meeting Outline 1. Course Goal 2. Organizational stuff 3. Important Dates 4. Intro to VR/AR 5. Introducing Dive 6. Tasks per Team 7. Tasks Samples
More informationthe gamedesigninitiative at cornell university Lecture 15 Game Audio
Lecture 15 The Role of Audio in Games Engagement Entertains player Music/Soundtrack Enhances realism Sound effects Establishes atmosphere Ambient sounds Or reasons? 2 The Role of Audio in Games Feedback
More informationTable of Contents. Questions or problems?
1 Introduction Overview Setting Up Occluders Shadows and Occlusion LODs Creating LODs LOD Selection Optimization Basics Controlling the Hierarchy MultiThreading Multiple Active Culling Cameras Umbra Comparison
More informationVertex Buffer Objects
1 Vertex Buffer Objects This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4.0 International License Mike Bailey mjb@cs.oregonstate.edu VertexBuffers.pptx Vertex Buffer
More informationVertex Buffer Objects. Vertex Buffer Objects: The Big Idea
1 Vertex Buffer Objects This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4.0 International License Mike Bailey mjb@cs.oregonstate.edu VertexBuffers.pptx Vertex Buffer
More informationUsing Terminal Window Graphics in CS1
Using in CS1 CCSCE 2008 Using in CS1 Using in CS1 The problem We have many goals for CS1, sometimes conflicting: Make it simple Many students come in with no prior programming experience Make it rigorous
More informationTo Do. Review of Last Demo. Methodology for Lecture. Geometry Basic Setup. Outline. Foundations of Computer Graphics (Fall 2012)
Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 8: OpenGL 2 http://inst.eecs.berkeley.edu/~cs184 To Do Continue working on HW 2. Can be difficult Class lectures, programs primary source Can
More informationCS 480/680: GAME ENGINE PROGRAMMING
CS 480/680: GAME ENGINE PROGRAMMING INPUT AND NETWORKING 2/7/2013 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2013/cs480-680/intro.html Outline Student Presentations
More informationCS380: Computer Graphics Screen Space & World Space. Sung-Eui Yoon ( 윤성의 ) Course URL:
CS380: Computer Graphics Screen Space & World Space Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg Class Objectives Understand different spaces and basic OpenGL commands Understand
More informationThis Unit: Putting It All Together. CIS 371 Computer Organization and Design. Sources. What is Computer Architecture?
This Unit: Putting It All Together CIS 371 Computer Organization and Design Unit 15: Putting It All Together: Anatomy of the XBox 360 Game Console Application OS Compiler Firmware CPU I/O Memory Digital
More informationStarting out with OpenGL ES 3.0. Jon Kirkham, Senior Software Engineer, ARM
Starting out with OpenGL ES 3.0 Jon Kirkham, Senior Software Engineer, ARM Agenda Some foundational work Instanced geometry rendering Uniform Buffers Transform feedback ETC2 Texture formats Occlusion Queries
More informationCPS104 Computer Organization Lecture 1. CPS104: Computer Organization. Meat of the Course. Robert Wagner
CPS104 Computer Organization Lecture 1 Robert Wagner Slides available on: http://www.cs.duke.edu/~raw/cps104/lectures 1 CPS104: Computer Organization Instructor: Robert Wagner Office: LSRC D336, 660-6536
More informationCS452/552; EE465/505. Models & Viewing
CS452/552; EE465/505 Models & Viewing 2-03 15 Outline! Building Polygonal Models Vertex lists; gl.drawarrays( ) Edge lists: gl.drawelements( )! Viewing Classical Viewing Read: Viewing in Web3D Angel, Section
More informationCPS104 Computer Organization Lecture 1
CPS104 Computer Organization Lecture 1 Robert Wagner Slides available on: http://www.cs.duke.edu/~raw/cps104/lectures 1 CPS104: Computer Organization Instructor: Robert Wagner Office: LSRC D336, 660-6536
More informationGEOMETRIC OBJECTS AND TRANSFORMATIONS I
Computer UNIT Graphics - 4 and Visualization 6 Hrs GEOMETRIC OBJECTS AND TRANSFORMATIONS I Scalars Points, and vectors Three-dimensional primitives Coordinate systems and frames Modelling a colored cube
More informationCS475/CS675 - Computer Graphics. OpenGL Drawing
CS475/CS675 - Computer Graphics OpenGL Drawing What is OpenGL? Open Graphics Library API to specify geometric objects in 2D/3D and to control how they are rendered into the framebuffer. A software interface
More informationlast time put back pipeline figure today will be very codey OpenGL API library of routines to control graphics calls to compile and load shaders
last time put back pipeline figure today will be very codey OpenGL API library of routines to control graphics calls to compile and load shaders calls to load vertex data to vertex buffers calls to load
More informationMultiplayer Virtual Reality at VISGRAF
Multiplayer Virtual Reality at VISGRAF Overview The virtual reality environment at the Laboratory aims to provide an extensive infrastructure for research and development of projects related to new media.
More informationgvirtualxray Tutorial 01: Creating a Window and an OpenGL Context Using GLUT
gvirtualxray Tutorial 01: Creating a Window and an OpenGL Context Using GLUT Dr Franck P. Vidal 4 th September 2014 1 Contents Table of contents 2 List of figures 3 List of listings 3 1 Introduction 4
More informationIntroduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL Ed Angel The Mandelbrot Set Fractals Fractal (fractional geometry) objects generate some of the most complex and beautiful graphics - The mathematics describing
More informationGeometry Shaders. And how to use them
Geometry Shaders And how to use them OpenGL Pipeline (part of it) Vertex data Vertex shader Vertices Primitives Geometry shader Primitives Fragments Fragment shader Color Depth Stencil Vertex Data Attributes
More informationMultiAR Project Michael Pekel, Ofir Elmakias [GIP] [234329]
MultiAR Project Michael Pekel, Ofir Elmakias [GIP] [234329] Supervisors Dr. Matan Sela Mr. Yaron Honen Assistants Alexander Porotskiy Summary MultiAR is a multiplayer quest (Outdoor Real Time Multiplayer
More informationOpenGL ES for iphone Games. Erik M. Buck
OpenGL ES for iphone Games Erik M. Buck Topics The components of a game n Technology: Graphics, sound, input, physics (an engine) n Art: The content n Fun: That certain something (a mystery) 2 What is
More informationAdobe/ Image/Video. (Sensors, buttons, - Web Development. switches, motors) - Electronics. - Raspberry pi - After Effects Design
Contact + Info _Page_1 Matthew Broking Brokingm@gmail.com (323) 376-1633 broking.cargocollective.com Mediums Technical Skills Interactive Adobe/ Image/Video Electronics - Video Game Development - Photoshop
More informationMIXED REALITY (AR & VR) WITH UNITY 3D (Microsoft HoloLens)
MIXED REALITY (AR & VR) WITH UNITY 3D (Microsoft HoloLens) 1. INTRODUCTION TO Mixed Reality (AR & VR) What is Virtual Reality (VR) What is Augmented reality(ar) What is Mixed Reality Modern VR/AR experiences
More informationGame Programming with DXFramework. Jonathan Voigt University of Michigan Fall 2005
Game Programming with DXFramework Jonathan Voigt University of Michigan Fall 2005 1 DirectX from 30,000 Feet DirectX is a general hardware interface API Goal: Unified interface for different hardware Much
More informationOpenGL Performances and Flexibility
OpenGL Performances and Flexibility Marco Di Benedetto Visual Computing Laboratory ISTI CNR, Italy OpenGL Roadmap 1.0 - Jan 1992 - First Version 1.1 - Jan 1997 - Vertex Arrays, Texture Objects 1.2 - Mar
More informationThis Unit: Putting It All Together. CIS 501 Computer Architecture. What is Computer Architecture? Sources
This Unit: Putting It All Together CIS 501 Computer Architecture Unit 12: Putting It All Together: Anatomy of the XBox 360 Game Console Application OS Compiler Firmware CPU I/O Memory Digital Circuits
More informationOriginal PlayStation: no vector processing or floating point support. Photorealism at the core of design strategy
Competitors using generic parts Performance benefits to be had for custom design Original PlayStation: no vector processing or floating point support Geometry issues Photorealism at the core of design
More informationUMKC Augmented and Virtual Reality Innovation Academy Spring 2019 Sessions
UMKC Augmented and Virtual Reality Innovation Academy Spring 2019 Sessions Overview: The following AR/VR Developer Series are offered over four weeks to help engage potential participants, community and
More informationWhat was removed? (1) OpenGL ES vs. OpenGL
SLIDE 2 Outline What is? vs. OpenGL Profiles and versions EGL Surfaces on Windows CE and Symbian Implementations SLIDE 3 SLIDE 4 What is? Small-footprint subset of OpenGL OpenGL is too large for embedded
More information3D computer graphics: geometric modeling of objects in the computer and rendering them
SE313: Computer Graphics and Visual Programming Computer Graphics Notes Gazihan Alankus, Spring 2012 Computer Graphics 3D computer graphics: geometric modeling of objects in the computer and rendering
More information3 Meshes. Strips, Fans, Indexed Face Sets. Display Lists, Vertex Buffer Objects, Vertex Cache
3 Meshes Strips, Fans, Indexed Face Sets Display Lists, Vertex Buffer Objects, Vertex Cache Intro generate geometry triangles, lines, points glbegin(mode) starts primitive then stream of vertices with
More informationOptimizing Games for ATI s IMAGEON Aaftab Munshi. 3D Architect ATI Research
Optimizing Games for ATI s IMAGEON 2300 Aaftab Munshi 3D Architect ATI Research A A 3D hardware solution enables publishers to extend brands to mobile devices while remaining close to original vision of
More informationWebGL. Creating Interactive Content with WebGL. Media #WWDC14. Session 509 Dean Jackson and Brady Eidson WebKit Engineers
Media #WWDC14 WebGL Creating Interactive Content with WebGL Session 509 Dean Jackson and Brady Eidson WebKit Engineers 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted
More informationOpenGL Performances and Flexibility. Visual Computing Laboratory ISTI CNR, Italy
OpenGL Performances and Flexibility Visual Computing Laboratory ISTI CNR, Italy The Abstract Graphics Pipeline Application 1. The application specifies vertices & connectivity. Vertex Processing 2. The
More informationTutorial 04. Harshavardhan Kode. September 14, 2015
Tutorial 04 Harshavardhan Kode September 14, 2015 1 About This tutorial an extension of the Tutorial 03. So you might see quite a lot similarities. The following things are new. A Plane is added underneath
More informationUnit 11: Putting it All Together: Anatomy of the XBox 360 Game Console
Computer Architecture Unit 11: Putting it All Together: Anatomy of the XBox 360 Game Console Slides originally developed by Milo Martin & Amir Roth at University of Pennsylvania! Computer Architecture
More informationGame Programming with. presented by Nathan Baur
Game Programming with presented by Nathan Baur What is libgdx? Free, open source cross-platform game library Supports Desktop, Android, HTML5, and experimental ios support available with MonoTouch license
More informationThis Unit: Putting It All Together. CIS 371 Computer Organization and Design. What is Computer Architecture? Sources
This Unit: Putting It All Together CIS 371 Computer Organization and Design Unit 15: Putting It All Together: Anatomy of the XBox 360 Game Console Application OS Compiler Firmware CPU I/O Memory Digital
More information