A Volume Rendering Engine for Desktops, Laptops, Mobile Devices

Total Page:16

File Type:pdf, Size:1020Kb

A Volume Rendering Engine for Desktops, Laptops, Mobile Devices Iowa State University Capstones, Theses and Graduate Theses and Dissertations Dissertations 2012 A Volume Rendering Engine for Desktops, Laptops, Mobile Devices and Immersive Virtual Reality Systems using GPU-Based Volume Raycasting Christian John Noon Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/etd Part of the Biomedical Engineering and Bioengineering Commons, Computer Engineering Commons, and the Radiology Commons Recommended Citation Noon, Christian John, "A Volume Rendering Engine for Desktops, Laptops, Mobile Devices and Immersive Virtual Reality Systems using GPU-Based Volume Raycasting" (2012). Graduate Theses and Dissertations. 12419. https://lib.dr.iastate.edu/etd/12419 This Dissertation is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. A volume rendering engine for desktops, laptops, mobile devices and immersive virtual reality systems using gpu-based volume raycasting by Christian John Noon A dissertation submitted to the graduate faculty in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Co-majors: Human Computer Interaction; Computer Engineering Program of Study Committee: Eliot Winer, Co-Major Professor James Oliver, Co-Major Professor Stephen Gilbert Chris Harding Tim Bigelow Iowa State University Ames, Iowa 2012 Copyright © Christian John Noon, 2012. All rights reserved. ii TABLE OF CONTENTS! LIST OF FIGURES! v LIST OF TABLES! xi ABSTRACT! xii 1! INTRODUCTION! 1 1.1! What is Volume Rendering?! 1 1.2! Medical Imaging! 3 1.3! Benefits of Volume Rendering! 4 1.4! Real-World Volume Rendering Applications! 7 1.5! Motivation! 9 1.6! Dissertation Organization! 12 2! THE VOLUME RENDERING PIPELINE! 13 2.1! Computer Graphics and the OpenGL Rendering Pipeline! 13 2.2! Volumetric Data! 15 2.3! The Volume Rendering Pipeline! 17 2.3.1! Segmentation! 18 2.3.2! Gradient Computation! 18 2.3.3! Resampling! 19 2.3.4! Classification! 21 2.3.5! Coloring! 22 2.3.6! Shading! 24 2.3.7! Compositing! 25 2.4! Volume Rendering Techniques ! 26 2.4.1! Iso-surface Surface Rendering! 27 2.4.2! Image Splatting! 28 2.4.3! Shear Warp! 29 2.4.4! Texture Slicing! 29 2.4.5! Raycasting! 30 2.5! Raycasting Execution! 30 2.6! A Real-World Example of Raycasting! 31 3! ADVANCED VOLUME RAYCASTING AND APIs! 39 3.1! Advances in Volume GPU-based Raycasting! 39 3.1.1! Rendering Speed Optimization! 39 iii 3.1.2! GPU Texture Optimization! 42 3.1.3! Lighting and Shadowing! 44 3.1.4! Clipping! 47 3.1.5! Rendering Multiple Volumes! 49 3.1.6! Other Advancements! 51 3.2! Volume Rendering APIs! 51 3.2.1! Desktop APIs! 52 3.2.2! Immersive Virtual Reality APIs! 54 3.2.3! Mobile Device APIs! 56 3.2.4! Commercial and Open Source Volume Rendering Applications! 56 3.3! Research Issues! 58 4! METHODOLOGY! 61 4.1! Developing the Rendering Core Foundation! 62 4.1.1! OpenSceneGraph! 62 4.1.2! DCMTK! 63 4.1.3! VR Juggler! 64 4.2! The Desktop Sandbox Application! 65 4.2.1! Architecture! 65 4.2.2! Features! 65 4.2.3! User Interface! 76 4.2.4! Challenges and Contributions! 78 4.3! The Immersive Sandbox Application! 80 4.3.1! Architecture! 80 4.3.2! Features! 81 4.3.3! User Interface and Interaction! 83 4.3.4! Challenges and Contributions! 90 4.4! The Mobile Sandbox Application! 92 4.4.1! Architecture! 92 4.4.2! Raycasting Complications! 97 4.4.3! Memory Limitations! 101 4.4.4! GPU Fragment Operation Bandwidth! 102 4.4.5! GPU Asynchronous Processing and Synchronization! 111 4.4.6! Features! 116 4.4.7! User Interface! 128 4.4.8! Challenges and Contributions! 133 5! VIPRE! 135 5.1! VIPRE Architecture! 135 5.1.1! The vipre Library! 137 5.1.2! The vipreDICOM Library! 138 5.1.3! The vipreViewer Library! 138 5.1.4! The vipreRaycaster Library! 139 iv 5.1.5! The vipreOTSlicer Library! 140 5.1.6! The vipreVATSlicer Library! 140 5.2! Advanced Volume Raycasting Techniques! 141 5.2.1! Empty Space Skipping using Octrees! 141 5.2.2! Phong Illumination! 146 5.2.3! Multi-Pass Rendering for Backface Depth Rasterization! 148 5.3! Bridging Academic Research and Volume Rendering APIs! 153 6! CONCLUSIONS AND FUTURE WORK! 155 6.1! Summary and Conclusions! 155 6.2! Future Work! 158 6.3! Acknowledgements! 158 BIBLIOGRAPHY! 160 v LIST OF FIGURES Figure 1: A Full body view of a virtual forensic autopsy [71] (Top). 2 Volume rendering of the UTCT Chameleon dataset [45] (Bottom-Right). A close up view of the lungs and throat of a three week old infant [71] (Bottom-Right). Figure 2: An X-ray of the chest (Top-Right). A CT image of the chest 4 (Top-Left). An Ultrasound of the abdomen (Bottom-Right). An MRI of the knee (Bottom-Left). Figure 3: Illustration demonstrates the CT process and how a set of 2D 5 slices can generate a 3D volumetric dataset. Figure 4: Multimodal view of a head, tumor, cortical activations and 5 fiber tracts (Right). Several views of a clipping skull for neurosurgical planning (Left). [104] Figure 5: Volume rendering of hurricane Isabel [5] (Top Right). Volume 6 rendering of a frog (Top Left - http://www.cs.utah.edu/~jmk/ images/frog2.jpg). Volume rendering of the internal structure of an engine block (Bottom Left). Volume rendering of the electrostatic potential surrounding the fourth tandem repeat in the Candida Albicans Adhesin Als5p (Bottom Right - http:// ec.asm.org/content/vol9/issue3/cover.dtl). Figure 6: Screenshot of the Sinus Endoscopic system’s interface. 8 Figure 7: Screenshot of the user interface of BodyViz, a volume 9 rendering application designed for surgical planning and medical training. Figure 8: A combination of DOSE and CT data. Red contours show the 10 target volume outline, blue contours show the rectum and pink contours show the bladder (Top). Visualization of the dose distribution on areas that have high CT values. The bladder can be seen in the middle because a contrast agent was used during CT scanning to highlight softer tissues. Figure 9: The OpenGL rendering pipeline. (http://www.songho.ca/ 14 opengl/gl_pipelin e.html) Figure 10: Shows the difference between an isotropic and anisotropic 16 grid. vi Figure 11: The volume rendering pipeline. 17 Figure 12: Diagram of raycasting in 2D where each ray is cast from the 20 eye-point in a perspective projection. Image courtesy of [45]. Figure 13: Diagram of a single voxel C surrounded by 8 neighboring 21 voxels (Left). Diagram of how Trilinear Interpolation can be used to compute the value of C (Right). (http:// en.wikipedia.org/wiki/Trilinear_interpolation) Figure 14: The same volume rendering image using two different color 23 transfer functions with the same opacity transfer function. Figure 15: A black pool ball in a dim room (Left). A black pool ball in a 25 dim room with a small flashlight shown on it (Right). Figure 16: An iso-surface surface rendering of a human skull. (http:// 27 www.aravind.ca/images/ivis_gallery/isoColour.png) Figure 17: Examples of image splatting on a full head dataset [190]. 28 Figure 18: Shear-warp sampling always takes place in orthogonal 29 direction slices. Figure 19: Texture slicing sampling generating view-aligned slices 30 parallel to the image plane. Figure 20: Pseudo code of the volume rendering algorithm using 33 raycasting. Figure 21: Geometric representation of the volume as a surface. 34 Figure 22: Rendering of the volume using a grayscale color transfer 34 function at only the ray/volume intersection points. Figure 23: Rendering of the volume using a grayscale color transfer 35 function and linear opacity transfer function at only the ray/ volume intersections points. Figure 24: Rendering of the volume using a grayscale color transfer 36 function and linear opacity transfer function while resampling and compositing along the entire ray. Figure 25: Rendering of the volume using a muscle/bone color transfer 37 function and linear opacity transfer function while resampling and compositing along the entire ray. Figure 26: An octree division and its tree representation. 40 vii Figure 27: Raycasting using octrees and hierarchical enumeration [47]. 41 Figure 28: A slice of the Head dataset is partitioned using growing 42 boxes (Left). The growing box set converted into a BSP tree (Right). [55] Figure 29: A hand dataset rendered using Phong illumination (Left), 47 shadow mapping (Middle) and deep shadow maps (Right). Notice deep shadow maps are the only technique to produce semitransparent shadows. Figure 30: Interactive exploded view illustration with increasing degrees- 49 of-explosion [110]. Figure 31: Multi-volume rendering by independently slicing each volume 50 and depth sorting the slices into a slice stack. Figure 32: Combination of multiple datasets using multiple rendering 51 modes. From left to right: pre-integration with illumination, transparent isosurfaces, pre-integration with one clipping plane and a corresponding 2D slice. Figure 33: Architecture diagram of the desktop sandbox application. 66 Figure 34: An image of the sandbox application rendering a bounding 67 box encapsulating the volumetric dataset. Figure 35: Examples of different volume rendering techniques 70 supported by the desktop sandbox application including compositing (Top Left), MIP (Top Right) and MinIP (Bottom). Figure 36: A chest cavity CT scan of rendering using different coloring 73 schemes including Cardiac, Muscle and Bone, NIH and Stern from top left to bottom right respectively.
Recommended publications
  • Geoviewer3d: 3D Geographical Information Viewing
    Ibero-American Symposium on Computer Graphics - SIACG (2006), pp. 1–4 P. Brunet, N. Correia, and G. Baranoski (Editors) GeoViewer3D: 3D Geographical Information Viewing Rafael Gaitán1, María Ten1, Javier Lluch1 y, Luis W. Sevilla2z 1Departamento de Sistemas Informáticos y Computación, Universidad Politécnica de Valencia, Camino de Vera s/n, 46022 2Consellería de Infraestructuras y Transporte, Avenida de Aragón Valencia, Spain Abstract Our State Government is developing a Geographical Information System (GIS), called gvSIG. This project follows the open source philosophy, and uses JAVA as development platform. Consequently, it is portable and can be used by anyone around the world. In this paper, we describe the design and architecture of a prototype for browsing 3D geospatial information. GeoViewer3D is a system that handles and displays worldwide satellite imagery in- cluding textures and elevation data. It has a modular architecture and an efficient 3D rendering system based on OpenSceneGraph. The system incorporates a disk cache to improve access to GIS data. The goal of this prototype is to join the gvSIG project as 3D information viewer. Categories and Subject Descriptors (according to ACM CCS): I.3.4 [Computer Graphics]: Graphics Utilities H.4 [Information Systems Applications]: 1. Introduction Recent advances in 3D technology are gradually enabling the development and exploitation of 3D graphical informa- A Geographical Information System (GISs) is an integrated tion systems [FPM99, Jon89]. New applications, like Nasa system that stores, analyzes, shares, edits and displays spa- World Wind or Google Earth have lately been developed. tial data and associated information. Recently GIS have be- Still, there are only a few 3D geographical information ap- come more important due to the great variety of application plications.
    [Show full text]
  • Stardust: Accessible and Transparent GPU Support for Information Visualization Rendering
    Eurographics Conference on Visualization (EuroVis) 2017 Volume 36 (2017), Number 3 J. Heer, T. Ropinski and J. van Wijk (Guest Editors) Stardust: Accessible and Transparent GPU Support for Information Visualization Rendering Donghao Ren1, Bongshin Lee2, and Tobias Höllerer1 1University of California, Santa Barbara, United States 2Microsoft Research, Redmond, United States Abstract Web-based visualization libraries are in wide use, but performance bottlenecks occur when rendering, and especially animating, a large number of graphical marks. While GPU-based rendering can drastically improve performance, that paradigm has a steep learning curve, usually requiring expertise in the computer graphics pipeline and shader programming. In addition, the recent growth of virtual and augmented reality poses a challenge for supporting multiple display environments beyond regular canvases, such as a Head Mounted Display (HMD) and Cave Automatic Virtual Environment (CAVE). In this paper, we introduce a new web-based visualization library called Stardust, which provides a familiar API while leveraging GPU’s processing power. Stardust also enables developers to create both 2D and 3D visualizations for diverse display environments using a uniform API. To demonstrate Stardust’s expressiveness and portability, we present five example visualizations and a coding playground for four display environments. We also evaluate its performance by comparing it against the standard HTML5 Canvas, D3, and Vega. Categories and Subject Descriptors (according to ACM CCS):
    [Show full text]
  • Drawing in 3D in a Realistic 3D World the Observer Becomes an Actor Whose Actions Provoke Reactions That Leave Tracks in Virtual Reality
    PROGRAMMING Coin 3D – Interaction Interactive 3D Worlds with Coin and Qt Drawing in 3D In a realistic 3D world the observer becomes an actor whose actions provoke reactions that leave tracks in virtual reality. Qt and Coin allow you to program animated and interactive 3D worlds quickly and easily.We take a look at how you can interact with your new 3D world and create new effects. BY STEPHAN SIEMEN scene. This illustration is right mouse button deletes all the dots based on an example from the scene. from Inventor Mentor ([3], Chapter 10, The Right Choice example 2), how- A program that needs to reflect a user’s ever, we have wishes interactively, needs to select and expanded on it modify individual objects in the scene and moved from graph. This example adds new dots to Motif to using dotCoordinates and tells the dots node to Qt and SoQt. draw the new dots. Figure 2 Nodes can be accessed and selected by shows the reference to their position in the graph. scene graph for the drawing Each group node provides a method program. It requires only four called getChild() for this purpose. Figure nodes, and the user can edit three of 2 shows how the program references them dynamically (only the lighting individual nodes via the root of the remains constant). Pressing the center scene graph. However, this simple mouse button rotates the camera about method is extremely error-prone: if three dimensional scene appears the source. dotCoor- far more realistic if it is animated dinates and dots are Aand the user can interact with it.
    [Show full text]
  • Algebraic Methods for Geometric Modeling Julien Wintz
    Algebraic Methods for Geometric Modeling Julien Wintz To cite this version: Julien Wintz. Algebraic Methods for Geometric Modeling. Mathematics [math]. Université Nice Sophia Antipolis, 2008. English. tel-00347162 HAL Id: tel-00347162 https://tel.archives-ouvertes.fr/tel-00347162 Submitted on 14 Dec 2008 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Universit´ede Nice Sophia-Antipolis Ecole´ Doctorale STIC THESE` Pr´esent´ee pour obtenir le titre de : Docteur en Sciences de l’Universit´ede Nice Sophia-Antipolis Sp´ecialit´e: Informatique par Julien Wintz Algebraic Methods for Geometric Modeling Soutenue publiquement `al’INRIA le 5 Mai 2008 devant le jury compos´ede : Pr´esident : Andr´e Galligo Universit´ede Nice, France Rapporteurs : Gershon Elber Technion, Israel Tor Dokken Sintef, Norway Examinateurs : Pascal Schreck Universit´eLouis Pasteur, France Christian Arber Missler, France Directeur : Bernard Mourrain Inria Sophia-Antipolis, France Algebraic methods for geometric modeling Julien Wintz Abstract The two fields of algebraic geometry and algorithmic geometry, though closely related, are traditionally represented by almost disjoint communi- ties. Both fields deal with curves and surfaces but objects are represented in different ways. While algebraic geometry defines objects by the mean of equations, algorithmic geometry use to work with linear models.
    [Show full text]
  • Volume Rendering
    Volume Rendering 1.1. Introduction Rapid advances in hardware have been transforming revolutionary approaches in computer graphics into reality. One typical example is the raster graphics that took place in the seventies, when hardware innovations enabled the transition from vector graphics to raster graphics. Another example which has a similar potential is currently shaping up in the field of volume graphics. This trend is rooted in the extensive research and development effort in scientific visualization in general and in volume visualization in particular. Visualization is the usage of computer-supported, interactive, visual representations of data to amplify cognition. Scientific visualization is the visualization of physically based data. Volume visualization is a method of extracting meaningful information from volumetric datasets through the use of interactive graphics and imaging, and is concerned with the representation, manipulation, and rendering of volumetric datasets. Its objective is to provide mechanisms for peering inside volumetric datasets and to enhance the visual understanding. Traditional 3D graphics is based on surface representation. Most common form is polygon-based surfaces for which affordable special-purpose rendering hardware have been developed in the recent years. Volume graphics has the potential to greatly advance the field of 3D graphics by offering a comprehensive alternative to conventional surface representation methods. The object of this thesis is to examine the existing methods for volume visualization and to find a way of efficiently rendering scientific data with commercially available hardware, like PC’s, without requiring dedicated systems. 1.2. Volume Rendering Our display screens are composed of a two-dimensional array of pixels each representing a unit area.
    [Show full text]
  • Openscenegraph (OSG)—The Cross-Platform Open Source Scene
    Project Report Student: Katerina Taskova 3-year PhD student International Postgraduate School Jozef Stefan Ljubljana, Slovenia This project was a SIMLAB student internship project financed by a scholarship of the German Academic Exchange Service (DAAD) within the framework of the Stability Pact of Southern Eastern Europe funded by the German federal government. Period of the internship: 06.01.2009 - 29. 03.2009 Department: Computation in Engineering Faculty of Civil Engineering Technique University of Munich Advisor on the project: Dr. Martin Ruess Computation in Engineering Faculty of Civil Engineering Technique University of Munich Project description Idea The main idea was to incorporate user interactivity with simulation models during runtime in order to get an immediate response to model changes, a concept known as Computational Steering. This requires an implementation of a single-sided communication concept (with Massage Passing Interface, version MPI2) for the communication between simulation and visualization (two independently running processes with their own memory). Simulation The simulation process simulates the behavior of a real physical system. More specifically, it simulates the vibration (dynamic response) from a harmonic/periodic loading on thin plates. This process permanently produces results, scalar simulation data in sequential time steps, which are the input for the visualization process. Typically this calculation is numerical expensive and time-consuming. For this purpose was used a C++ implemented Finite-Element software package for dynamic simulation by Dr.Martin Ruess and it wasn’t a task for implementation in this project. Visualization The visualization process is the second independent process responsible exclusively for the visualization of the results generated with the thin plate vibration simulator.
    [Show full text]
  • Efficiently Using Graphics Hardware in Volume Rendering Applications
    Efficiently Using Graphics Hardware in Volume Rendering Applications Rudiger¨ Westermann, Thomas Ertl Computer Graphics Group Universitat¨ Erlangen-Nurnber¨ g, Germany Abstract In this paper we are dealing with the efficient generation of a visual representation of the information present in volumetric data OpenGL and its extensions provide access to advanced per-pixel sets. For scalar-valued volume data two standard techniques, the operations available in the rasterization stage and in the frame rendering of iso-surfaces, and the direct volume rendering, have buffer hardware of modern graphics workstations. With these been developed to a high degree of sophistication. However, due to mechanisms, completely new rendering algorithms can be designed the huge number of volume cells which have to be processed and and implemented in a very particular way. In this paper we extend to the variety of different cell types only a few approaches allow the idea of extensively using graphics hardware for the rendering of parameter modifications and navigation at interactive rates for real- volumetric data sets in various ways. First, we introduce the con- istically sized data sets. To overcome these limitations we provide cept of clipping geometries by means of stencil buffer operations, a basis for hardware accelerated interactive visualization of both and we exploit pixel textures for the mapping of volume data to iso-surfaces and direct volume rendering on arbitrary topologies. spherical domains. We show ways to use 3D textures for the ren- Direct volume rendering tries to convey a visual impression of dering of lighted and shaded iso-surfaces in real-time without ex- the complete 3D data set by taking into account the emission and tracting any polygonal representation.
    [Show full text]
  • A Survey of Algorithms for Volume Visualization
    A Survey of Algorithms for Volume Visualization T. Todd Elvins Advanced Scientific Visualization Laboratory San Diego Supercomputer Center "... in 10 years, all rendering will be volume rendering." Jim Kajiya at SIGGRAPH '91 Many computer graphics programmers are working in the area is given in [Fren89]. Advanced topics in medical volume of scientific visualization. One of the most interesting and fast- visualization are covered in [Hohn90][Levo90c]. growing areas in scientific visualization is volume visualization. Volume visualization systems are used to create high-quality Furthering scientific insight images from scalar and vector datasets defined on multi- dimensional grids, usually for the purpose of gaining insight into a This section introduces the reader to the field of volume scientific problem. Most volume visualization techniques are visualization as a subfield of scientific visualization and discusses based on one of about five foundation algorithms. These many of the current research areas in both. algorithms, and the background necessary to understand them, are described here. Pointers to more detailed descriptions, further Challenges in scientific visualization reading, and advanced techniques are also given. Scientific visualization uses computer graphics techniques to help give scientists insight into their data [McCo87] [Brod91]. Introduction Insight is usually achieved by extracting scientifically meaningful information from numerical descriptions of complex phenomena The following is an introduction to the fast-growing field of through the use of interactive imaging systems. Scientists need volume visualization for the computer graphics programmer. these systems not only for their own insight, but also to share their Many computer graphics techniques are used in volume results with their colleagues, the institutions that support the visualization.
    [Show full text]
  • Statistically Quantitative Volume Visualization
    Statistically Quantitative Volume Visualization Joe M. Kniss∗ Robert Van Uitert† Abraham Stephens‡ Guo-Shi Li§ Tolga Tasdizen University of Utah National Institutes of Health University of Utah University of Utah University of Utah Charles Hansen¶ University of Utah Abstract Visualization users are increasingly in need of techniques for assessing quantitative uncertainty and error in the im- ages produced. Statistical segmentation algorithms compute these quantitative results, yet volume rendering tools typi- cally produce only qualitative imagery via transfer function- based classification. This paper presents a visualization technique that allows users to interactively explore the un- certainty, risk, and probabilistic decision of surface bound- aries. Our approach makes it possible to directly visual- A) Transfer Function-based Classification B) Unsupervised Probabilistic Classification ize the combined ”fuzzy” classification results from multi- ple segmentations by combining these data into a unified Figure 1: A comparison of transfer function-based classification ver- probabilistic data space. We represent this unified space, sus data-specific probabilistic classification. Both images are based the combination of scalar volumes from numerous segmen- on T1 MRI scans of a human head and show fuzzy classified white- tations, using a novel graph-based dimensionality reduction matter, gray-matter, and cerebro-spinal fluid. Subfigure A shows the scheme. The scheme both dramatically reduces the dataset results of classification using a carefully designed 2D transfer func- size and is suitable for efficient, high quality, quantitative tion based on data value and gradient magnitude. Subfigure B shows visualization. Lastly, we show that the statistical risk aris- a visualization of the data classified using a fully automatic, atlas- ing from overlapping segmentations is a robust measure for based method that infers class statistics using minimum entropy, visualizing features and assigning optical properties.
    [Show full text]
  • CSE 167: Introduction to Computer Graphics Lecture #9: Scene Graph
    CSE 167: Introduction to Computer Graphics Lecture #9: Scene Graph Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016 Announcements Project 2 due tomorrow at 2pm Midterm next Tuesday 2 HP Summer Internship Calling all UCSD students who are interested in a computer science internship! San Diego can be a tough place to gain computer science experience as a student compared to other cities which is why I am so excited to present this positon to your sharp students! (There are 10 open spots for the right candidates) The position is with HP and will be for the duration of the upcoming summer. Here are a few details about the exciting opportunity. Company: HP Position Title: Refresh Support Technician Contract/Perm: 3-4 month contract Pay Rate: $13-15/hr based on experience Interview Process: Hire off of a resume Work Address: Rancho Bernardo location Top Skills: Refresh windows 7 & 8.1 experience Must have: Windows refresh 7 or 8.1 experience Minimum Vocational/Diploma/Associate Degree (technical field) Equivalent with 1-2 years of working experience in related fields, or Degree holder with no or less than 1 year relevant working experience. This is a competitive position and will move quickly. If you have any students who might be interested please have them contact me to be considered for this role. My direct line is 858 568 7582 . Curtis Stitts Technical Recruiter THE SELECT GROUP [email protected] | Web Site 9339 Genesee Avenue, Ste. 320 | San Diego, CA 92121 3 Lecture Overview Scene Graphs
    [Show full text]
  • Openscenegraph 3.0 Beginner's Guide
    OpenSceneGraph 3.0 Beginner's Guide Create high-performance virtual reality applications with OpenSceneGraph, one of the best 3D graphics engines Rui Wang Xuelei Qian BIRMINGHAM - MUMBAI OpenSceneGraph 3.0 Beginner's Guide Copyright © 2010 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: December 2010 Production Reference: 1081210 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-849512-82-4 www.packtpub.com Cover Image by Ed Maclean ([email protected]) Credits Authors Editorial Team Leader Rui Wang Akshara Aware Xuelei Qian Project Team Leader Reviewers Lata Basantani Jean-Sébastien Guay Project Coordinator Cedric Pinson
    [Show full text]
  • Game Engines
    Game Engines Martin Samuelčík VIS GRAVIS, s.r.o. [email protected] http://www.sccg.sk/~samuelcik Game Engine • Software framework (set of tools, API) • Creation of video games, interactive presentations, simulations, … (2D, 3D) • Combining assets (models, sprites, textures, sounds, …) and programs, scripts • Rapid-development tools (IDE, editors) vs coding everything • Deployment on many platforms – Win, Linux, Mac, Android, iOS, Web, Playstation, XBOX, … Game Engines 2 Martin Samuelčík Game Engine Assets Modeling, scripting, compiling Running compiled assets + scripts + engine Game Engines 3 Martin Samuelčík Game Engine • Rendering engine • Scripting engine • User input engine • Audio engine • Networking engine • AI engine • Scene engine Game Engines 4 Martin Samuelčík Rendering Engine • Creating final picture on screen • Many methods: rasterization, ray-tracing,.. • For interactive application, rendering of one picture < 33ms = 30 FPS • Usually based on low level APIs – GDI, SDL, OpenGL, DirectX, … • Accelerated using hardware • Graphics User Interface, HUD Game Engines 5 Martin Samuelčík Scripting Engine • Adding logic to objects in scene • Controlling animations, behaviors, artificial intelligence, state changes, graphics effects, GUI, audio execution, … • Languages: C, C++, C#, Java, JavaScript, Python, Lua, … • Central control of script executions – game consoles Game Engines 6 Martin Samuelčík User input Engine • Detecting input from devices • Detecting actions or gestures • Mouse, keyboard, multitouch display, gamepads, Kinect
    [Show full text]