High Performance Visualization Through Graphics Hardware and Integration Issues in an Electric Power Grid Computer-Aided-Design Application

Total Page:16

File Type:pdf, Size:1020Kb

High Performance Visualization Through Graphics Hardware and Integration Issues in an Electric Power Grid Computer-Aided-Design Application UNIVERSITY OF A CORUÑA FACULTY OF INFORMATICS Department of Computer Science Ph.D. Thesis High performance visualization through graphics hardware and integration issues in an electric power grid Computer-Aided-Design application Author: Javier Novo Rodríguez Advisors: Elena Hernández Pereira Mariano Cabrero Canosa A Coruña, June, 2015 August 27, 2015 UNIVERSITY OF A CORUÑA FACULTY OF INFORMATICS Campus de Elviña s/n 15071 - A Coruña (Spain) Copyright notice: No part of this publication may be reproduced, stored in a re- trieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording and/or other- wise without the prior permission of the authors. Acknowledgements I would like to thank Gas Natural Fenosa, particularly Ignacio Manotas, for their long term commitment to the University of A Coru˜na. This research is a result of their funding during almost five years through which they carefully balanced business-driven objectives with the freedom to pursue more academic goals. I would also like to express my most profound gratitude to my thesis advisors, Elena Hern´andez and Mariano Cabrero. Elena has also done an incredible job being the lead coordinator of this collaboration between Gas Natural Fenosa and the University of A Coru˜na. I regard them as friends, just like my other colleagues at LIDIA, with whom I have spent so many great moments. Thank you all for that. Last but not least, I must also thank my family – to whom I owe everything – and friends. I have been unbelievably lucky to meet so many awesome people in my life; every single one of them is part of who I am and contributes to whatever I may achieve. Javier Novo Rodr´ıguez June, 2015 i ii Contents 1 Introduction 1 1.1 Power grids visualization . 1 1.2 Whattoexpectfromthisthesis. 2 1.3 Thesisoutline................................. 3 2 Electrical Distribution Power Grids 7 2.1 Theelectricutilitysystem . 7 2.2 Visualization in electrical engineering . ........ 10 2.3 Geographic and projected coordinate systems . ...... 12 2.4 Datasets employed in this work . 14 3 Polyline Simplification Using Spatial Databases 17 3.1 Data visualization collisions . 18 3.2 Cartographic generalization techniques . ....... 20 3.2.1 Conditions – when to generalize . 21 3.2.2 Techniques – how to generalize . 21 3.2.2.1 Selection . 22 3.2.2.2 Line simplification . 23 3.2.2.3 Merging........................... 23 3.3 Implementation................................ 25 3.4 Experimentationresults . 27 4 Graphics Cards Evolution 31 4.1 Origins..................................... 31 4.2 2Dacceleration ................................ 34 4.3 3Dacceleration ................................ 36 4.4 ProgrammableGPUs............................. 39 4.5 General Purpose GPUs and High Performance Computing . ..... 44 4.6 Non-discretegraphicscards . 46 5 3D Graphics Fundamentals 47 5.1 Three-dimensionalmodeling. 48 5.1.1 Polygonalmeshmodels . 49 iii 5.1.2 Parametricsurfaces . 50 5.2 Geometryprocessing............................. 52 5.3 Rasterization ................................. 55 5.4 Shading .................................... 56 5.4.1 Texturing ............................... 57 5.5 Framebufferoutput ............................. 59 5.6 Multi-passrendering . .. .. .. .. .. .. .. .. 59 6 Direct3D 11 Pipelines 61 6.1 HighLevelShadingLanguage . 62 6.1.1 Effects................................. 63 6.2 Graphicsrenderingpipeline . 63 6.2.1 InputAssembler ........................... 65 6.2.1.1 Configuration. 65 6.2.1.2 Data fetching . 68 6.2.1.3 Primitive assembly . 71 6.2.1.4 System-generated values attaching . 71 6.2.2 VertexShader............................. 72 6.2.3 Tessellation stages . 74 6.2.3.1 HullShader......................... 76 6.2.3.2 Tessellator . 78 6.2.3.3 DomainShader.. .. .. .. .. .. .. 78 6.2.4 GeometryShader........................... 80 6.2.5 StreamOutput ............................ 81 6.2.6 Rasterizer............................... 83 6.2.6.1 Multi-Sample Anti-Aliasing . 86 6.2.7 PixelShader ............................. 88 6.2.8 OutputMerger ............................ 89 6.3 Computeshaderpipeline. 91 6.4 Memoryresources .............................. 95 6.4.1 Buffers................................. 96 6.4.2 Textures................................ 97 6.4.3 Accessingresourcesfromshaders . 98 6.4.3.1 Unordered access resources . 99 6.4.4 Typelessresourcesandviews . 100 6.5 Configuration and execution examples . 101 6.5.1 Graphics pipeline example: drawing a triangle using lines . 101 6.5.1.1 Managing pipeline state using Effects . 107 iv 6.5.2 Compute pipeline example: matrix addition . 107 7 Dynamic Polyline Simplification On The GPU 111 7.1 Quadsgeneration............................... 111 7.1.1 Vertexshaders ............................ 113 7.1.2 Geometryshaders .. .. .. .. .. .. .. .. 115 7.2 StreamOutputstatisticssupport . 116 7.3 D3DXUtilityLibrary ............................ 119 7.3.1 Common GUI components . 120 7.4 GPU polyline simplification implementations . 121 7.4.1 Simplification algorithm . 122 7.4.2 Polyline simplification using the Compute pipeline . 123 7.4.2.1 Simplification . 123 7.4.2.2 Rendering ......................... 127 7.4.2.3 Graphical user interface . 129 7.4.3 Polyline simplification using the Geometry Shader stage . 130 7.4.3.1 Geometry shader instancing . 134 7.4.3.2 Graphical user interfaces . 135 7.4.4 Polyline simplification in the tessellation stages . ........ 138 7.4.4.1 Implementation . 138 7.4.4.2 Hull Shader simplification . 142 7.4.4.3 Compiled tessellation shaders reutilization . 148 7.4.4.4 Graphical user interface . 148 8 GPU Polyline Simplification Results 151 8.1 Renderingperformance. 151 8.1.1 Frameratecomparison. 153 8.1.2 Optimum number of tessellation and geometry shaders . 154 8.2 Memoryconsumption ............................ 158 8.2.1 Buffers................................. 159 8.2.2 Shaders ................................ 160 8.2.2.1 Compilation times . 164 8.3 Visualimpact................................. 164 8.4 Conclusions .................................. 166 9 Conclusions 169 9.1 Worksummary ................................ 169 9.2 Futurework.................................. 171 9.2.1 Coordinate system translation on the GPU . 171 v 9.2.2 Adoption of other visualization patterns . 172 9.2.3 Introduction of more complex visualizations . 172 9.2.4 Revision of the polyline simplification algorithm . 173 9.2.5 Migration to DirectX 12 . 173 9.3 Publications.................................. 175 I Patterns For Information Visualization 177 I.1 Referencemodel ............................... 178 I.2 Renderer.................................... 178 I.3 Camera .................................... 180 I.4 Proxytuple .................................. 180 I.5 Operator ................................... 180 I.6 Dynamicquerybinding ........................... 181 I.7 Scheduler ................................... 181 I.8 Cascadedtable ................................ 181 I.9 Otherpatterns ................................ 182 II DirectX Integration Into Windowed Applications 183 II.1 Introduction.................................. 183 II.2 Windows applications development . 184 II.3 Windows Vista graphics architecture . 186 II.3.1 TheWindowsDisplayDriverModel . 186 II.3.2 The Desktop Window Manager . 187 II.4 Direct3D integration with Windows Forms and WPF . 188 II.5 Direct3D integration in this work . 190 IIIResumen en espa˜nol 193 III.1Contextualizaci´on. 193 III.2Objetivosyactuaciones . 194 III.2.1 Generaci´on de l´ıneas con grosor mediante hardware........ 195 III.2.2 Simplificaci´on de las redes mediante bases de datos espaciales . 195 III.2.3 Simplificaci´on de las redes en la GPU . 197 III.3Estructura................................... 199 III.4Conclusiones ................................. 201 III.5Trabajofuturo ................................ 202 III.6Publicaciones ................................. 203 IV Resumo en galego 205 IV.1Contextualizaci´on. 205 vi IV.2 Obxectivos e actuaci´ons . 206 IV.2.1 Xeraci´on de li˜nas con grosor mediante hardware . 207 IV.2.2 Simplificaci´on das redes mediante bases de datos espaciais . 207 IV.2.3 Simplificaci´on das redes na GPU . 209 IV.3Estructura................................... 211 IV.4Conclusi´ons .................................. 213 IV.5Traballofuturo ................................ 213 IV.6Publicaci´ons.................................. 214 Bibliograf´ıa 217 vii viii List of figures 2.1 Theelectricutilitysystem. 9 2.2 Unitary-width lines visualization of a distribution power grid. 11 2.3 Universal Transverse Mercator zones. ..... 13 2.4 Rendered visualization for the different datasets. ........ 16 3.1 Visualization of the whole Galicia power grid. ....... 19 3.2 Comparison of generalized and non-generalized visualizations of a metropoli- tanarea..................................... 30 4.1 Abstract rendering engine of the Voodoo Graphics [19]. ........ 37 4.2 Migration of different graphics pipeline parts from the CPU to the GPU. 39 4.3 Architecture of the Nvidia GeForce 6800 [39]. ...... 41 4.4 Architecture of the Nvidia GeForce 6800 vertex processing units [39]. 42 4.5 Architecture of the Nvidia GeForce 6800 pixel processing units [39]. 42 4.6 Unified shader architecture of the Nvidia GeForce 8800 [43]........ 43 5.1 Asimplegraphicspipeline. 48 5.2 Generatingameshfromanobject. 49 5.3 Parametric surface defined by 16 control points. ....... 51 5.4 Different levels of detail for a sphere. 51 5.5 Viewfrustum.................................. 53 5.6
Recommended publications
  • NVIDIA® Geforce® 7300 GT Gpus Features and Benefits
    NVIDIA GEFORCE 7 SERIES MARKETING MATERIALS NVIDIA® GeForce® 7300 GT GPUs Features and Benefits Next-Generation Superscalar GPU Architecture Delivers over 2x the shading power of previous generation products taking gaming performance to extreme levels. Full Microsoft® DirectX® 9.0 Shader Model 3.0 Support The standard for today’s PCs and next-generation consoles enables stunning and complex effects for cinematic realism. NVIDIA GPUs offer the most complete implementation of the Shader Model 3.0 feature set—including vertex texture fetch (VTF)—to ensure top-notch compatibility and performance for all DirectX 9 applications. NVIDIA® CineFX® 4.0 Engine Delivers advanced visual effects at unimaginable speeds. Full support for Microsoft® DirectX® 9.0 Shader Model 3.0 enables stunning and complex special effects. Next-generation shader architecture with new texture unit design streamlines texture processing for faster and smoother gameplay. NVIDIA® SLI™ Technology1 Delivers up to 2x the performance of a single GPU configuration for unparalleled gaming experiences by allowing two graphics cards to run in parallel. The must-have feature for performance PCI Express® graphics, SLI dramatically scales performance on today’s hottest games. NVIDIA® Intellisample™ 4.0 Technology The industry’s fastest antialiasing delivers ultra-realistic visuals, with no jagged edges, at lightning- fast speeds. Visual quality is taken to new heights through a new rotated grid sampling pattern, advanced 128 tap sample coverage, 16x anisotropic filtering, and support for transparent supersampling and multisampling. True High Dynamic-Range (HDR) Rendering Support The ultimate lighting effects bring environments to life for a truly immersive, ultra-reailstic experience. Based on the OpenEXR technology from Industrial Light & Magic (http://www.openexr.com/), NVIDIA’s 64-bit texture implementation delivers state-of-the-art high dynamic-range (HDR) visual effects through floating point capabilities in shading, filtering, texturing, and blending.
    [Show full text]
  • Programming Graphics Hardware Overview of the Tutorial: Afternoon
    Tutorial 5 ProgrammingProgramming GraphicsGraphics HardwareHardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 Introduction to the Hardware Graphics Pipeline Cyril Zeller 9:30 Controlling the GPU from the CPU: the 3D API Cyril Zeller 10:15 Break 10:45 Programming the GPU: High-level Shading Languages Randy Fernando 12:00 Lunch Tutorial 5: Programming Graphics Hardware Overview of the Tutorial: Afternoon 12:00 Lunch 14:00 Optimizing the Graphics Pipeline Matthias Wloka 14:45 Advanced Rendering Techniques Matthias Wloka 15:45 Break 16:15 General-Purpose Computation Using Graphics Hardware Mark Harris 17:30 End Tutorial 5: Programming Graphics Hardware Tutorial 5: Programming Graphics Hardware IntroductionIntroduction toto thethe HardwareHardware GraphicsGraphics PipelinePipeline Cyril Zeller Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing 1999-2000: Transform and lighting 2001: Programmable vertex shader 2002-2003: Programmable pixel shader 2004: Shader model 3.0 and 64-bit color support PC graphics software architecture Performance numbers Tutorial 5: Programming Graphics Hardware Real-Time Rendering Graphics hardware enables real-time rendering Real-time means display rate at more than 10 images per second 3D Scene = Image = Collection of Array of pixels 3D primitives (triangles, lines, points) Tutorial 5: Programming Graphics Hardware Hardware Graphics Pipeline
    [Show full text]
  • Release 85 Notes
    ForceWare Graphics Drivers Release 85 Notes Version 88.61 For Windows Vista x86 and Windows Vista x64 NVIDIA Corporation May 2006 Published by NVIDIA Corporation 2701 San Tomas Expressway Santa Clara, CA 95050 Notice ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS, DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. Information furnished is believed to be accurate and reliable. However, NVIDIA Corporation assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties that may result from its use. No license is granted by implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation. Trademarks NVIDIA, the NVIDIA logo, 3DFX, 3DFX INTERACTIVE, the 3dfx Logo, STB, STB Systems and Design, the STB Logo, the StarBox Logo, NVIDIA nForce, GeForce, NVIDIA Quadro, NVDVD, NVIDIA Personal Cinema, NVIDIA Soundstorm, Vanta, TNT2, TNT,
    [Show full text]
  • Improving Shadows and Reflections Via the Stencil Buffer
    Improving Shadows and Reflections via the Stencil Buffer Mark J. Kilgard * NVIDIA Corporation “Slap textures on polygons, throw them at the screen, and let the depth buffer sort it out.” For too many game developers, the above statement sums up their approach to 3D hardware- acceleration. A game programmer might turn on some fog and maybe throw in some transparency, but that’s often the limit. The question is whether that is enough anymore for a game to stand out visually from the crowd. Now everybody’s using 3D hardware-acceleration, and everybody’s slinging textured polygons around, and, frankly, as a result, most 3D games look more or less the same. Sure there are differences in game play, network interaction, artwork, sound track, etc., etc., but we all know that the “big differentiator” for computer gaming, today and tomorrow, is the look. The problem is that with everyone resorting to hardware rendering, most games look fairly consistent, too consistent. You know exactly the textured polygon look that I’m talking about. Instead of settling for 3D hardware doing nothing more than slinging textured polygons, I argue that cutting-edge game developers must embrace new hardware functionality to achieve visual effects beyond what everybody gets today from your basic textured and depth-buffered polygons. Two effects that can definitely set games apart from the crowd are better quality shadows and reflections. While some games today incorporate shadows and reflections to a limited extent, the common techniques are fairly crude. Reflections in today’s games are mostly limited to “infinite extent” ground planes or ground planes bounded by walls.
    [Show full text]
  • NVIDIA® Geforce® 7900 Gpus Features and Benefits Next
    NVIDIA GEFORCE 7 SERIES MARKETING MATERIALS NVIDIA® GeForce® 7900 GPUs Features and Benefits Next-Generation Superscalar GPU Architecture: Delivers over 2x the shading power of previous generation products taking gaming performance to extreme levels. Full Microsoft® DirectX® 9.0 Shader Model 3.0 Support: The standard for today’s PCs and next-generation consoles enables stunning and complex effects for cinematic realism. NVIDIA GPUs offer the most complete implementation of the Shader Model 3.0 feature set—including vertex texture fetch (VTF)—to ensure top-notch compatibility and performance for all DirectX 9 applications. NVIDIA® CineFX® 4.0 Engine: Delivers advanced visual effects at unimaginable speeds. Full support for Microsoft® DirectX® 9.0 Shader Model 3.0 enables stunning and complex special effects. Next-generation shader architecture with new texture unit design streamlines texture processing for faster and smoother gameplay. NVIDIA® SLI™ Technology*: Delivers up to 2x the performance of a single GPU configuration for unparalleled gaming experiences by allowing two graphics cards to run in parallel. The must-have feature for performance PCI Express® graphics, SLI dramatically scales performance on today’s hottest games. NVIDIA® Intellisample™ 4.0 Technology: The industry’s fastest antialiasing delivers ultra- realistic visuals, with no jagged edges, at lightning-fast speeds. Visual quality is taken to new heights through a new rotated grid sampling pattern, advanced 128 tap sample coverage, 16x anisotropic filtering, and support for transparent supersampling and multisampling. True High Dynamic-Range (HDR) Rendering Support: The ultimate lighting effects bring environments to life for a truly immersive, ultra-realistic experience. Based on the OpenEXR technology from Industrial Light & Magic (http://www.openexr.com/), NVIDIA’s 64-bit texture implementation delivers state-of-the-art high dynamic-range (HDR) visual effects through floating point capabilities in shading, filtering, texturing, and blending.
    [Show full text]
  • Nvidia Geforce Go 7400 Driver Download Windows 7
    Nvidia geforce go 7400 driver download windows 7 click here to download Operating System, Windows Vista bit NVIDIA recommends that you check with your notebook OEM about recommended Before downloading this driver: Beta driver for GeForce Go 7-series, GeForce 8M and GeForce 9M series Go , GeForce Go , GeForce Go , GeForce Go Operating System: Windows Vista bit, Windows 7 bit Beta driver for GeForce Go 7-series, GeForce 8M and GeForce 9M series notebook GPUs. in several free applications and demos by downloading the GeForce Plus Pack. GTX, GeForce Go , GeForce Go , GeForce Go , GeForce Go , . Since all GeForce Go 7 Series GPUs are designed to be compatible with the next -generation Microsoft® Windows Vista™ operating system (OS), you can rest. Download nVidia GeForce Go video card drivers or install DriverPack Solution software Operating System Versions: Windows XP, 7, 8, , 10 (x64, x86). This package supports the following driver models:NVIDIA GeForce Free Sony Windows NT//XP/ Version Full Specs. Free NVIDIA Windows 98/NT//XP/ Version Full Specs NVIDIA GeForce Go and NVIDIA GeForce Go graphics processing units ( GPUs) deliver all of of the award-winning GeForce 7 Series GPU architecture to thin and light notebook PCs. Subcategory, Keyboard Drivers. Download the latest Nvidia GeForce Go device drivers (Official and Certified). Nvidia GeForce Go Compatibility: Windows XP, Vista, 7, 8, Downloads. nVidia - Display - NVIDIA GeForce Go , Windows XP Bit Edition Version , Drivers (Other Hardware), 4/3/, , MB NVIDIA GeForce Go - Driver Download. Updating your drivers with Driver Alert can help your computer in a number of ways. Windows 7 Bit Driver.
    [Show full text]
  • Directx 11 Extended to the Implementation of Compute Shader
    DirectX 1 DirectX About the Tutorial Microsoft DirectX is considered as a collection of application programming interfaces (APIs) for managing tasks related to multimedia, especially with respect to game programming and video which are designed on Microsoft platforms. Direct3D which is a renowned product of DirectX is also used by other software applications for visualization and graphics tasks such as CAD/CAM engineering. Audience This tutorial has been prepared for developers and programmers in multimedia industry who are interested to pursue their career in DirectX. Prerequisites Before proceeding with this tutorial, it is expected that reader should have knowledge of multimedia, graphics and game programming basics. This includes mathematical foundations as well. Copyright & Disclaimer Copyright 2019 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected]
    [Show full text]
  • 最新 7.3.X 6.0.0-6.02 6.0.3 6.0.4 6.0.5-6.09 6.0.2(RIQ)
    2017/04/24現在 赤字は標準インストール外 最新 RedHawk Linux 6.0.x 6.3.x 6.5.x 7.0.x 7.2.x 7.3.x Version 6.0.0-6.02 6.0.3 6.0.4 6.0.5-6.09 6.0.2(RIQ) 6.3.1-6.3.2 6.3.3 6.3.4-6.3.6 6.3.7-6.3.11 6.5.0 6.5.1 6.5-6.5.8 7.0 7.01-7.03 7.2-7.2.5 7.3-7.3.1 Xorg-version 1.7.7(X11R7.4) 1.10.6(X11R7.4) 1.13.0(X11R7.4) 1.15.0(X11R7.7) 1.17.2-10(X11R7.7) 1.17.2-22(X11R7.7) X.Org ANSI C 0.4 0.4 0.4 0.4 0.4 0.4 Emulation X.Org Video Driver 6.0 10.0 13.1 19.0 19.0 15.0 X.Org Xinput driver 7.0 12.2 18.1 21.0 21.0 20.0 X.Org Server 2.0 5.0 7.0 9.0 9.0 8.0 Extention RandR Version 1.1 1.1 1.1 1.1/1.2 1.1/1.2/1.3/1.4 1.1/1.2 1.1/1.2/1.3 1.1/1.2/1.3 1.1/1.2/1.3/1.4 1.1/1.2/1.3/1.4 1.1/1.2/1.3/1.4 1.1/1.2/1.3/1.4 1.1/1.2/1.3/1.4 1.1/1.2/1.3/1.4 1.1/1.2/1.3/1.4 1.1/1.2/1.3/1.4 1.1/1.2/1.3/1.4 1.1/1.2/1.3/1.4 NVIDIA driver 340.76 275.09.07 295.20 295.40 304.54 331.20 304.37 304.54 310.32 319.49 331.67 337.25 340.32 346.35 346.59 352.79 367.57 375.51 version (Download) PTX ISA 2.3(CUDA4.0) 3.0(CUDA 4.1,4.2) 3.0(CUDA4.1,4.2) 3.1(CUDA5.0) 4.0(CUDA6.0) 3.1(CUDA5.0) 3.1(CUDA5.0) 3.1(CUDA5.0) 3.2(CUDA5.5) 4.0(CUDA6.0) 4.0(CUDA6.0) 4.1(CUDA6.5) 4.1(CUDA6.5) 4.3(CUDA7.5) 5.0(CUDA8.0) 5.0(CUDA8.0) Version(対応可能 4.2(CUDA7.0) 4.2(CUDA7.0) CUDAバージョン) Unified Memory N/A Yes N/A Yes kernel module last update Aug 17 2011 Mar 20 2012 May 16 2012 Nov 13 2012 Sep 27 2012 Nov 20 2012 Aug 16 2013 Jan 08 2014 Jun 30 2014 May 16 2014 Dec 10 2014 Jan 27 2015 Mar 24 2015 Apr 7 2015 Mar 09 2016 Dec 21 2016 Arp 5 2017 標準バンドル 4.0.1 4.1.28 4.1.28 4.2.9 5.5 5.0 5.0 5.0 5.5 5.5,6.0 5.5,6.0 5.5,6.0 7.5 7.5 8.0
    [Show full text]
  • As of Directx 8, Directdraw (2D) and Direct3d (3D) Have Been Combined
    GAM666 – Introduction To Game Programming Basic 3D Using DirectX 9 ● As of DirectX 8, DirectDraw (2D) and Direct3D (3D) have been combined into DirectX Graphics (still often called Direct3D, however) ● DirectX Graphics includes a library of 3D math helper functions, d3dx9math.h, the use of which is entirely optional but has gained wide acceptance GAM666 – Introduction To Game Programming Basic 3D Using DirectX 9 DirectX 9 COM Object Pointers: ● LPDIRECT3D9 – main Direct3D control object used to create others ● LPDIRECT3DDEVICE9 – device onto which 3D is rendered ● LPDIRECT3DVERTEXBUFFER9 – list of vertices describing a shape to be rendered ● LP3DXFONT – font for rendering text onto a 3D scene GAM666 – Introduction To Game Programming Basic 3D Using DirectX 9 Basic frame rendering logic: ● Clear the display target's backbuffer using Direct3DDevice Clear() ● Call Direct3DDevice BeginScene() ● Render primitives [shapes] using Direct3DDevice DrawPrimitive() and text using Direct3DXFont DrawText() ● Call Direct3DDevice EndScene() ● Flip backbuffer to screen with Direct3DDevice Present() GAM666 – Introduction To Game Programming 3D Setup ● Direct3DCreate9() to create Direct3D object ● Enumeration in DirectX Graphics is easier than in DirectDraw7 (no enumeration callback function needs to be supplied, rather call a query function in your own loop) ● Direct3D CreateDevice() to create Direct3DDevice ● Direct3DDevice CreateVertexBuffer() to allocate vertex buffers ● D3DXCreateFont() to make 3D font GAM666 – Introduction To Game Programming Critical
    [Show full text]
  • Trabajo #1 De Computación Gráfica
    TRABAJO #1 DE COMPUTACIÓN GRÁFICA MONITORES 1.¿Cuántos tipos de monitores hay? Hay actualmente tres tipos principales de tecnologías: CRT, o tubos de rayos catódicos (los de siempre), LCD, o pantallas de cristal líquido (Liquid Crystal Display), y las pantallas de plasma. LCD: Una pantalla de cristal líquido o LCD (acrónimo del inglés Liquid crystal display) es una pantalla delgada y plana formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora. A menudo se utiliza en pilas, dispositivos electrónicos, ya que utiliza cantidades muy pequeñas de energía eléctrica. CTR: El monitor esta basado en un elemento CRT (Tubo de rayos catódicos), los actuales monitores, controlados por un microprocesador para almacenar muy diferentes formatos, así como corregir las eventuales distorsiones, y con capacidad de presentar hasta 1600x1200 puntos en pantalla. Los monitores CRT emplean tubos cortos, pero con la particularidad de disponer de una pantalla completamente plana. PLASMA: Se basan en el principio de que haciendo pasar un alto voltaje por un gas a baja presión se genera luz. Estas pantallas usan fósforo como los CRT pero son emisivas como las LCD y frente a estas consiguen una gran mejora del color y un estupendo ángulo de visión. 2.Compara en una tabla similitudes y diferencias, ventajas y desventajas, entre CRT, LCD, PLASMA, TFT, HDA, y otras tecnologías Similitud Diferencia Ventajas Desventajas CRT Lo usan los -Permiten -Ocupan monitores de reproducir una más espacio plasma mayor variedad (cuanto mas cromática. fondo, mejor geometría). -Distintas resoluciones se -Los pueden ajustar modelos al monitor.
    [Show full text]
  • Opengl FAQ and Troubleshooting Guide
    OpenGL FAQ and Troubleshooting Guide Table of Contents OpenGL FAQ and Troubleshooting Guide v1.2001.01.17..............................................................................1 1 About the FAQ...............................................................................................................................................13 2 Getting Started ............................................................................................................................................17 3 GLUT..............................................................................................................................................................32 4 GLU.................................................................................................................................................................35 5 Microsoft Windows Specifics........................................................................................................................38 6 Windows, Buffers, and Rendering Contexts...............................................................................................45 7 Interacting with the Window System, Operating System, and Input Devices........................................46 8 Using Viewing and Camera Transforms, and gluLookAt().......................................................................48 9 Transformations.............................................................................................................................................52 10 Clipping, Culling,
    [Show full text]
  • NVIDIA Performance Primitives & Video Codecs On
    NVIDIA Performance Primitives & Video Codecs on GPU Gold Room | Thursday 1st October 2009 | Anton Obukhov & Frank Jargstorff Overview • Two presentations: – NPP (Frank Jargstorff) – Video Codes on NVIDIA GPUs (Anton Obukhov) • NPP Overview – NPP Goals – How to use NPP? – What is in NPP? – Performance What is NPP? • C Library of functions (primitives) running on CUDA architecture • API identical to IPP (Intel Integrated Performance Primitives) • Speedups up to 32x over IPP • Free distribution – binary packages for Windows and Linux (32- and 64 bit), Mac OS X • Release Candidate 1.0: Available to Registered Developers now. – Final release in two weeks at http://www.nvidia.com/npp NPP’s Goals • Ease of use – no knowledge of GPU architecture required – integrates well with existing projects • work well if added into existing projects • work well in conjunction with other libraries • Runs on CUDA Architecture GPUs • High Performance – relieve developers from optimization burden • Algorithmic Building Blocks (Primitives) – recombine to solve wide range of problems Ease of Use • Implements Intel’s IPP API verbatim – IPP widely used in high-performance software development – well designed API • Uses CUDA “runtime API” – device memory is handled via simple C-style pointers – pointers in the NPP API are device pointers – but: host and device memory management left to user (for performance reasons) • Pointer based API – pointers facilitate interoperability with existing code (C for CUDA) and libraries (cuFFT, cuBLAS, etc.) – imposes no “framework”
    [Show full text]