Interpreting Example 3.5.

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

2D Geometric Transformations
Graphics Pipeline.
Status – Week 257 Victor Moya. Summary GPU interface. GPU interface. GPU state. GPU state. API/Driver State. API/Driver State. Driver/CPU Proxy. Driver/CPU.
Shared Graphics Skills Cameras and Clipping Planes
INTRODUCTION. Painting with numbers! Aspects Modeling Rendering Animation.
Chapter 10: Coordinate Systems Chapter 10.
IAT 3551 Computer Graphics Overview Color Displays Drawing Pipeline.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
Introduction to OpenGL. What is OpenGL OpenGL is a low-level software interface to graphics hardware No commands for performing windowing tasks or obtaining.
CHAPTER 7 Viewing and Transformations © 2008 Cengage Learning EMEA.
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
3D Concepts Coordinate Systems Coordinates specify points in space 3D coords commonly use X, Y, & Z A vertex is a 'corner' of an object Different coordinate.
CSE 381 – Advanced Game Programming 3D Game Architecture.
19/4/ :32 Graphics II Syllabus Selection and Picking Session 1.
Antigone Engine Kevin Kassing – Period
Basic graphics. ReviewReview Viewing Process, Window and viewport, World, normalized and device coordinates Input and output primitives and their attributes.
UniS CS297 Graphics with Java and OpenGL Viewing, the model view matrix.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
3D Programming Concepts How objects are described in 3D and Rendering Pipelines – A conceptual way of thinking of the steps involved of converting an abstract.
3D Objects Subject:T0934 / Multimedia Programming Foundation Session:12 Tahun:2009 Versi:1/0.
Week 2 - Wednesday CS361.
Music composition with HTML 5-Canvas. Abstarct Online version music editor. Easy to use, just need some simple direction. Everyone can be a musician.
CS-378: Game Technology Lecture #2.1: Projection Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Image Synthesis Rabie A. Ramadan, PhD D Images.
Ch 2 Graphics Programming page 1 CSC 367 Coordinate Systems (2.1.2) Device coordinates, or screen coordinates (pixels) put limitations on programmers and.
1 Graphics CSCI 343, Fall 2015 Lecture 2 Introduction to HTML, JavaScript and WebGL.
MAE 152 Computer Graphics for Scientists and Engineers Fall 2003 Dr. Prashant V. Mahajan Senior Research Scientist AValonRF, Inc., El Cajon, CA.
OpenGL: Introduction Yanci Zhang Game Programming Practice.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
Control flow for interactive applications CSE 3541 Matt Boggus.
Mark Nelson 3d projections Fall 2013
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Development of a Software Renderer for utilizing 3D Contents on a 2D-based Mobile System Sungkwan Kang 1, Joonseub Cha 2, Jimin Lee 1 and Jongan Park 1,
In the name of God Computer Graphics.
1 Graphics CSCI 343, Fall 2015 Lecture 3 Introduction to WebGL.
2009 GRAPHICS : PROJECT 1 BASED ON DX9 BASICS. Documented by Dongjoon Kim SNU CS Ph.D Course Student Contact : NOTE.
OpenGL: The Open Graphics Language Introduction By Ricardo Veguilla.
Programming with OpenGL Part 2: Complete Programs Ed Angel Professor of Emeritus of Computer Science University of New Mexico.
Programming with OpenGL Part 2: Complete Programs Ed Angel Professor of Emeritus of Computer Science University of New Mexico.
Jens Krüger & Polina Kondratieva – Computer Graphics and Visualization Group computer graphics & visualization GameFX C# / DirectX 2005 The Rendering Pipeline.
Honours Graphics 2008 Session 2. Today’s focus Vectors, matrices and associated math Transformations and concatenation 3D space.
Current Student – University of Wisconsin – Stout Applied Mathematics and Computer Science: Software Development Associate Degree in Computer Programming.
Mobile & Casual Gaming OpenGL ES Intro. /red/chapter03.html.
Build your own 2D Game Engine and Create Great Web Games using HTML5, JavaScript, and WebGL. Sung, Pavleas, Arnez, and Pace, Chapter 6 Examples 1,
Computer Science – Game DesignUC Santa Cruz Tile Engine.
Creation and Visualization of 3D Scenes with the MRPT library January, 2007 Jose Luis Blanco Claraco Dept. of Automation and System Engineering University.
Build your own 2D Game Engine and Create Great Web Games using HTML5, JavaScript, and WebGL. Sung, Pavleas, Arnez, and Pace, Chapter 5 Examples 1.
Build your own 2D Game Engine and Create Great Web Games using HTML5, JavaScript, and WebGL. Sung, Pavleas, Arnez, and Pace, Chapter 4 Implementing.
OpenGL: The Open Graphics Language Technology and Historical Overview By Ricardo Veguilla.
Applications and Rendering pipeline
Forward Projection Pipeline and Transformations CENG 477 Introduction to Computer Graphics.
Computer Graphics Overview
Lecture 10 Geometric Transformations In 3D(Three- Dimensional)
Implementing Common Components of Video Games
Textures, Sprites, and Fonts
In the name of God Computer Graphics.
Antigone Engine.
The Basics: HTML5, Drawing, and Source Code Organization
Chapter 3 Drawing In the World.
Example: Card Game Create a class called “Card”
3D Graphics Rendering PPT By Ricardo Veguilla.
CENG 477 Introduction to Computer Graphics
CS451Real-time Rendering Pipeline
Game and animation control flow
3D applications in Delphi
The Modelview Matrix Lecture 8 Mon, Sep 10, 2007.
2 types of scale factor problems
Introduction to Computer Graphics
Presentation transcript:

Interpreting Example 3.5

Source code structure index.html src folder Starting point Loading all scripting files src folder Engine/Core folder: core of our engine, access to hardware, important organs but no one needs to see Engine folder: Files: Renderable, Camera, Transform, SimpleShader GLSLShader: graphics hardware programs (ignore for now) lib: external library we use (for vector and matrix) MyGame: our user (programmer’s) source code

Engine/Core folder Core of the game engine Engine_Core Functionality that is important but should be hidden from programmer Engine_Core getGL(): Connection to the graphics Hardware clearCanvas(): clears the canvas Just need to know how/when to call these two functions Engine_VertexBuffer Defines the geometric of the squares drawn. No need to know about this (probably ever in this class)

Engine/Transform Abstraction that can transform a vertex position Good for transforming Renderable Functions: Move, Scale, Rotation

Engine/Renderable Abstraction that can be drawn Functions to know draw(): draws based on input transformation matrix get/setColor(): [r, g, b, a]: getXform(): gets the transform to manipulate the object

Engine/SimpleShader API programmer’s connection to the programs defined in GLSLShader Singleton: as there is only one program in the graphics hardware Renderable: needs this to be drawn Renderable constructor takes a SimpleShader Functions to know: None for now.

Engine/Camera What visible part of the world to draw Viewport: World Coordinate Defined by: Center and Width [no height] Units: arbitrary Viewport: Draw to where on the canvas Units: in pixels

MyGame/MyGame.js Source code of the game build based on our API All functionality in the Constructor: key functionality gEngine.Core.initializeWebGL() Allocate/initialize Camera: draw drawing a specific area Allocate/initialize SimpleShader: drawing each square Define the squares Draw the squares