Instruction for IVR interface

Size: px
Start display at page:

Download "Instruction for IVR interface"

Transcription

1 This document is aimed at helping users to use IVR interface developing applications that will be able to run and display on integrated computer. Instruction for IVR interface IDEALENS

2 CONTENTS 1. File List IVR Interface integrated approach Data type defined in the interface Instruction FOR Interface ) Initialization function ) Resume/pause function ) Acquire device information function... 3 Use parameter eyetexturefov to create projection matrix... 3 Use parameter IPD to adjust model_veiw matrix ) Head pose function ) Texture setting function ) Render function Render sequence Page 1

3 1. FILE LIST ivr.h libivr.so including all kinds of data types and function interface declarations Through this so automatic link system library to call actually needed function 2. IVR INTERFACE INTEGRATED APPROACH Through include ivr.h to call interface function in code, just integrate libivr.so in app when use. Specific calling procedure can refer to the following render sequence. 3. DATA TYPE DEFINED IN THE INTERFACE Type Instruction IVRQuatf Quaternionic vector, its component is x, y, z, w IVRVector3f Ternary vector, its component is x, y, z, IVRInstance Show VR relevant contextual handles IVRHmdType Show device type IVREyeType IVREye_Left = 0, IVREye_Right = 1 float eyetexturefov[2]: FOV of left and right eyes IVRHmdInfo float ipd In meters IVRHmdType type: Device type Return types of function, IVRStatus.OK is for success, other types show something unusual. IVR_STATUS_OK, //return if success IVRStatus IVR_STATUS_ERROR, IVR_STATUS_INIT_FAIL, IVR_STATUS_UNKOWN Page 2

4 4. INSTRUCTION FOR INTERFACE 1) INITIALIZATION FUNCTION IVRInstance ivrinit(jobject activity, JavaVM * VRJavaVM) Return the instance object handle, which contains context associated with VR in the thread and at the same time also initializes some global variables needed in the VR, will be used in the subsequent function calling. Return NULL shows failure to initialize. Please ensure EGL context has been initialized Before calling ivrinit. Call this function before initialization of EGL, which can lead to error exiting. IVRStatus ivrdeinit(ivrinstance instance) Used for destroy handle, if there is no calling, which will cause a memory leak. 2) RESUME/PAUSE FUNCTION IVRStatus ivrresume( IVRInstance instance ) IVRStatus ivrpause( IVRInstance instance ) These two functions need to be called in the onresume/onpause of activity for controlling the VR to enter and exit. Get parameter of instance from return value of IVR_Init. Please make sure that call ivrresume/ivrpause and initialization function IVRINIT with the same thread. 3) ACQUIRE DEVICE INFORMATION FUNCTION IVRStatus ivrgetdeviceinfo(ivrinstance instance, IVRHmdInfo& info ) Acquire VR device information, provide including information such as the projection matrix, information represents with IVRHmdInfo structure Introduce the application of two parameters that eyetexturefov and ipd briefly. Use parameter eyetexturefov to create projection matrix Page 3

5 EyeTextureFov is the fovy in this picture, you can create the projection matrix by using this parameter. This formula gives a reference, please according to actual circumstances to use the appropriate projection matrix formula: Of which, Use parameter IPD to adjust MODEL_VEIW matrix Parameter ipd is interpupillary distance. Each frame of program operating on the VR all-in-one device needs to draw a picture for each eye. The typical steps of three-dimensional rendering as follows: 1. Create a master camera: Application controls the only master camera. All the logical animations are only for the master camera, so that what our treatment for the camera interacting with other objects will become simple and unified, in additional, the master camera will not be involved in the real rendering. The master camera also has a benefit for switching between dual stereo view and traditional single view. 2. Use two camera to render: except the master camera, VR application needs additional two cameras to handle rendering really. The two camera need to be consistent with the master camera's position and facing, just a little bit different, that is they want to turn left and right sides respectively a little to simulate our interpupillary distance. Page 4

6 3. Render to two viewport: VR application has created rendering camera for left and right eyes respectively, their viewport width is half of the width of the screen and height is the screen height. Interpupillary distance parameter ipd needs to be used in the second step, reference the method of application as following: Const float eyeoffset = ( eye? -0.5f : 0.5f ) * ipd ; Translate_matrix = { 1.0f, 0.0f, 0.0f, eyeoffset, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}; Multiply(Translate_matrix, current_view_matrix); Page 5 4) HEAD POSE FUNCTION IVRStatus ivrgethmdpose(ivrinstance instance, IVRQuatf &orientation, IVRVector3f &position, float &fov) Acquire Rotation, Position and FOV information of current head from sensor through this API. Parameter orientation is quaternary vectors used to store Rotation information. Parameter position is ternary vectors used to store displacement information and there is no use in the absence of realizing gesture tracking temporarily. Calculate the view matrix through orientation Parameter fov can be used to calculate the projection matrix IVRStatus ivrgethmdposebyeye(ivrinstance instance, IVREyeType eye, IVRQuatf &orientation, float &fov) According to the view matrix after correct for left and right, suggesting that use this function when calculating the view matrix to get the orientation of left and right eyes and fov and by it to calculate view matrix and projection matrix. Just call one function of ivrgethmdpose and ivrgethmdposebyeye to acquire head pose information. IVRStatus ivrresetpose( IVRInstance instance ) Used for reset head pose mainly for cooperating with reset function of VR all-in-one device, cannot use normally.

7 5) TEXTURE SETTING FUNCTION IVRStatus ivrsettexture(ivrinstance instance, IVREyeType eye, int textureid) Used for set up function of left and right eyes texture, parameter eye is one of IVREyeType. 6) RENDER FUNCTION IVRStatus ivrsettexture(ivrinstance instance,ivreyetype eye, int textureid) Call device to render interface and draw the translated texture to the screen. Make sure that ivrinit ivrsettexture, ivrgethmdpose/ivrgethmdposebyeye have been called before rendering. 5. RENDER SEQUENCE Page 6

8 Page 7

Bringing Vulkan to VR. Cass Everitt, Oculus

Bringing Vulkan to VR. Cass Everitt, Oculus Bringing Vulkan to VR Cass Everitt, Oculus A Presentation in Two Acts The Graphics-API-Agnostic Design of the VrApi The Vulkan-Samples atw Sample Family as Proving Grounds Act One The Graphics-API-Agnostic

More information

Simulating a 3D Environment on a 2D Display via Face Tracking

Simulating a 3D Environment on a 2D Display via Face Tracking Simulating a 3D Environment on a 2D Display via Face Tracking NATHAN YOUNG APRIL 27 TH, 2015 EENG 512 Overview Background on displaying in 3D Diagram of System Face and Eye Tracking Haar Classifiers Kalman

More information

Using zspace in Linux

Using zspace in Linux Using zspace in Linux October 2013 zspace and Infinite Z are registered trademarks of zspace, Inc. All other trademarks are the property of their respective owners. Copyright 2013 zspace, Inc. All rights

More information

Beginning Direct3D Game Programming: 6. First Steps to Animation. Division of Digital Contents, DongSeo University.

Beginning Direct3D Game Programming: 6. First Steps to Animation. Division of Digital Contents, DongSeo University. Beginning Direct3D Game Programming: 6. First Steps to Animation jintaeks@gmail.com Division of Digital Contents, DongSeo University. April 2016 Understanding Transformations At the head of the pipeline,

More information

Rendering a 3-Dimensional Cube Applet Using Light Weight Java Graphing Library (LWJGL) with Java Swing with NetBeans IDE 6.1

Rendering a 3-Dimensional Cube Applet Using Light Weight Java Graphing Library (LWJGL) with Java Swing with NetBeans IDE 6.1 Jasamine Jackson Hanan Alnizami June 10, 2008 Rendering a 3-Dimensional Cube Applet Using Light Weight Java Graphing Library (LWJGL) with Java Swing with NetBeans IDE 6.1 This project is a step towards

More information

Android and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg

Android and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg Android and OpenGL Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 1. Februar 2016 Outline 1 OpenGL Introduction 2 Displaying Graphics 3 Interaction 4

More information

Game Programming with. presented by Nathan Baur

Game Programming with. presented by Nathan Baur Game Programming with presented by Nathan Baur What is libgdx? Free, open source cross-platform game library Supports Desktop, Android, HTML5, and experimental ios support available with MonoTouch license

More information

VEGETATION STUDIO FEATURES

VEGETATION STUDIO FEATURES VEGETATION STUDIO FEATURES We are happy to introduce Vegetation Studio, coming to Unity Asset Store this fall. Vegetation Studio is a vegetation placement and rendering system designed to replace the standard

More information

Your logo here. October, 2017

Your logo here. October, 2017 October, 2017 Introduction Thomas Burnett CTO, founder, and primary investigator for FoVI3D. ~15 years experience developing rendering solutions and architectures for static and dynamic lightfield display

More information

CS 130 Final. Fall 2015

CS 130 Final. Fall 2015 CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

More information

3D from Images - Assisted Modeling, Photogrammetry. Marco Callieri ISTI-CNR, Pisa, Italy

3D from Images - Assisted Modeling, Photogrammetry. Marco Callieri ISTI-CNR, Pisa, Italy 3D from Images - Assisted Modeling, Photogrammetry Marco Callieri ISTI-CNR, Pisa, Italy 3D from Photos Our not-so-secret dream: obtain a reliable and precise 3D from simple photos Why? Easier, cheaper

More information

Viewing and Ray Tracing. CS 4620 Lecture 4

Viewing and Ray Tracing. CS 4620 Lecture 4 Viewing and Ray Tracing CS 4620 Lecture 4 2014 Steve Marschner 1 Projection To render an image of a 3D scene, we project it onto a plane Most common projection type is perspective projection 2014 Steve

More information

CS 591B Lecture 9: The OpenGL Rendering Pipeline

CS 591B Lecture 9: The OpenGL Rendering Pipeline CS 591B Lecture 9: The OpenGL Rendering Pipeline 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination Spring 2007 Rui Wang 3D Polygon Rendering Many applications

More information

Tecnologie per la ricostruzione di modelli 3D da immagini. Marco Callieri ISTI-CNR, Pisa, Italy

Tecnologie per la ricostruzione di modelli 3D da immagini. Marco Callieri ISTI-CNR, Pisa, Italy Tecnologie per la ricostruzione di modelli 3D da immagini Marco Callieri ISTI-CNR, Pisa, Italy 3D from Photos Our not-so-secret dream: obtain a reliable and precise 3D from simple photos Why? Easier, less

More information

Viewing and Ray Tracing

Viewing and Ray Tracing Viewing and Ray Tracing CS 4620 Lecture 4 2018 Steve Marschner 1 Projection To render an image of a 3D scene, we project it onto a plane Most common projection type is perspective projection 2018 Steve

More information

Or select Reset button under the application button (3ds Max symbol top left of screen)

Or select Reset button under the application button (3ds Max symbol top left of screen) 3ds Max Notes 1. Starting 3ds Max file Open 3ds Max If Welcome to 3ds Max menu appears then select New Empty Scene Or select Reset button under the application button (3ds Max symbol top left of screen)

More information

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking Input Nodes Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking The different Input nodes, where they can be found, what their outputs are. Surface Input When editing a surface,

More information

Computer Graphics and Visualization. Graphics Systems and Models

Computer Graphics and Visualization. Graphics Systems and Models UNIT -1 Graphics Systems and Models 1.1 Applications of computer graphics: Display Of Information Design Simulation & Animation User Interfaces 1.2 Graphics systems A Graphics system has 5 main elements:

More information

Lewis Weaver. Nell Waliczek. Software Engineering Lead. Program github.

Lewis Weaver. Nell Waliczek. Software Engineering Lead. Program  github. Nell Waliczek Software Engineering Lead Lewis Weaver Program Manager @NellWaliczek github.com/nellwaliczek @lew_weav github.com/leweaver Mixed Reality on the web using WebVR Available October 17 th WebVR

More information

CIS 580, Machine Perception, Spring 2015 Homework 1 Due: :59AM

CIS 580, Machine Perception, Spring 2015 Homework 1 Due: :59AM CIS 580, Machine Perception, Spring 2015 Homework 1 Due: 2015.02.09. 11:59AM Instructions. Submit your answers in PDF form to Canvas. This is an individual assignment. 1 Camera Model, Focal Length and

More information

zspace Developer SDK Guide - Introduction Version 1.0 Rev 1.0

zspace Developer SDK Guide - Introduction Version 1.0 Rev 1.0 zspace Developer SDK Guide - Introduction Version 1.0 zspace.com Developer s Guide Rev 1.0 zspace, Inc. 2015. zspace is a registered trademark of zspace, Inc. All other trademarks are the property of their

More information

Head Mounted Display Optics I!

Head Mounted Display Optics I! ! Head Mounted Display Optics I! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 7! stanford.edu/class/ee267/!! ! Logistics! HW3 is probably the longest homework, so get started

More information

Seeing the world through a depth-sensing camera

Seeing the world through a depth-sensing camera Seeing the world through a depth-sensing camera Copyright 2014 pabr@pabr.org All rights reserved. In this project we attach a depth-sensing camera to a head-mounted stereoscopic display (think: Kinect

More information

IMAGE-BASED RENDERING AND ANIMATION

IMAGE-BASED RENDERING AND ANIMATION DH2323 DGI17 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION IMAGE-BASED RENDERING AND ANIMATION Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

More information

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline Computergrafik Today Rendering pipeline s View volumes, clipping Viewport Matthias Zwicker Universität Bern Herbst 2008 Rendering pipeline Rendering pipeline Hardware & software that draws 3D scenes on

More information

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models 3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts

More information

Variables One More (but not the last) Time with feeling

Variables One More (but not the last) Time with feeling 1 One More (but not the last) Time with feeling All variables have the following in common: a name a type ( int, float, ) a value an owner We can describe variables in terms of: who owns them ( Processing

More information

CS Exam 1 Review Problems Fall 2017

CS Exam 1 Review Problems Fall 2017 CS 45500 Exam 1 Review Problems Fall 2017 1. What is a FrameBuffer data structure? What does it contain? What does it represent? How is it used in a graphics rendering pipeline? 2. What is a Scene data

More information

DDS Dynamic Search Trees

DDS Dynamic Search Trees DDS Dynamic Search Trees 1 Data structures l A data structure models some abstract object. It implements a number of operations on this object, which usually can be classified into l creation and deletion

More information

Tutorial: Working with Lighting through Components

Tutorial: Working with Lighting through Components Tutorial: Working with Lighting through Components With a populated scene we can begin layering in light sources to add realism and light to our level. For this we will need to use an environmental probe

More information

CSE 165: 3D User Interaction. Lecture #5: Selection

CSE 165: 3D User Interaction. Lecture #5: Selection CSE 165: 3D User Interaction Lecture #5: Selection 2 Announcements Project 1 due this Friday at 2pm Grading in VR lab B210 2-3:30pm Two groups: even hours start at 2pm odd hours at 3pm 3 Selection and

More information

Danmaku Mono Documentation

Danmaku Mono Documentation Danmaku Mono Documentation Release 0.01b UltimaOmega February 21, 2017 Miscellaneous Functions 1 Miscellaneous Functions 3 1.1 GetKeyState(keytocheck)........................................ 3 1.2 SetKeyState(key,

More information

3D Graphics Pipeline II Clipping. Instructor Stephen J. Guy

3D Graphics Pipeline II Clipping. Instructor Stephen J. Guy 3D Graphics Pipeline II Clipping Instructor Stephen J. Guy 3D Rendering Pipeline (for direct illumination) 3D Geometric Primitives 3D Model Primitives Modeling Transformation 3D World Coordinates Lighting

More information

PowerPoint Tutorial 2: Adding and Modifying Text and Graphic Objects 2013

PowerPoint Tutorial 2: Adding and Modifying Text and Graphic Objects 2013 PowerPoint Tutorial 2: Adding and Modifying Text and Graphic Objects Microsoft Office 2013 2013 Objectives Insert a graphic from a file Insert, resize, and reposition clip art Modify the color and shape

More information

CS1950U Setup Spring 2018

CS1950U Setup Spring 2018 CS1950U Topics in 3D Game Engine Development Barbara Meier CS1950U Setup Spring 2018 Introduction Hi there! This guide is designed to help you get setup for taking CS1950U. It will go through the basics

More information

CSCI 4620/8626. The 2D Viewing Pipeline

CSCI 4620/8626. The 2D Viewing Pipeline CSCI 4620/8626 Computer Graphics Two-Dimensional Viewing (Chapter 8) Last update: 2016-03-3 The 2D Viewing Pipeline Given a 2D scene, we select the part of it that we wish to see (render, display) using

More information

CSE 167: Lecture #4: Vertex Transformation. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #4: Vertex Transformation. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Project 2 due Friday, October 12

More information

A Qualitative Analysis of 3D Display Technology

A Qualitative Analysis of 3D Display Technology A Qualitative Analysis of 3D Display Technology Nicholas Blackhawk, Shane Nelson, and Mary Scaramuzza Computer Science St. Olaf College 1500 St. Olaf Ave Northfield, MN 55057 scaramum@stolaf.edu Abstract

More information

Iray for Cinema 4D Release Version 2.0 New Features Improved MDL Material Browser Stacking of MDL Material Layers

Iray for Cinema 4D Release Version 2.0 New Features Improved MDL Material Browser Stacking of MDL Material Layers Iray for Cinema 4D Release Version 2.0 Version 2.0.15, Iray 2016.3 Copyright 2017 NVIDIA Corporation Improved MDL Material Browser The MDL Material Browser has been greatly enhanced to allow quick and

More information

CMSC427 Transformations II: Viewing. Credit: some slides from Dr. Zwicker

CMSC427 Transformations II: Viewing. Credit: some slides from Dr. Zwicker CMSC427 Transformations II: Viewing Credit: some slides from Dr. Zwicker What next? GIVEN THE TOOLS OF The standard rigid and affine transformations Their representation with matrices and homogeneous coordinates

More information

CSE 131 Introduction to Computer Science Fall Exam II

CSE 131 Introduction to Computer Science Fall Exam II CSE 131 Introduction to Computer Science Fall 2015 Given: 5 November 2015 Exam II Due: End of Exam Session This exam is closed-book, closed-notes, no electronic devices allowed. The exception is the sage

More information

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009 Model s Lecture 3 Sections 2.2, 4.4 World s Eye s Clip s s s Window s Hampden-Sydney College Mon, Aug 31, 2009 Outline Model s World s Eye s Clip s s s Window s 1 2 3 Model s World s Eye s Clip s s s Window

More information

OpenGL Transformations

OpenGL Transformations OpenGL Transformations R. J. Renka Department of Computer Science & Engineering University of North Texas 02/18/2014 Introduction The most essential aspect of OpenGL is the vertex pipeline described in

More information

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0 Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0 FTF-AUT-F0348 Hugo Osornio Luis Olea A P R. 2 0 1 4 TM External Use Agenda Back to the Basics! What is a GPU?

More information

Android Camera. Alexander Nelson October 6, University of Arkansas - Department of Computer Science and Computer Engineering

Android Camera. Alexander Nelson October 6, University of Arkansas - Department of Computer Science and Computer Engineering Android Camera Alexander Nelson October 6, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Why use the camera? Why not? Translate Call Learn Capture How to use the

More information

Chapter 1- The Blender Interface

Chapter 1- The Blender Interface Chapter 1- The Blender Interface The Blender Screen Years ago, when I first looked at Blender and read some tutorials I thought that this looked easy and made sense. After taking the program for a test

More information

Dual Lens People Counting More Lenses, Greater Accuracy

Dual Lens People Counting More Lenses, Greater Accuracy Dual Lens People Counting More Lenses, Greater Accuracy 2016.11.11 CONTENTS Product Introduction Key Feature Installation & Configuration Product Introduction People Counting People counting is used to

More information

DONALD HOUSE: CPSC 8170, FALL 2018 DESIGN OF A REAL-TIME ANIMATION PROGRAM

DONALD HOUSE: CPSC 8170, FALL 2018 DESIGN OF A REAL-TIME ANIMATION PROGRAM DONALD HOUSE: CPSC 8170, FALL 2018 DESIGN OF A REAL-TIME ANIMATION PROGRAM DEMO MODEL-VIEW-CONTROLLER DESIGN canonical.cpp The main program canonical.cpp acts as the controller, directing Model and actions

More information

GPU Programming EE Final Examination

GPU Programming EE Final Examination Name Solution GPU Programming EE 4702-1 Final Examination Friday, 11 December 2015 15:00 17:00 CST Alias Methane? Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Problem 6 Exam Total (20 pts) (15 pts)

More information

Three-Dimensional Viewing Hearn & Baker Chapter 7

Three-Dimensional Viewing Hearn & Baker Chapter 7 Three-Dimensional Viewing Hearn & Baker Chapter 7 Overview 3D viewing involves some tasks that are not present in 2D viewing: Projection, Visibility checks, Lighting effects, etc. Overview First, set up

More information

Introduction to VRT. Interactive Graphical Systems HT2007. Lars Pettersson. Interactive Graphical Systems

Introduction to VRT. Interactive Graphical Systems HT2007. Lars Pettersson. Interactive Graphical Systems Introduction to VRT Interactive Graphical Systems HT2007 Lars Pettersson lwp@it.uu.se Interactive Graphical Systems Implementation levels Application Scene Graph lib. Computer Graphics lib. Hardware Informationsteknologi

More information

1 (Practice 1) Introduction to OpenGL

1 (Practice 1) Introduction to OpenGL 1 (Practice 1) Introduction to OpenGL This first practical is intended to get you used to OpenGL command. It is mostly a copy/paste work. Try to do it smartly by tweaking and messing around with parameters,

More information

3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination

3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination Rendering Pipeline 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination 3D Polygon Rendering What steps are necessary to utilize spatial coherence while drawing

More information

CS451Real-time Rendering Pipeline

CS451Real-time Rendering Pipeline 1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

More information

OUTLINE. Learn the basic design of a graphics system Introduce pipeline architecture Examine software components for a graphics system

OUTLINE. Learn the basic design of a graphics system Introduce pipeline architecture Examine software components for a graphics system GRAPHICS PIPELINE 1 OUTLINE Learn the basic design of a graphics system Introduce pipeline architecture Examine software components for a graphics system 2 IMAGE FORMATION REVISITED Can we mimic the synthetic

More information

D3DX Concrete Types. Chapter Overview Colors

D3DX Concrete Types. Chapter Overview Colors Chapter 16 D3DX Concrete Types The study of mathematics, like the Nile, begins in minuteness, but ends in magnificence. C. C. Colton: Lacon, 1820 16.1 Overview D3DX provides some concrete C ++ datatypes

More information

The Best of Both Worlds: Using UIKit with OpenGL

The Best of Both Worlds: Using UIKit with OpenGL The Best of Both Worlds: Using UIKit with OpenGL Noel Llopis Snappy Touch Twitter: @snappytouch About Me iphone development full time for a year and a half. Flower Garden on the app store. Interesting

More information

Graphics for VEs. Ruth Aylett

Graphics for VEs. Ruth Aylett Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading Runtime VR systems Two major parts: initialisation and update loop. Initialisation

More information

3. Text to Speech 4. Shake it

3. Text to Speech 4. Shake it 3. Text to Speech 4. Shake it Make your phone speak to you! When you shake your phone, you can make your phone shake too. Type a phrase in a text box. Then press a button, and use the TextToSpeech component

More information

Depthmap based Stereoscopic Panorama Viewer for Head-Mounted Displays

Depthmap based Stereoscopic Panorama Viewer for Head-Mounted Displays Depthmap based Stereoscopic Panorama Viewer for Head-Mounted Displays Helmut Dersch November 10, 2016 Abstract PTViewer3d is an experimental spherical panorama viewer that generates stereoscopic views

More information

Managing and Optimising for numerous Android Devices

Managing and Optimising for numerous Android Devices Managing and Optimising for numerous Android Devices Hello Andrew Innes Old-school console developer Android fanboi Works for Unity Japan Console R&D Support Manager Unitron Dog-fooding Unity s 2D pipeline

More information

3DPIXA: options and challenges with wirebond inspection. Whitepaper

3DPIXA: options and challenges with wirebond inspection. Whitepaper 3DPIXA: options and challenges with wirebond inspection Whitepaper Version Author(s) Date R01 Timo Eckhard, Maximilian Klammer 06.09.2017 R02 Timo Eckhard 18.10.2017 Executive Summary: Wirebond inspection

More information

SKY03 FPV GOGGLE USER MANUAL

SKY03 FPV GOGGLE USER MANUAL SKYZONE SKY03 FPV GOGGLE USER MANUAL Rev1.0 System Content FPV GOGGLE Carry case Futaba data cable JR data cable *HDMI A C (Separate purchase) 5.8G 2dBi antenna X 2 AV cable Power cable 1 Function Diagram

More information

3D Graphics for Game Programming (J. Han) Chapter II Vertex Processing

3D Graphics for Game Programming (J. Han) Chapter II Vertex Processing Chapter II Vertex Processing Rendering Pipeline Main stages in the pipeline The vertex processing stage operates on every input vertex stored in the vertex buffer and performs various operations such as

More information

Libraries for Computer Graphics. Introduction to VRT. Scene-graph libraries. Libraries for computer graphics. Scene-graph libraries (cont.

Libraries for Computer Graphics. Introduction to VRT. Scene-graph libraries. Libraries for computer graphics. Scene-graph libraries (cont. Libraries for Computer Graphics Introduction to VRT HT2004 Mikael Erlandsson mikael.erlandsson@hci.uu.se Application CG-Library OpenGL Hardware What functionality should be provided? Which data structures

More information

MultiAR Project Michael Pekel, Ofir Elmakias [GIP] [234329]

MultiAR Project Michael Pekel, Ofir Elmakias [GIP] [234329] MultiAR Project Michael Pekel, Ofir Elmakias [GIP] [234329] Supervisors Dr. Matan Sela Mr. Yaron Honen Assistants Alexander Porotskiy Summary MultiAR is a multiplayer quest (Outdoor Real Time Multiplayer

More information

Question 2. [5 points] Given the following symbolic constant definition

Question 2. [5 points] Given the following symbolic constant definition CS 101, Spring 2012 Mar 20th Exam 2 Name: Question 1. [5 points] Determine which of the following function calls are valid for a function with the prototype: void drawrect(int width, int height); Assume

More information

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1

1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1 Transformations 1-1 Transformations are used within the entire viewing pipeline: Projection from world to view coordinate system View modifications: Panning Zooming Rotation 1-2 Transformations can also

More information

Coordinate Transformations. Coordinate Transformation. Problem in animation. Coordinate Transformation. Rendering Pipeline $ = $! $ ! $!

Coordinate Transformations. Coordinate Transformation. Problem in animation. Coordinate Transformation. Rendering Pipeline $ = $! $ ! $! Rendering Pipeline Another look at rotation Photography: real scene camera (captures light) photo processing Photographic print processing Computer Graphics: 3D models camera tone model reproduction (focuses

More information

Rendering Objects. Need to transform all geometry then

Rendering Objects. Need to transform all geometry then Intro to OpenGL Rendering Objects Object has internal geometry (Model) Object relative to other objects (World) Object relative to camera (View) Object relative to screen (Projection) Need to transform

More information

Real-time Integral Photography Holographic Pyramid using a Game Engine

Real-time Integral Photography Holographic Pyramid using a Game Engine Real-time Integral Photography Holographic Pyramid using a Game Engine Shohei Anraku, Toshiaki Yamanouchi and Kazuhisa Yanaka Kanagawa Institute of Technology, 1030 Shimo-ogino, Atsugi-shi, Kanagawa-ken,

More information

3D computer graphics: geometric modeling of objects in the computer and rendering them

3D computer graphics: geometric modeling of objects in the computer and rendering them SE313: Computer Graphics and Visual Programming Computer Graphics Notes Gazihan Alankus, Spring 2012 Computer Graphics 3D computer graphics: geometric modeling of objects in the computer and rendering

More information

Movie: For The Birds. Announcements. Ray Tracing 1. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available

Movie: For The Birds. Announcements. Ray Tracing 1. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available Now Playing: Movie: For The Birds Pixar, 2000 Liar Built To Spill from You In Reverse Released April 11, 2006 Ray Tracing 1 Rick Skarbez, Instructor COMP 575 November 1, 2007 Announcements Programming

More information

Give one example where you might wish to use a three dimensional array

Give one example where you might wish to use a three dimensional array CS 110: INTRODUCTION TO COMPUTER SCIENCE SAMPLE TEST 3 TIME ALLOWED: 60 MINUTES Student s Name: MAXIMUM MARK 100 NOTE: Unless otherwise stated, the questions are with reference to the Java Programming

More information

Vive Stereo Rendering Toolkit Developer s Guide

Vive Stereo Rendering Toolkit Developer s Guide Vive Stereo Rendering Toolkit Developer s Guide vivesoftware@htc.com Introduction Vive Stereo Rendering Toolkit provides drag-and-drop components for developers to create stereoscopic rendering effects

More information

IEEE Consumer Electronics Society Calibrating a VR Camera. Adam Rowell CTO, Lucid VR

IEEE Consumer Electronics Society Calibrating a VR Camera. Adam Rowell CTO, Lucid VR IEEE Consumer Electronics Society Calibrating a VR Camera Adam Rowell CTO, Lucid VR adam@lucidcam.com Virtual Reality Cameras Lucid VR Camera How Does it Work? Lucid Software Technology Recording: Synchronization

More information

SmartArt Office 2007

SmartArt Office 2007 SmartArt Office 2007 This is not an official training handout of the, Davis School District SmartArt... 2 Inserting SmartArt... 2 Entering the Text... 2 Adding a Shape... 2 Deleting a Shape... 2 Adding

More information

zspace Developer Native Programming Guide Version 1.0 Rev 1.1

zspace Developer Native Programming Guide Version 1.0 Rev 1.1 zspace Developer Native Programming Guide Version 1.0 zspace.com Developer s Guide Rev 1.1 Before You Begin This zspace Developer Native Programming Guide describes how to program features using the zspace

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

1. UC-win/Road Ver. 13

1. UC-win/Road Ver. 13 1. UC-win/Road Ver. 13 In Ver.13, we developed a number of new features including: Earthwork volume calculation, Enhanced VR data creation and Enhanced simulation functions. In addition the interfaces

More information

SCENE FILE MANIPULATION SCENE FILE MANIPULATION GETTING STARTED MODELING ANIMATION MATERIALS + MAPPING RENDERING. Saving Files. Save.

SCENE FILE MANIPULATION SCENE FILE MANIPULATION GETTING STARTED MODELING ANIMATION MATERIALS + MAPPING RENDERING. Saving Files. Save. SCENE FILE MANIPULATION SCENE FILE MANIPULATION There are several things you can do with a scene file in 3ds Max. You can save a file, save a file temporarily and retrieve it, and combine scene files.

More information

Controlling the Drawing Display

Controlling the Drawing Display Controlling the Drawing Display In This Chapter 8 AutoCAD provides many ways to display views of your drawing. As you edit your drawing, you can control the drawing display and move quickly to different

More information

Fachhochschule Regensburg, Germany, February 15, 2017

Fachhochschule Regensburg, Germany, February 15, 2017 s Operations Fachhochschule Regensburg, Germany, February 15, 2017 s Motivating Example s Operations To take a photograph of a scene: Set up your tripod and point camera at the scene (Viewing ) Position

More information

Programming of Graphics

Programming of Graphics Peter Mileff PhD Programming of Graphics Introduction to OpenGL University of Miskolc Department of Information Technology OpenGL libraries GL (Graphics Library): Library of 2D, 3D drawing primitives and

More information

Shaders. Slide credit to Prof. Zwicker

Shaders. Slide credit to Prof. Zwicker Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?

More information

3D Rotation: more than just a hobby

3D Rotation: more than just a hobby 3D Rotation: more than just a hobby Eric Yang s special talent is the mental rotation of threedimensional objects. Mental rotation is Yang s hobby. I can see textures and imperfections and the play of

More information

Jump Stitch Metadata & Depth Maps Version 1.1

Jump Stitch Metadata & Depth Maps Version 1.1 Jump Stitch Metadata & Depth Maps Version 1.1 jump-help@google.com Contents 1. Introduction 1 2. Stitch Metadata File Format 2 3. Coverage Near the Poles 4 4. Coordinate Systems 6 5. Camera Model 6 6.

More information

Standards for WebVR. Neil Trevett. Khronos President Vice President Mobile Content,

Standards for WebVR. Neil Trevett. Khronos President Vice President Mobile Content, Standards for WebVR Neil Trevett Khronos President Vice President Mobile Content, NVIDIA ntrevett@nvidia.com, @neilt3d October 2016 Copyright Khronos Group 2016 - Page 1 Khronos Open Standards Software

More information

Tecnologie per la ricostruzione di modelli 3D da immagini. Marco Callieri ISTI-CNR, Pisa, Italy

Tecnologie per la ricostruzione di modelli 3D da immagini. Marco Callieri ISTI-CNR, Pisa, Italy Tecnologie per la ricostruzione di modelli 3D da immagini Marco Callieri ISTI-CNR, Pisa, Italy Who am I? Marco Callieri PhD in computer science Always had the like for 3D graphics... Researcher at the

More information

A camera with a projection and view matrix

A camera with a projection and view matrix A camera with a projection and view matrix Drikus Kleefsman January 25, 2010 Keywords: Xna, world, projection, view, matrix Abstract The first thing you want to have in a 3d scene is a camera to look at

More information

CS 4620 Midterm, March 21, 2017

CS 4620 Midterm, March 21, 2017 CS 460 Midterm, March 1, 017 This 90-minute exam has 4 questions worth a total of 100 points. Use the back of the pages if you need more space. Academic Integrity is expected of all students of Cornell

More information

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

More information

GATAV 9. Goodby flatland Welcome to 3D!

GATAV 9. Goodby flatland Welcome to 3D! GATAV 9. Goodby flatland Welcome to 3D! TOC 1. OpenGL ES the 3D-API 2. The buffer concept - a technical necessity 3. Introducing GLSurfaceView the 3D-View 4. GLSurfaceView.Renderer the interface to 3D-content

More information

The feature set you are required to implement in your ray tracer is as follows (by order from easy to hard):

The feature set you are required to implement in your ray tracer is as follows (by order from easy to hard): Ray Tracing exercise TAU, Computer Graphics, 0368.3014, semester B Go to the Updates and FAQ Page Overview The objective of this exercise is to implement a ray casting/tracing engine. Ray tracing is a

More information

Practical Shadow Mapping

Practical Shadow Mapping Practical Shadow Mapping Stefan Brabec Thomas Annen Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken, Germany Abstract In this paper we propose several methods that can greatly improve

More information

Game Architecture. 2/19/16: Rasterization

Game Architecture. 2/19/16: Rasterization Game Architecture 2/19/16: Rasterization Viewing To render a scene, need to know Where am I and What am I looking at The view transform is the matrix that does this Maps a standard view space into world

More information

COMPUTER APPLICATION

COMPUTER APPLICATION Total No. of Printed Pages 16 HS/XII/A.Sc.Com/CAP/14 2 0 1 4 COMPUTER APPLICATION ( Science / Arts / Commerce ) ( Theory ) Full Marks : 70 Time : 3 hours The figures in the margin indicate full marks for

More information

Mapping Environments Project 4 Modern Maps

Mapping Environments Project 4 Modern Maps 880106 Mapping Environments Project 4 Modern Maps Week 08-09: When Engineering Design Labs & University Campus: Where Group of 4: Who 15%: Worth 1 Aim: The overarching aim of this project is to introduce

More information

Information Coding / Computer Graphics, ISY, LiTH. CUDA memory! ! Coalescing!! Constant memory!! Texture memory!! Pinned memory 26(86)

Information Coding / Computer Graphics, ISY, LiTH. CUDA memory! ! Coalescing!! Constant memory!! Texture memory!! Pinned memory 26(86) 26(86) Information Coding / Computer Graphics, ISY, LiTH CUDA memory Coalescing Constant memory Texture memory Pinned memory 26(86) CUDA memory We already know... Global memory is slow. Shared memory is

More information

OpenGL Introduction Computer Graphics and Visualization

OpenGL Introduction Computer Graphics and Visualization Fall 2009 2 OpenGL OpenGL System Interaction Portable Consistent visual display regardless of hardware, OS and windowing system Callable from Ada, C, C++, Fortran, Python, Perl and Java Runs on all major

More information