Experiences with 2-D and 3-D Mathematical Plots on the Java Platform

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Experiences with 2-D and 3-D Mathematical Plots on the Java Platform"

Transcription

1 Experiences with 2-D and 3-D Mathematical Plots on the Java Platform David Clayworth Maplesoft

2 What you will learn > Techniques for writing software that plots mathematical and scientific data > How to apply Java tools to these tasks: Java2D for 2D graphs JOGL for 3D graphs > How to make best use of these toolkits, especially JOGL 2

3 History > Maple is a symbolic math application: Performs math on symbols as well as numbers A huge number of mathematical operations > User interface is all Java (~1M lines) Outputs math as mathematicians, scientists or engineers expect it > Previous toolkit lacked speed, quality, controllability and economy. > Two stage rewrite:2d and then 3D 3

4 Demo > Maple before 4

5 Requirements > New Features Interactive annotation Mathematical labels part of the plot Speed and memory improvements Try to use few Java components > Notable Existing Features Plots embeddable in a worksheet Export to bitmap and vector Run on Windows, Linux, Mac and Solaris 5

6 Design Overview Model View Controller > Maple GUI uses Model-View-Controller > Each symbol, plot, component, axis etc. has a model > Each model has a view > Model update view layout view draw > Mapping from plot to pixel coordinates during layout 6

7 Design Plot Atoms > Atoms are small objects that store elements in a form that is quick to draw > They may store pixel positions, or a Shape object, or a symbol image and location > Created at layout time and stored in the MVC view > To draw itself a component just draws all its atoms 7

8 Design Plot Atoms interface Atom { void draw(graphics g); } class PolygonAtom implements Atom { GeneralPath poly; PolygonAtom(float x[],float y[]) { // create the path } void draw(graphics g) { ((Graphics2D)g).fill(poly); } } 8

9 Design Math in Labels > Mathematical expressions are drawn directly by positioning the view within the plot > Annotations use an existing package which draws over the plot with Java2D 9

10 Optimizations: float v int coordinates > drawpolyline(int[],int[],int) v draw(shape) > In theory ints are faster but floats more accurate > You need float coordinates for printing or vector graphics (e.g. Postscript) > Considered using int-based calls on screen and float-based for print > Ended using floats throughout: the differences in both accuracy and performance were small (except for printing). 10

11 Optimizations: Sprites > Rendering performance was acceptable, except when drawing many symbols > Sprites are small images which can be drawn to the screen instead of lines and shapes > Faster to draw an image than even a simple shape > Create a Sprite object which holds an image for the symbol > Sprites are indexed by symbol, size and colour. 11

12 Optimizations: Sprites Backgrounds of Sprites must be transparent You need to make sure that symbols are symmetric 12

13 2D Plots The results > The 2D plots were released in > Speeded up by a factor of 7 > Memory used less than 1/10 th > The new features were appreciated by customers > Spurred demand for the same features in 3D 13

14 Requirements 3D Project > New Features Interactive annotation, drawn in Java2D over 3D Mathematical labels part of the plot, embedded at 3D positions Other improvements as before > Notable Existing Features as before 14

15 Toolkits Candidate toolkits for 3D > The choices: Java3D: a complete scenegraph tool written in Java JOGL: a thin Java layer over OpenGL LWJGL: a Java layer over OpenGL designed for games A game engine, such as JMonkeyEngine > LWJGL eliminated as it uses a single window. > Many game engines have LWJGL underneath 15

16 Toolkits JOGL v Java3D > Java3D advantages: A complete OO toolkit Simpler to learn than OpenGL > JOGL advantages: If you know OpenGL you know JOGL Virtually full OpenGL functionality Known portability Wide use Doesn t impose it s own framework 16

17 Toolkits JOGL > GLCanvas (heavyweight AWT) or GLJPanel (lightweight Swing) accelerated components > GLEventListener is attached to the component render the scene > GL object passed to the listener provides Java equivalents for OpenGL calls. > You can (and must) use OpenGL documentation. > Each view object has a method to draw itself with GL calls. 17

18 Design Mixing 2D labels into 3D > Labels are positioned in 3D space > Math is drawn into an image with a transparent background > Set a raster position in 3D, then shift it in 2D to get the alignment right > Image drawn into the scene with JOGL > gl.glrasterpos3fv(arrayxyz, 0); gl.glbitmap(0, 0, 0, 0,xOff, yoff, null); gl.gldrawpixels(w,h,, image); 18

19 Design Mixing 2D labels into 3D What we expect What we get (without alpha-clipping) 19

20 Design Mixing 2D labels into 3D (cont.) > When OpenGL writes shape it sets the depth at which it is written (depth buffer) > Subsequent shapes at a greater depth are not written i.e. surfaces behind a surface aren t seen. > But the depth buffer is written even for transparent pixels > We have to use two passes: Write solid pixels and set the depth buffer Write transparent pixels without the depth buffer 20

21 Design Mixing 2D labels into 3D (cont.) gl.gldepthmask(true); gl.glalphafunc(gl.gl_gequal,alpha); drawallcomponents(); gl.glalphafunc(gl.gl_less, alpha); gl.gldepthmask(false); drawallcomponents(); > OpenGL Programming Guide Alpha Test (p477 Sixth Edition) 21

22 Rendering Mechanism Limitations of GLJPanel > Started with one GLJPanel per plot > A Maple document may have many plots. > But GLJPanels take resources (video RAM) > After creating so many they stop rendering > JOGL Issue

23 Rendering Mechanism Reusing a GLJPanel > Reuse GLJPanel, stealing them from plots that are offscreen. > But you can t reposition and draw a GLJPanel in the same event > There are other problems with writing plots for export. > A complex and impractical solution 23

24 Rendering Mechanism GLPBuffers > GLPBuffers allow for drawing hardware accelerated graphics offscreen > Render 3D to the GLPBuffer, then the image to the screen > Now easy to draw 2D annotations over the PBuffer image > We have fewer components > We still need to reuse GLPBuffers since they use video memory 24

25 Rendering Mechanism Creating a GLPBuffer GLDrawableFactory factory = GLDrawableFactory.getFactory(); GLPbuffer buf = factory.createglpbuffer(, width,height, ); GLContext glcontext = buf.createcontext(null); 25

26 Rendering Mechanism Drawing to a GLPBuffer void draw(graphics g) { try { glcontext.makecurrent(); GL gl = glcontext.getgl(); // make GL calls BufferedImage img = Screenshot.readToBufferedImage(w,h); g.drawimage(img, x, y null); } finally { if (GLContext.getCurrent()==glContext) {glcontext.release();} } } 26

27 Rendering Mechanism GLPBuffers (cont) > Not all displays support GLPBuffers: GLDrawableFactory. cancreateglpbuffer(); > Creation can still fail, because they need video resources > Catch GLException when creating; and RuntimeException because of JOGL bugs > Some performance cost 27

28 Rendering Mechanism Offscreen drawable > There is also a unaccelerated offscreen drawable > This is outside the published interface: it is used by GLJPanel. > See GLJPanel source GLDrawableImpl offscreendrawable = GLDrawableFactoryImpl.getFactoryImpl(). createoffscreendrawable(glcap, ); 28

29 Platform issues: > Not all machine configurations will work with JOGL out of the box. > Working OpenGL doesn t mean working JOGL > Need to call glgeterror() (or use DebugGL) > Catch GLException and process it > Check your display capabilities with GLDrawable.getChosenGLCapabilities(); > Don t make GL calls when your GLContext is not current 29

30 Platform issues: Mac > None 30

31 Platform issues: Windows > Few > ATI drivers: need at least v8.231 (Catalyst 8) > Remote Desktop Connection and some laptop external monitors: May not be able to use the 2-pass transparency algorithm Check the supported alpha bits > Some drivers draw bad plots 31

32 Platform issues: Linux > Some > Many default Linux installs don t work with JOGL > Proprietary video drivers needed ATI Catalyst 8.12 nvidia version 177 > Some drivers crash 32

33 Demo > The new plots 33

34 Summary: 2D > Favour precision over speed > Store presentation data close to the Java drawing format > Use sprites for symbols > Java2D provides all you need for this task 34

35 Summary: 3D > JOGL: Provides all your 3D needs Is good if you already have structure May not be best if you need to create structure > Programming JOGL is programming OpenGL > Write math as images directly to the 3D scene Requires transparency handling > Manage video drivers, esp. Linux 35

36 Summary: 3D (cont) > PBuffers: Simplify 2D/3D mixing Allow many plots in an app Have little performance cost Reduce component count Need to go outside the spec for unaccelerated images 36

37 Resources: > Jumping into JOGL: > JOGL documentatation: > JOGL forum: > PBuffers: > OpenGL Programming Guide 37

38 David Clayworth Senior GUI Developer Maplesoft 38

Computer Graphics. Lecture 1:

Computer Graphics. Lecture 1: Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

The MaXX Desktop. Workstation Environment. Revised Road Map Version 0.7. for Graphics Professionals

The MaXX Desktop. Workstation Environment. Revised Road Map Version 0.7. for Graphics Professionals The MaXX Desktop Workstation Environment for Graphics Professionals Revised Road Map Version 0.7 Document History Author Date Version Comments Eric Masson 01/11/2007 0.5 First Draft Eric Masson 18/11/2007

More information

Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics

Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) What is Computer Graphics (CG)? Computer

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Chapter 1 Objectives Introduction to Computer Graphics To understand the basic objectives and scope of computer graphics To identify computer graphics applications To understand the basic structures of

More information

Master Thesis. Document : Thesis Version : 1.0 Date : 27 March 2006 Document nr. : 546

Master Thesis. Document : Thesis Version : 1.0 Date : 27 March 2006 Document nr. : 546 Master Thesis Atlantis 3D Document : Thesis Version : 1.0 Date : 27 March 2006 Document nr. : 546 Student Author : Jeroen Broekhuizen Email : j.broekhuizen@hef.ru.nl Student nr. : 0219428 Education : Science

More information

Agile2D: implementing Graphics2D over OpenGL

Agile2D: implementing Graphics2D over OpenGL 1 Agile2D: implementing Graphics2D over OpenGL Jean-Daniel Fekete INRIA Futurs/LRI http://www.lri.fr/~fekete Implemented by Jon Meyer, Ben Bederson and Jean-Daniel Fekete for the University of Maryland

More information

Good FORTRAN Programs

Good FORTRAN Programs Good FORTRAN Programs Nick West Postgraduate Computing Lectures Good Fortran 1 What is a Good FORTRAN Program? It Works May be ~ impossible to prove e.g. Operating system. Robust Can handle bad data e.g.

More information

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,

More information

Android Architecture. Alexandra Harrison & Jake Saxton

Android Architecture. Alexandra Harrison & Jake Saxton Android Architecture Alexandra Harrison & Jake Saxton Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary History 2003

More information

JavaFX Session Agenda

JavaFX Session Agenda JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user

More information

Java game programming. Game engines. Fayolle Pierre-Alain

Java game programming. Game engines. Fayolle Pierre-Alain Java game programming Game engines 2010 Fayolle Pierre-Alain Plan Some definitions List of (Java) game engines Examples of game engines and their use A first and simple definition A game engine is a (complex)

More information

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH

Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH Equalizer Parallel OpenGL Application Framework Stefan Eilemann, Eyescale Software GmbH Outline Overview High-Performance Visualization Equalizer Competitive Environment Equalizer Features Scalability

More information

Development of a 3-D Multiplayer Racing Game

Development of a 3-D Multiplayer Racing Game Development of a 3-D Multiplayer Racing Game JOGL, JOAL and Java.NIO for Game Development Evangelos Pournaras University of Surrey 1041 AGENDA 2 > JautOGL Racing Game > Supported Functions > Architecture

More information

LittleCMS: A free color management engine in 100K.

LittleCMS: A free color management engine in 100K. LittleCMS: A free color management engine in 100K. Background One of the main components of a color management solution is the Color Matching Module, or CMM, which is the software engine in charge of controlling

More information

Printing Guide. MapInfo Pro Version 15.0. Contents:

Printing Guide. MapInfo Pro Version 15.0. Contents: MapInfo Pro Version 15.0 The purpose of this guide is to assist you in getting the best possible output from your MapInfo Pro software. We begin by covering the new print, import, and export features and

More information

Computer Graphics Hardware An Overview

Computer Graphics Hardware An Overview Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and

More information

MapInfo Professional Version 12.5. Printing Guide

MapInfo Professional Version 12.5. Printing Guide MapInfo Professional Version 12.5 Printing Guide The purpose of this guide is to assist you in getting the best possible output from your MapInfo Professional software. We begin by covering the new print,

More information

3D Application and Game Development With OpenGL

3D Application and Game Development With OpenGL 3D Application and Game Development With OpenGL java.sun.com/javaone/sf Daniel Petersen Kenneth Russell Sun Microsystems, Inc. 1 Presentation Goal Show how to build leading-edge 3D applications and games

More information

System Requirements G E N E R A L S Y S T E M R E C O M M E N D A T I O N S

System Requirements G E N E R A L S Y S T E M R E C O M M E N D A T I O N S System Requirements General Requirements These requirements are common to all platforms: A DVD drive for installation. If you need to install the software using CD-ROM media, please contact your local

More information

INSTALLATION GUIDE ENTERPRISE DYNAMICS 9.0

INSTALLATION GUIDE ENTERPRISE DYNAMICS 9.0 INSTALLATION GUIDE ENTERPRISE DYNAMICS 9.0 PLEASE NOTE PRIOR TO INSTALLING On Windows 8, Windows 7 and Windows Vista you must have Administrator rights to install the software. Installing Enterprise Dynamics

More information

Test Specification. Introduction

Test Specification. Introduction Test Specification Introduction Goals and Objectives GameForge is a graphical tool used to aid in the design and creation of video games. A user with little or no experience with Microsoft DirectX and/or

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

Finger Paint: Cross-platform Augmented Reality

Finger Paint: Cross-platform Augmented Reality Finger Paint: Cross-platform Augmented Reality Samuel Grant Dawson Williams October 15, 2010 Abstract Finger Paint is a cross-platform augmented reality application built using Dream+ARToolKit. A set of

More information

Release Notes Tecplot, Inc. Bellevue, WA 2012

Release Notes Tecplot, Inc. Bellevue, WA 2012 Release Notes Tecplot, Inc. Bellevue, WA 2012 COPYRIGHT NOTICE Tecplot 360 TM Release Notes is for use with Tecplot 360 TM 2012. Copyright 1988-2012 Tecplot, Inc. All rights reserved worldwide. Except

More information

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system

More information

Generate Android App

Generate Android App Generate Android App This paper describes how someone with no programming experience can generate an Android application in minutes without writing any code. The application, also called an APK file can

More information

Electronic Records Management Guidelines - File Formats

Electronic Records Management Guidelines - File Formats Electronic Records Management Guidelines - File Formats Rapid changes in technology mean that file formats can become obsolete quickly and cause problems for your records management strategy. A long-term

More information

Introduction to jmonkeyengine. What is jmonkeyengine? A jme Application Scene graphs Coordinate systems

Introduction to jmonkeyengine. What is jmonkeyengine? A jme Application Scene graphs Coordinate systems Introduction to jmonkeyengine What is jmonkeyengine? A jme Application Scene graphs Coordinate systems What is jmonkeyengine? jme is a game engine made for developers who want to create 3D games and other

More information

IDL. Get the answers you need from your data. IDL

IDL. Get the answers you need from your data. IDL Get the answers you need from your data. IDL is the preferred computing environment for understanding complex data through interactive visualization and analysis. IDL Powerful visualization. Interactive

More information

Chapter 5: System Software: Operating Systems and Utility Programs

Chapter 5: System Software: Operating Systems and Utility Programs Understanding Computers Today and Tomorrow 12 th Edition Chapter 5: System Software: Operating Systems and Utility Programs Learning Objectives Understand the difference between system software and application

More information

A Modular Approach to Teaching Mobile APPS Development

A Modular Approach to Teaching Mobile APPS Development 2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development

More information

Virtualization with VMWare

Virtualization with VMWare Virtualization with VMWare When it comes to choosing virtualization solutions for your business, you need to choose a company that you can trust. Out of all the respected virtualization solutions available,

More information

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul jellul@imperial.ac.uk Overview Brief introduction to Body Sensor Networks BSN Hardware

More information

Keith Packard. keithp@keithp.com July 29, 2005

Keith Packard. keithp@keithp.com July 29, 2005 Keith Packard keithp@keithp.com July 29, 2005 Experience HP (via Compaq) (12/01-present) Member of the Cambridge Research Laboratory. Research projects focused on user interfaces in all guises, from tiny

More information

NVIDIA GeForce GTX 580 GPU Datasheet

NVIDIA GeForce GTX 580 GPU Datasheet NVIDIA GeForce GTX 580 GPU Datasheet NVIDIA GeForce GTX 580 GPU Datasheet 3D Graphics Full Microsoft DirectX 11 Shader Model 5.0 support: o NVIDIA PolyMorph Engine with distributed HW tessellation engines

More information

Installation Guide. (Version 2014.1) Midland Valley Exploration Ltd 144 West George Street Glasgow G2 2HG United Kingdom

Installation Guide. (Version 2014.1) Midland Valley Exploration Ltd 144 West George Street Glasgow G2 2HG United Kingdom Installation Guide (Version 2014.1) Midland Valley Exploration Ltd 144 West George Street Glasgow G2 2HG United Kingdom Tel: +44 (0) 141 3322681 Fax: +44 (0) 141 3326792 www.mve.com Table of Contents 1.

More information

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,

More information

Introducing. Markus Erlacher Technical Solution Professional Microsoft Switzerland

Introducing. Markus Erlacher Technical Solution Professional Microsoft Switzerland Introducing Markus Erlacher Technical Solution Professional Microsoft Switzerland Overarching Release Principles Strong emphasis on hardware, driver and application compatibility Goal to support Windows

More information

Flash Is Your Friend An introductory level guide for getting acquainted with Flash

Flash Is Your Friend An introductory level guide for getting acquainted with Flash Flash Is Your Friend An introductory level guide for getting acquainted with Flash by Tom Krupka A Brief History: Adobe Flash, which was previously called Macromedia Flash, is a set of multimedia technologies

More information

Development of Java ME

Development of Java ME Y39PDA Development of Java ME application České vysoké učení technické v Praze Fakulta Elektrotechnická Content What is Java ME Low Level a High Level API What is JSR LBS Java ME app. life-cycle 2/29 Is

More information

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Technical Specifications

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Technical Specifications J3G90AA INTRODUCTION The NVIDIA Quadro K5200 gives you amazing application performance and capability, making it faster and easier to accelerate 3D models, render complex scenes, and simulate large datasets.

More information

Evaluation of two ETL's : CloverETL vs. 1 Talend Open Studio

Evaluation of two ETL's : CloverETL vs. 1 Talend Open Studio Evaluation of two ETL's : CloverETL vs. 1 Talend Open Studio To follow our previous article about ETL s introduction, we will present and compare two open source ETLs: CloverETL and TOS (Talend Open Studio).

More information

Maple Quick Start. Introduction. Talking to Maple. Using [ENTER] 3 (2.1)

Maple Quick Start. Introduction. Talking to Maple. Using [ENTER] 3 (2.1) Introduction Maple Quick Start In this introductory course, you will become familiar with and comfortable in the Maple environment. You will learn how to use context menus, task assistants, and palettes

More information

Visualization @ SUN. Linda Fellingham, Ph. D Manager, Visualization and Graphics Sun Microsystems

Visualization @ SUN. Linda Fellingham, Ph. D Manager, Visualization and Graphics Sun Microsystems Visualization @ SUN Shared Visualization 1.1 Software Scalable Visualization 1.1 Solutions Linda Fellingham, Ph. D Manager, Visualization and Graphics Sun Microsystems The Data Tsunami Visualization is

More information

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Why Android? ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Dr Dimitris C. Dracopoulos A truly open, free development platform based on Linux and open source A component-based

More information

CatDV Pro Workgroup Serve r

CatDV Pro Workgroup Serve r Architectural Overview CatDV Pro Workgroup Server Square Box Systems Ltd May 2003 The CatDV Pro client application is a standalone desktop application, providing video logging and media cataloging capability

More information

3D VIRTUAL DESKTOP APPLICATION Of UNSW. Introduction. What we propose to do 2/4. What we propose to do 1/4. What we propose to do 4/4

3D VIRTUAL DESKTOP APPLICATION Of UNSW. Introduction. What we propose to do 2/4. What we propose to do 1/4. What we propose to do 4/4 3D VIRTUAL DESKTOP APPLICATION Of UNSW Introduction Objective To build a stand alone or web based interactive virtual 3D map of the UNSW Kensington campus. What do we have to start off with? An existing

More information

GUI and Web Programming

GUI and Web Programming GUI and Web Programming CSE 403 (based on a lecture by James Fogarty) Event-based programming Sequential Programs Interacting with the user 1. Program takes control 2. Program does something 3. Program

More information

Lecture Notes, CEng 477

Lecture Notes, CEng 477 Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make

More information

Optimisation of a Graph Visualization Tool: Vizz3D

Optimisation of a Graph Visualization Tool: Vizz3D School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI Optimisation of a Graph Visualization Tool: Vizz3D Johan Carlsson Apr 2006 MSI Report 06045 Växjö University ISSN 1650-2647

More information

System Software. Chapter 4

System Software. Chapter 4 System Software Chapter 4 2014 by McGraw-Hill Education. This proprietary material solely for authorized instructor use. Not authorized for sale or distribution in any manner. This document may not be

More information

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Overview. NVIDIA Quadro K5200 8GB Graphics J3G90AA

QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Overview. NVIDIA Quadro K5200 8GB Graphics J3G90AA Overview J3G90AA INTRODUCTION The NVIDIA Quadro K5200 gives you amazing application performance and capability, making it faster and easier to accelerate 3D models, render complex scenes, and simulate

More information

IBM Deep Computing Visualization Offering

IBM Deep Computing Visualization Offering P - 271 IBM Deep Computing Visualization Offering Parijat Sharma, Infrastructure Solution Architect, IBM India Pvt Ltd. email: parijatsharma@in.ibm.com Summary Deep Computing Visualization in Oil & Gas

More information

Advanced analytics at your hands

Advanced analytics at your hands 2.3 Advanced analytics at your hands Neural Designer is the most powerful predictive analytics software. It uses innovative neural networks techniques to provide data scientists with results in a way previously

More information

Application of Android OS as Real-time Control Platform**

Application of Android OS as Real-time Control Platform** AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 2 http://dx.doi.org/10.7494/automat.2013.17.2.197 Krzysztof Ko³ek* Application of Android OS as Real-time Control Platform** 1. Introduction An android operating

More information

3D Graphics for Embedded Systems

3D Graphics for Embedded Systems EuroGraphics Italian Chapter Catania, Feb 24 th 2006 3D Graphics for Embedded Systems From standards, through R&D to applicable innovations Massimiliano Barone Imaging, Rendering, Human Machine Interaction

More information

RIC 2007 SNAP: Symbolic Nuclear Analysis Package. Chester Gingrich USNRC/RES 3/13/07

RIC 2007 SNAP: Symbolic Nuclear Analysis Package. Chester Gingrich USNRC/RES 3/13/07 RIC 2007 SNAP: Symbolic Nuclear Analysis Package Chester Gingrich USNRC/RES 3/13/07 1 SNAP: What is it? Standard Graphical User Interface designed to simplify the use of USNRC analytical codes providing:

More information

Android Development. Lecture 1b Android SDK & Development Environment

Android Development. Lecture 1b Android SDK & Development Environment Android Development Lecture 1b Android SDK & Development Environment This work is licensed under a Creative Commons Attribution NonCommercialShareAlike 4.0 International License. Marco Picone, Ph.D. marco.picone@unipr.it

More information

Running Windows on a Mac. Why?

Running Windows on a Mac. Why? Running Windows on a Mac Why? 1. We still live in a mostly Windows world at work (but that is changing) 2. Because of the abundance of Windows software there are sometimes no valid Mac Equivalents. (Many

More information

What is ArcGIS Comprised Of?

What is ArcGIS Comprised Of? ArcGIS Server 9.1 What is ArcGIS Comprised Of? ArcGIS Desktop Integrated suite of GIS applications ArcGIS Engine Embeddable developer components Server GIS ArcSDE, ArcIMS, ArcGIS Server Mobile GIS ArcPad

More information

NVIDIA Parallel Nsight Accelerating GPU Development in BioWare s Dragon Age II. March 2011

NVIDIA Parallel Nsight Accelerating GPU Development in BioWare s Dragon Age II. March 2011 NVIDIA Parallel Nsight Accelerating GPU Development in BioWare s Dragon Age II March 2011 Introductions Jeff Kiel Manager of Graphics Tools NVIDIA Corporation Andreas Papathanasis Lead Graphics Programmer

More information

Digital Blocks Semiconductor IP

Digital Blocks Semiconductor IP Digital Blocks Semiconductor IP BitBLT Graphics HW Accelerator General Description The Digital Blocks BitBLT Graphics Hardware Accelerator Verilog IP Core renders a graphics frame by generating new bitmaps

More information

The Most Popular UI/Apps Framework For IVI on Linux

The Most Popular UI/Apps Framework For IVI on Linux The Most Popular UI/Apps Framework For IVI on Linux About me Tasuku Suzuki Qt Engineer Qt, Developer Experience and Marketing, Nokia Have been using Qt since 2002 Joined Trolltech in 2006 Nokia since 2008

More information

Chapter 2 - Graphics Programming with JOGL

Chapter 2 - Graphics Programming with JOGL Chapter 2 - Graphics Programming with JOGL Graphics Software: Classification and History JOGL Hello World Program 2D Coordinate Systems in JOGL Dealing with Window Reshaping 3D Coordinate Systems in JOGL

More information

Java game programming. 2D Graphics and animation. Fayolle Pierre-Alain

Java game programming. 2D Graphics and animation. Fayolle Pierre-Alain Java game programming 2D Graphics and animation 2010 Fayolle Pierre-Alain Plan Basic remainder on graphics hardware Window application / applet / full-screen application 2D graphics (text, shape) Images

More information

Definiens XD 1.2.1. Release Notes

Definiens XD 1.2.1. Release Notes Definiens XD 1.2.1 Release Notes Imprint and Version Document Version Copyright 2010 Definiens AG. All rights reserved. This document may be copied and printed only in accordance with the terms of the

More information

From Parking Meters to Netbooks: Java TM Platform, Standard Edition 6 for ARM- Based Embedded Devices

From Parking Meters to Netbooks: Java TM Platform, Standard Edition 6 for ARM- Based Embedded Devices From Parking Meters to Netbooks: Java TM Platform, Standard Edition 6 for ARM- Based Embedded Devices Bob Vandette Sun Microsystems, Inc. Java SE Embedded Technical Lead Introduction Java SE 6.0 for Linux

More information

About Parallels Desktop 7 for Mac

About Parallels Desktop 7 for Mac About Parallels Desktop 7 for Mac Parallels Desktop 7 for Mac is a major upgrade to Parallels' award-winning software for running Windows on a Mac. About this Update This update for Parallels Desktop for

More information

Integrated Open-Source Geophysical Processing and Visualization

Integrated Open-Source Geophysical Processing and Visualization Integrated Open-Source Geophysical Processing and Visualization Glenn Chubak* University of Saskatchewan, Saskatoon, Saskatchewan, Canada gdc178@mail.usask.ca and Igor Morozov University of Saskatchewan,

More information

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what

More information

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems Fastboot Techniques for x86 Architectures Marcus Bortel Field Application Engineer QNX Software Systems Agenda Introduction BIOS and BIOS boot time Fastboot versus BIOS? Fastboot time Customizing the boot

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

More information

QHR Accuro EMR IT Hardware Requirements

QHR Accuro EMR IT Hardware Requirements QHR Accuro EMR IT Hardware Requirements Hardware Requirements for Accuro EMR Table of Contents Local Install Platform:... 3 Server Requirements:... 3 Workstation Requirements:... 4 Peripheral Requirements:...

More information

Better Digital Signal Processing Performance; Lower Costs With Innovative IntervalZero RTX Real-time Platform

Better Digital Signal Processing Performance; Lower Costs With Innovative IntervalZero RTX Real-time Platform White Paper Better Digital Signal Performance; Lower Costs With Innovative IntervalZero RTX Real-time Platform I. Overview Digital Signal Processors (s) have specialized architectures that are optimized

More information

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved

More information

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar Game Development in Android Disgruntled Rats LLC Sean Godinez Brian Morgan Michael Boldischar Overview Introduction Android Tools Game Development OpenGL ES Marketing Summary Questions Introduction Disgruntled

More information

Tekla Structures 18 Hardware Recommendation

Tekla Structures 18 Hardware Recommendation 1 (5) Tekla Structures 18 Hardware Recommendation Recommendations for Tekla Structures workstations Tekla Structures hardware recommendations are based on the setups that have been used in testing Tekla

More information

QuickSpecs. NVIDIA Quadro M6000 12GB Graphics INTRODUCTION. NVIDIA Quadro M6000 12GB Graphics. Overview

QuickSpecs. NVIDIA Quadro M6000 12GB Graphics INTRODUCTION. NVIDIA Quadro M6000 12GB Graphics. Overview Overview L2K02AA INTRODUCTION Push the frontier of graphics processing with the new NVIDIA Quadro M6000 12GB graphics card. The Quadro M6000 features the top of the line member of the latest NVIDIA Maxwell-based

More information

4.1 Introduction 4.2 Explain the purpose of an operating system 4.2.1 Describe characteristics of modern operating systems Control Hardware Access

4.1 Introduction 4.2 Explain the purpose of an operating system 4.2.1 Describe characteristics of modern operating systems Control Hardware Access 4.1 Introduction The operating system (OS) controls almost all functions on a computer. In this lecture, you will learn about the components, functions, and terminology related to the Windows 2000, Windows

More information

Remote Desktop on Mobile

Remote Desktop on Mobile Remote Desktop on Mobile SonamGavhane RasikaPhanse Monica Sadafule B.W.Balkhande Abstract In This paper we will see how the remote Desktop with static IP can be accessed using Android based mobile phones,to

More information

Windows Embedded Compact 7: RemoteFX and Remote Experience Thin Client Integration

Windows Embedded Compact 7: RemoteFX and Remote Experience Thin Client Integration Windows Embedded Compact 7: RemoteFX and Remote Experience Thin Client Integration Windows Embedded Technical Article Summary: Microsoft RemoteFX is a new Windows Server 2008 R2 SP1 feature that enables

More information

Game Programming with Groovy. James Williams @ecspike Sr. Software Engineer, BT/Ribbit

Game Programming with Groovy. James Williams @ecspike Sr. Software Engineer, BT/Ribbit Game Programming with Groovy James Williams @ecspike Sr. Software Engineer, BT/Ribbit About Me Sr. Software Engineer at BT/Ribbit Co-creator of Griffon, a desktop framework for Swing using Groovy Contributer

More information

NVIDIA GRID OVERVIEW SERVER POWERED BY NVIDIA GRID. WHY GPUs FOR VIRTUAL DESKTOPS AND APPLICATIONS? WHAT IS A VIRTUAL DESKTOP?

NVIDIA GRID OVERVIEW SERVER POWERED BY NVIDIA GRID. WHY GPUs FOR VIRTUAL DESKTOPS AND APPLICATIONS? WHAT IS A VIRTUAL DESKTOP? NVIDIA GRID OVERVIEW Imagine if responsive Windows and rich multimedia experiences were available via virtual desktop infrastructure, even those with intensive graphics needs. NVIDIA makes this possible

More information

Introduction to ios Testing

Introduction to ios Testing Introduction to ios Testing Presented by Amy Klatt August 8, 2012 Agenda Overview Best practices Installing apps Setting up a test environment Screenshots and video Logs Q & A 2 The Challenge Overview

More information

Interactive Visualization of Genomic Data

Interactive Visualization of Genomic Data Interactive Visualization of Genomic Data Interfacing Qt and R Michael Lawrence November 17, 2010 1 Introduction 2 Qt-based Interactive Graphics Canvas Design Implementation 3 Looking Forward: Integration

More information

blended_pixel = background_pixel * (1 foreground_pixel_opacity) + foreground_pixel * foreground_pixel_opacity

blended_pixel = background_pixel * (1 foreground_pixel_opacity) + foreground_pixel * foreground_pixel_opacity Max-imize Your Color: Expert Tips from our Color Scientist Max Derhak Troubleshooting Transparency Problems The use of transparency is a relatively new capability added to many creative applications which

More information

Data Visualization in Parallel Environment Based on the OpenGL Standard

Data Visualization in Parallel Environment Based on the OpenGL Standard NO HEADER, NO FOOTER 5 th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics January 25-26, 2007 Poprad, Slovakia Data Visualization in Parallel Environment Based on the

More information

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER RAMA HOETZLEIN, DEVELOPER TECHNOLOGY, NVIDIA Data Visualizations assist humans with data analysis by representing information

More information

Low power GPUs a view from the industry. Edvard Sørgård

Low power GPUs a view from the industry. Edvard Sørgård Low power GPUs a view from the industry Edvard Sørgård 1 ARM in Trondheim Graphics technology design centre From 2006 acquisition of Falanx Microsystems AS Origin of the ARM Mali GPUs Main activities today

More information

WHAT WOULD IT MEAN IF YOU COULD VISUALISE ALL YOUR DATA IN LESS THAN A SECOND FROM WHEREVER YOU ARE?

WHAT WOULD IT MEAN IF YOU COULD VISUALISE ALL YOUR DATA IN LESS THAN A SECOND FROM WHEREVER YOU ARE? WHAT WOULD IT MEAN IF YOU COULD VISUALISE ALL YOUR DATA IN LESS THAN A SECOND FROM WHEREVER YOU ARE? ACCURATE, REAL-TIME 3D DATA VISUALISATION. Geoverse delivers instant, interactive access to your entire

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented

More information

MiniDraw Introducing a framework... and a few patterns

MiniDraw Introducing a framework... and a few patterns MiniDraw Introducing a framework... and a few patterns What is it? [Demo] 2 1 What do I get? MiniDraw helps you building apps that have 2D image based graphics GIF files Optimized repainting Direct manipulation

More information

Minueto, a Game Development Framework for Teaching Object- Oriented Software Design Techniques

Minueto, a Game Development Framework for Teaching Object- Oriented Software Design Techniques Minueto, a Game Development Framework for Teaching Object- Oriented Software Design Techniques Alexandre Denault Jörg Kienzle School of Computer Science, McGill University This paper presents Minueto,

More information

VMware and NVIDIA: Bringing Workstations to the cloud

VMware and NVIDIA: Bringing Workstations to the cloud VMware and NVIDIA: Bringing Workstations to the cloud Aaron Blasius Sr. Product Manager: Remote Desktop Experience Team 2009 VMware Inc. All rights reserved Agenda Defining the cloud Virtualization, an

More information

3D Game Development Intro to Game

3D Game Development Intro to Game 3D Game Development Intro to Game Engines Jay Urbain, Ph.D. SE3250 OpenGL Programming Guide: http://www.glprogramming.com/red/ http://people.msoe.edu/~urbain/cs421/index.html http://jmonkeyengine.org Game

More information

Autodesk 3ds Max 2010 Boot Camp FAQ

Autodesk 3ds Max 2010 Boot Camp FAQ Autodesk 3ds Max 2010 Boot Camp Frequently Asked Questions (FAQ) Frequently Asked Questions and Answers This document provides questions and answers about using Autodesk 3ds Max 2010 software with the

More information

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations MMGD0203 MULTIMEDIA DESIGN Chapter 3 Graphics and Animations 1 Topics: Definition of Graphics Why use Graphics? Graphics Categories Graphics Qualities File Formats Types of Graphics Graphic File Size Introduction

More information

Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS

Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Peter Rautek Rückblick Motivation Vorbesprechung Spiel VL Framework Ablauf Android Basics Android Specifics Activity, Layouts, Service, Intent, Permission,

More information

Visualization à la Unix TM

Visualization à la Unix TM Visualization à la Unix TM Hans-Peter Bischof (hpb [at] cs.rit.edu) Department of Computer Science Golisano College of Computing and Information Sciences Rochester Institute of Technology One Lomb Memorial

More information