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

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

How To Teach Computer Graphics

How To Teach Computer Graphics 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Optimizing AAA Games for Mobile Platforms

Optimizing AAA Games for Mobile Platforms Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo

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

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

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

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

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

Geant4 Visualization. Andrea Dotti April 19th, 2015 Geant4 tutorial @ M&C+SNA+MC 2015

Geant4 Visualization. Andrea Dotti April 19th, 2015 Geant4 tutorial @ M&C+SNA+MC 2015 Geant4 Visualization Andrea Dotti April 19th, 2015 Geant4 tutorial @ M&C+SNA+MC 2015 HepRep/HepRApp Slides from Joseph Perl (SLAC) and Laurent Garnier (LAL/IN2P3) DAWN OpenGL OpenInventor RayTracer HepRep/FRED

More information

Introduction to GPU hardware and to CUDA

Introduction to GPU hardware and to CUDA Introduction to GPU hardware and to CUDA Philip Blakely Laboratory for Scientific Computing, University of Cambridge Philip Blakely (LSC) GPU introduction 1 / 37 Course outline Introduction to GPU hardware

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

ACE: Illustrator CC Exam Guide

ACE: Illustrator CC Exam Guide Adobe Training Services Exam Guide ACE: Illustrator CC Exam Guide Adobe Training Services provides this exam guide to help prepare partners, customers, and consultants who are actively seeking accreditation

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

2D Art and Animation. [ COGS Meeting 02/18/2015 ] [ Andrew ]

2D Art and Animation. [ COGS Meeting 02/18/2015 ] [ Andrew ] 2D Art and Animation [ COGS Meeting 02/18/2015 ] [ Andrew ] Raster Art Vector Art Pixel Art Types of Images Raster Art These are the standard image types you re familiar with: PNG, JPEG, BMP, etc. Internally

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

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

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

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect SIGGRAPH 2013 Shaping the Future of Visual Computing NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect NVIDIA

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

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

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

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

Stream Processing on GPUs Using Distributed Multimedia Middleware

Stream Processing on GPUs Using Distributed Multimedia Middleware Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research

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

Tips & Tricks Using HP Designjet Printers with AutoCAD Applications

Tips & Tricks Using HP Designjet Printers with AutoCAD Applications Tips & Tricks Using HP Designjet Printers with AutoCAD Applications 2009 Hewlett-Packard Development Company, L.P. Printing to HP Designjet printers... 3 Choosing the right driver... 3 Using plotter configuration

More information

Comparison of Open Source Virtual Globes

Comparison of Open Source Virtual Globes FOSS4G 2010 Comparison of Open Source Virtual Globes Mathias Walker Pirmin Kalberer Sourcepole AG, Bad Ragaz www.sourcepole.ch About Sourcepole GIS-Knoppix: first GIS live-cd QGIS Core developer QGIS Mapserver

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

Programming Languages & Tools

Programming Languages & Tools 4 Programming Languages & Tools Almost any programming language one is familiar with can be used for computational work (despite the fact that some people believe strongly that their own favorite programming

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

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

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

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

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

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

Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data

Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data Graphical Processing Units to Accelerate Orthorectification, Atmospheric Correction and Transformations for Big Data Amanda O Connor, Bryan Justice, and A. Thomas Harris IN52A. Big Data in the Geosciences:

More information

Freescale Semiconductor, I

Freescale Semiconductor, I nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development

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

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

Computers Are Your Future Eleventh Edition Chapter 5: Application Software: Tools for Productivity

Computers Are Your Future Eleventh Edition Chapter 5: Application Software: Tools for Productivity Computers Are Your Future Eleventh Edition Chapter 5: Application Software: Tools for Productivity Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 All rights reserved. No part of this

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

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

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

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control

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

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

ArcGIS Pro. James Tedrick, Esri

ArcGIS Pro. James Tedrick, Esri ArcGIS Pro James Tedrick, Esri What you already know Why ArcGIS PRO? Vision The next generation ArcGIS desktop application for the GIS community who need a clean and comprehensive user experience which

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

Table of Content RELEASE INFORMATION... 2 ORDERING AND INSTALLATION... 3 CHANGES IN CUTTING POWERPAC 5.15.00.01... 4

Table of Content RELEASE INFORMATION... 2 ORDERING AND INSTALLATION... 3 CHANGES IN CUTTING POWERPAC 5.15.00.01... 4 Table of Content 1/6 RELEASE INFORMATION... 2 Release Name... 2 Release Information... 2 Release Time... 2 ORDERING AND INSTALLATION... 3 Supported Platforms... 3 Required Software... 3 Supported Operating

More information

ANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA

ANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA ANDROID DEVELOPER TOOLS TRAINING GTC 2014 Sébastien Dominé, NVIDIA AGENDA NVIDIA Developer Tools Introduction Multi-core CPU tools Graphics Developer Tools Compute Developer Tools NVIDIA Developer Tools

More information

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1 Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website

More information

Autodesk Inventor on the Macintosh

Autodesk Inventor on the Macintosh Autodesk Inventor on the Macintosh FREQUENTLY ASKED QUESTIONS 1. Can I install Autodesk Inventor on a Mac? 2. What is Boot Camp? 3. What is Parallels? 4. How does Boot Camp differ from Virtualization?

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

START TEACHER'S GUIDE

START TEACHER'S GUIDE START TEACHER'S GUIDE Introduction A complete summary of the GAME:IT Junior curriculum. Welcome to STEM Fuse's GAME:IT Junior Course Whether GAME:IT Junior is being taught as an introductory technology

More information

Introduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it

Introduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it t.diamanti@cineca.it Agenda From GPUs to GPGPUs GPGPU architecture CUDA programming model Perspective projection Vectors that connect the vanishing point to every point of the 3D model will intersecate

More information

Eclipse Exam Scripting

Eclipse Exam Scripting Static Analysis For Improved Application Performance And Quality Eric Cloninger (ericc@motorola.com) Product Line Manager, Development Tools Motorola Mobility Housekeeping bit.ly bundle for all content

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

Desktop Virtualization. The back-end

Desktop Virtualization. The back-end Desktop Virtualization The back-end Will desktop virtualization really fit every user? Cost? Scalability? User Experience? Beyond VDI with FlexCast Mobile users Guest workers Office workers Remote workers

More information

Planning Your Installation or Upgrade

Planning Your Installation or Upgrade Planning Your Installation or Upgrade Overview This chapter contains information to help you decide what kind of Kingdom installation and database configuration is best for you. If you are upgrading your

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

ArcGIS ArcMap: Printing, Exporting, and ArcPress

ArcGIS ArcMap: Printing, Exporting, and ArcPress Esri International User Conference San Diego, California Technical Workshops July 25th, 2012 ArcGIS ArcMap: Printing, Exporting, and ArcPress Michael Grossman Jeremy Wright Workshop Overview Output in

More information

NinJo Project Status June 2004 DWD. NinJo Project Status. The NinJo Team at the last team meeting. Status of Software Development

NinJo Project Status June 2004 DWD. NinJo Project Status. The NinJo Team at the last team meeting. Status of Software Development NinJo Project Status June 2004 NinJo Project Status The NinJo Team at the last team meeting Overview User Input Layers Diagram based applications Servers Batch Hard- and Software-Benchmarks NinJo Hardware

More information

Teaching Introductory Computer Graphics Via Ray Tracing

Teaching Introductory Computer Graphics Via Ray Tracing Teaching Introductory Computer Graphics Via Ray Tracing Helen H. Hu Westminster College, Salt Lake City, UT hhu@westminstercollege.edu Figure 1. Examples of student work. For fun, enthusiastic students

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Graphics Programming December, 2005 1 Table of Contents

More information