Research Placement Technical Report Cross-Platform OpenGL Shader Authoring
|
|
- Maud Palmer
- 5 years ago
- Views:
Transcription
1 Research Placement Technical Report Cross-Platform OpenGL Shader Authoring Matthew O'Loughlin 2 nd June, 2012 Supervisor: Dr. Christian Sandor Introduction During my time working with the Magic Vision Lab at the University of South Australia, I was primarily tasked with improving the process of developing OpenGL shaders for use across multiple platforms. OpenGL shaders are small programs which can be executed on a GPU to create various different effects by attaching them to an OpenGL scene. The programs are written in GLSL (GL Shading Language), a C-like language which takes gives developers control over the graphics pipeline in a more portable way than direct assembly programming. The OpenGL standard currently provides three processors which can be programmed using shaders (Vertex, Fragment and Geometry); the system proposed will provide support for developing on all programmable units. The vertex processor is responsible manipulating data which is passed through the OpenGL pipeline for each vertex in the scene. After being transformed, the vertices generate primitives (e.g. triangles) and passes this information to the fragment processor, which is primarily responsible for computing the colour of each fragment it is passed. OpenGL Graphics Pipeline [1]
2 Problem Statement Work done at the Magic Vision Lab is often run on two different platforms; OpenGL for desktop computers or head-worn displays (HWD), and OpenGL ES - a subset of OpenGL designed for mobile devices such as the iphone. The two platforms use slightly different languages for shader development, with subtle differences in function availability and variable declaration, as well as the ability to read certain values from the graphics pipeline. Writing shaders to which maintain equivalent semantic meaning on both can be a tedious job, often presenting a number of challenges to team members responsible for porting code between them. This presents a major bottleneck in graphics application development, with developers often being required to repeatedly move between platforms for testing and coding. Development cycle for creating iphone shaders. In the following project, I present a system which provides an efficient model for creating and deploying OpenGL shaders across multiple platforms without rewriting code. The system will also offer debugging functionality for discovering issues with a shader program. Related Work As the popularity and complexity of shaders grew, a number of development environments were created to provide a simpler way for developers to quickly create shaders and receive feedback on changes as they're made. glsldevil (Strengert et al) is a debugging tool for the OpenGL shader pipeline, intercepting calls to the OpenGL framework and allowing a user to follow transitions through the OpenGL state machine while watching variables being altered. While there existed many hardware-aware OpenGL state machine debuggers, glsldevil provided the first feature-rich shader debugger. Many ideas from this research into hardware-aware shader debugging can be incorporated into the system. RenderMonkey [2] is a discontinued product from AMD offering OpenGL ES viewing window with full compatibility with shaders for mobile devices, one of the major features of the proposed system. While this system provides a powerful development system, its licensing and platform restrictions make it unusable in many circumstances.
3 Approach Given the level of related work on the field of computer graphics development, it was decided that starting a new project would be inefficient, with multiple open source projects already in existence. After considering numerous projects, I began extending the functionality of a Shader Maker [3], developed by members of the Computer Graphics lab at the Technical University of Clausthal, Germany. This program had already been adopted by members of the Magic Vision Lab, who expressed a number of issues with the limitations of the current implementation. In the first phase of development, I began improving the usability of the program with several small improvements which would be expected in most development environments. This was a relatively simple set of tasks, with minimal testing carried out to ensure the program ran as expected. The next goal was to have an emulated OpenGL ES surface within the Qt window which could load OpenGL ES shaders and run them as they would on an iphone. This functionality would provide the program with an advantage over similar development tools by streamlining the process of developing shaders for mobile devices on a desktop computer. Developers will be given the opportunity to make changes to shader programs more frequently, allowing them to experiment with various effects without consuming large amounts of time. At the Magic Vision Lab where effects must be believable by the user, this room to experiment is highly important. The next phase of development would provide the system with the ability to translate code between the two languages. The desired functionality would provide developers with an export tool which could provide equivalent code for an alternate platform with a single click. Taking a write-once approach to deployment across multiple platforms would again allow more time to innovate and optimise shader effects. The two languages have a similar syntax though there are a number of differences to consider, both syntactically and semantically. An intelligent parser and translation module would be required to ensure translated code performs in the same way as the original code. The system would then be supplemented with a ray-tracing visualiser, providing fast and accurate information of the path light takes through the scene. Demonstration The Shader Maker program runs on the Qt UI framework to provide portability across all major platforms. The initial interface was lacking in a number of areas which were addressed in the first phase of development.
4 Many interface issues of the system caused the development process to be slow and frustrating to users, providing only a small viewing window and offering little assistance for writing and debugging shaders. The system was improved and supplemented with new functionality to produce a more usable development experience. It now provided automatic compilation and linking of shaders, allowing developers to gain instant feedback of the effect of changes in their code, as well as assistance with program debugging. Using EGL [4] (a library used to provide OpenGL ES on the desktop), the system is fitted with a switching mechanism to change the view widget to render either of the two
5 platforms which developers are writing for. This major feature provides a productivity boost to developers working on multiple platforms. However, there is an issue with frame rates being reduced on most systems using the OpenGL ES emulation, which could be analysed in future work to deliver speeds equal to those from devices with native support. Discussion It is apparent that the proposed changes to the Shader Maker program have the potential to drastically improve the development process for software relying heavily on OpenGL shaders, especially across different platforms. Aside from the obvious benefits of the implemented usability changes, a developer could benefit from the OpenGL ES emulation mode to make fast changes to a shader program before deploying it on an iphone. With the original process, developers would write the shader on the desktop and test it on the device, moving between the platforms a number of times while attempting to achieve the desired result. That process can be discarded to allow developers to streamline cross-platform development by utilising the features of the new system. New System: Develop entirely on desktop, then deploy
6 Conclusion and Future Work The system described and demonstrated in this project has the potential to save development time for anybody working on cross-platform graphics applications utilising the programmable shader pipeline. Developers will have more time for experimentation and creativity by removing the need to manually rewrite large amounts of code for another target platform. This ability to test a larger number of effects will be an important feature for augmented reality researchers seeking to create the most immersive effects possible, to ensure demonstrations provide a believable experience to users. Future work will include completion of new features proposed, including an export function to provide equivalent ESSL code from an input GLSL file or vice versa. An existing toolkit for visualising ray tracing within an OpenGL scene will also be integrated to provide real-time analysis of lighting effects generated by a shader program. This extension will provide an important level of feedback to the developer and will promote a deeper understanding of ray-tracing computations and ensure program correctness. (Gribble et al. 2012) Creating the exporter program would require extensive research into the grammar of the two languages, and the functions available to each. From this work, an algorithm would be devised to parse a GLSL program, locate any GLSL code which would be invalid ESSL syntax, then convert it to equivalent ESSL. This poses a number of problems: 1. Several built-in data types in the GL shading language are not available in the ES shading language. These would have to be replaced with code with equivalent semantic meaning. 2. Type qualifiers between the two languages have several differences, such as the declaration of type precision in ESSL, as shown in the grammar excerpt [6] below. declaration: function_prototype SEMICOLON init_declarator_list SEMICOLON PRECISION precision_qualifier type_specifier_no_prec SEMICOLON precision_qualifier: HIGH_PRECISION MEDIUM_PRECISION LOW_PRECISION
7 Much of this translation work has been solved in existing projects, especially ANGLE [5] which provides translation between several high-level shading languages, including GLSL and ESSL. The functionality from this project could be incorporated into the shader authoring environment to provide the ability to easily translate between languages. References C. Gribble, J. Fisher, D. Eby, E. Quigley, G. Ludwig, Ray Tracing Visualization Toolkit. In ACM SIGGRAPH Symposium on Interactive 3D Graphics, M. Strengert, T. Klein, T. Ertl, A Hardware-Aware Debugger for the OpenGL Shading Language. In ACM SIGGRAPH/Eurographics Workshop on Graphics Hardware 2007 [1] OpenGL Pipeline - [2] RenderMonkey - [3] ShaderMaker - [4] OpenGL ES 2.0 Emulator - [5] Almost Native Graphics Layer Engine - [6] OpenGL ES 2.0 Specification -
The Ultimate Developers Toolkit. Jonathan Zarge Dan Ginsburg
The Ultimate Developers Toolkit Jonathan Zarge Dan Ginsburg February 20, 2008 Agenda GPU PerfStudio GPU ShaderAnalyzer RenderMonkey Additional Tools Tootle GPU MeshMapper CubeMapGen The Compressonator
More informationReal - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský
Real - Time Rendering Graphics pipeline Michal Červeňanský Juraj Starinský Overview History of Graphics HW Rendering pipeline Shaders Debugging 2 History of Graphics HW First generation Second generation
More informationCopyright Khronos Group Page 1
Gaming Market Briefing Overview of APIs GDC March 2016 Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem ntrevett@nvidia.com @neilt3d Copyright Khronos Group 2016 - Page 1 Copyright
More informationMali Developer Resources. Kevin Ho ARM Taiwan FAE
Mali Developer Resources Kevin Ho ARM Taiwan FAE ARM Mali Developer Tools Software Development SDKs for OpenGL ES & OpenCL OpenGL ES Emulators Shader Development Studio Shader Library Asset Creation Texture
More informationPress Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1
Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem Copyright Khronos Group 2015 - Page 1 Khronos Connects Software to Silicon Open Consortium creating ROYALTY-FREE,
More informationUsing the PowerVR SDK to Optimize your Renderer
Using the PowerVR SDK to Optimize your Renderer March, 2013 www.imgtec.com Imagination Technologies p1 First, an Introduction www.imgtec.com Imagination Technologies p2 Who are we? Who? Joe Davis, Developer
More informationMobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair
OpenGL ES in the Mobile Graphics Ecosystem Tom Olson OpenGL ES working group chair Director, Graphics Research, ARM Ltd 1 Outline Why Mobile Graphics? OpenGL ES Overview Getting Started with OpenGL ES
More informationLecture 13: OpenGL Shading Language (GLSL)
Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 18, 2018 1/56 Motivation } Last week, we discussed the many of the new tricks in Graphics require low-level access to the Graphics
More informationProfiling and Debugging Games on Mobile Platforms
Profiling and Debugging Games on Mobile Platforms Lorenzo Dal Col Senior Software Engineer, Graphics Tools Gamelab 2013, Barcelona 26 th June 2013 Agenda Introduction to Performance Analysis with ARM DS-5
More informationIntroduction to Shaders.
Introduction to Shaders Marco Benvegnù hiforce@gmx.it www.benve.org Summer 2005 Overview Rendering pipeline Shaders concepts Shading Languages Shading Tools Effects showcase Setup of a Shader in OpenGL
More informationCopyright Khronos Group Page 1. Vulkan Overview. June 2015
Copyright Khronos Group 2015 - Page 1 Vulkan Overview June 2015 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon Open Consortium creating OPEN STANDARD APIs for hardware acceleration
More informationOpenGL on Android. Lecture 7. Android and Low-level Optimizations Summer School. 27 July 2015
OpenGL on Android Lecture 7 Android and Low-level Optimizations Summer School 27 July 2015 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this
More informationOpenGL ES 2.0 : Start Developing Now. Dan Ginsburg Advanced Micro Devices, Inc.
OpenGL ES 2.0 : Start Developing Now Dan Ginsburg Advanced Micro Devices, Inc. Agenda OpenGL ES 2.0 Brief Overview Tools OpenGL ES 2.0 Emulator RenderMonkey w/ OES 2.0 Support OpenGL ES 2.0 3D Engine Case
More informationGraphics Programming. Computer Graphics, VT 2016 Lecture 2, Chapter 2. Fredrik Nysjö Centre for Image analysis Uppsala University
Graphics Programming Computer Graphics, VT 2016 Lecture 2, Chapter 2 Fredrik Nysjö Centre for Image analysis Uppsala University Graphics programming Typically deals with How to define a 3D scene with a
More informationLecture 2. Shaders, GLSL and GPGPU
Lecture 2 Shaders, GLSL and GPGPU Is it interesting to do GPU computing with graphics APIs today? Lecture overview Why care about shaders for computing? Shaders for graphics GLSL Computing with shaders
More informationCS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012
CS450/550 Pipeline Architecture Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012 0 Objectives Learn the basic components of a graphics system Introduce the OpenGL pipeline
More informationBy: Tyler Spears Mentor: Dr. Bijaya Karki. Visualizing Time- Dependent Atomic Data in OpenGL
By: Tyler Spears Mentor: Dr. Bijaya Karki Visualizing Time- Dependent Atomic Data in OpenGL Computer Visualization and OpenGL 1 Scientific Visualization Scientific visualization is the field of representing
More informationOpenGL BOF Siggraph 2011
OpenGL BOF Siggraph 2011 OpenGL BOF Agenda OpenGL 4 update Barthold Lichtenbelt, NVIDIA OpenGL Shading Language Hints/Kinks Bill Licea-Kane, AMD Ecosystem update Jon Leech, Khronos Viewperf 12, a new beginning
More informationGPU Quality and Application Portability
GPU Quality and Application Portability Kalle Raita Senior Software Architect, drawelements Copyright Khronos Group, 2010 - Page 1 drawelements Ltd. drawelements Based in Helsinki, Finland Founded in 2008
More informationNVIDIA FX Composer. Developer Presentation June 2004
NVIDIA FX Composer Developer Presentation June 2004 1 NVIDIA FX Composer FX Composer empowers developers to create high performance shaders in an integrated development environment with real-time preview
More informationPress Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1
Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem Copyright Khronos Group 2015 - Page 1 Khronos Connects Software to Silicon Open Consortium creating ROYALTY-FREE,
More informationIntroduction. What s New in This Edition
Introduction Welcome to the fourth edition of the OpenGL SuperBible. For more than ten years, we have striven to provide the world s best introduction to not only OpenGL, but 3D graphics programming in
More informationComputer graphics 2: Graduate seminar in computational aesthetics
Computer graphics 2: Graduate seminar in computational aesthetics Angus Forbes evl.uic.edu/creativecoding/cs526 Homework 2 RJ ongoing... - Follow the suggestions in the Research Journal handout and find
More informationTools To Get Great Graphics Performance
PowerVR SDK Overview Tools To Get Great Graphics Performance August 2012 www.imgtec.com Imagination Technologies PowerVR Graphics The Embedded Graphics IP Experts Imagination Technologies - multi-media
More informationHands-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 informationProgrammable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes
Last Time? Programmable GPUS Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes frame buffer depth buffer stencil buffer Stencil Buffer Homework 4 Reading for Create some geometry "Rendering
More informationMobile graphics API Overview
Mobile graphics API Overview Michael Doggett Department of Computer Science Lund University 2009 Michael Doggett and Tomas Akenine-Möller 1 Register Please check to see if your name is on the list, if
More informationProgramming Guide. Aaftab Munshi Dan Ginsburg Dave Shreiner. TT r^addison-wesley
OpenGUES 2.0 Programming Guide Aaftab Munshi Dan Ginsburg Dave Shreiner TT r^addison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid
More informationMXwendler Fragment Shader Development Reference Version 1.0
MXwendler Fragment Shader Development Reference Version 1.0 This document describes the MXwendler fragmentshader interface. You will learn how to write shaders using the GLSL language standards and the
More informationShading Languages. Ari Silvennoinen Apri 12, 2004
Shading Languages Ari Silvennoinen Apri 12, 2004 Introduction The recent trend in graphics hardware has been to replace fixed functionality in vertex and fragment processing with programmability [1], [2],
More informationGraphics Hardware. Instructor Stephen J. Guy
Instructor Stephen J. Guy Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability! Programming Examples Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability!
More informationAPI Background. Prof. George Wolberg Dept. of Computer Science City College of New York
API Background Prof. George Wolberg Dept. of Computer Science City College of New York Objectives Graphics API history OpenGL API OpenGL function format Immediate Mode vs Retained Mode Examples The Programmer
More informationNext Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1
Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Ecosystem @neilt3d Copyright Khronos Group 2015 - Page 1 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon
More informationX. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1
X. GPU Programming 320491: Advanced Graphics - Chapter X 1 X.1 GPU Architecture 320491: Advanced Graphics - Chapter X 2 GPU Graphics Processing Unit Parallelized SIMD Architecture 112 processing cores
More informationShaders CSCI 4239/5239 Advanced Computer Graphics Spring 2014
Shaders CSCI 4239/5239 Advanced Computer Graphics Spring 2014 What is a Shader? Wikipedia: A shader is a computer program used in 3D computer graphics to determine the final surface properties of an object
More informationGLSL Overview: Creating a Program
1. Create the OpenGL application GLSL Overview: Creating a Program Primarily concerned with drawing Preferred approach uses buffer objects All drawing done in terms of vertex arrays Programming style differs
More information3D on the Web Why We Need Declarative 3D Arguments for an W3C Incubator Group
3D on the Web Why We Need Declarative 3D Arguments for an W3C Incubator Group Philipp Slusallek Johannes Behr Kristian Sons German Research Center for Artificial Intelligence (DFKI) Intel Visual Computing
More informationframe buffer depth buffer stencil buffer
Final Project Proposals Programmable GPUS You should all have received an email with feedback Just about everyone was told: Test cases weren t detailed enough Project was possibly too big Motivation could
More informationOpenGL Based Testing Tool Architecture for Exascale Computing
OpenGL Based Testing Tool Architecture for Exascale Computing Muhammad Usman Ashraf Faculty of Information and Computer Technology Department of Computer Science King Abdulaziz University Jeddah, 21577,
More informationBCA611 Video Oyunları için 3B Grafik
BCA611 Video Oyunları için 3B Grafik WebGL - Shader Programming Zümra Kavafoğlu Canvas element The HTML element is used to draw graphics on a web page. Create canvas with id, width and height
More informationDave Shreiner, ARM March 2009
4 th Annual Dave Shreiner, ARM March 2009 Copyright Khronos Group, 2009 - Page 1 Motivation - What s OpenGL ES, and what can it do for me? Overview - Lingo decoder - Overview of the OpenGL ES Pipeline
More informationPowerVR SDK & Tools. February 2017
PowerVR SDK & Tools February 2017 www.imgtec.com PowerVR SDK Features PowerVR Framework Cross-platform programming kit Supports PowerVR assets Source code provided Allows easy porting of native graphics
More informationCoding OpenGL ES 3.0 for Better Graphics Quality
Coding OpenGL ES 3.0 for Better Graphics Quality Part 2 Hugo Osornio Rick Tewell A P R 1 1 t h 2 0 1 4 TM External Use Agenda Exercise 1: Array Structure vs Vertex Buffer Objects vs Vertex Array Objects
More informationProgrammable Graphics Hardware
Programmable Graphics Hardware Outline 2/ 49 A brief Introduction into Programmable Graphics Hardware Hardware Graphics Pipeline Shading Languages Tools GPGPU Resources Hardware Graphics Pipeline 3/ 49
More informationWebGL Meetup GDC Copyright Khronos Group, Page 1
WebGL Meetup GDC 2012 Copyright Khronos Group, 2012 - Page 1 Copyright Khronos Group, 2012 - Page 2 Khronos API Ecosystem Trends Neil Trevett Vice President Mobile Content, NVIDIA President, The Khronos
More informationShaders CSCI 4229/5229 Computer Graphics Fall 2017
Shaders CSCI 4229/5229 Computer Graphics Fall 2017 What is a Shader? A shader is a computer program that runs on the GPU to calculate the properties of vertexes, pixels and other graphical processing Examples:
More informationProspects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V
Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V 2015/04/14 - Christophe Riccio, OpenGL Democratizing games development Monument Valley by
More informationAR Standards Update Austin, March 2012
AR Standards Update Austin, March 2012 Neil Trevett President, The Khronos Group Vice President Mobile Content, NVIDIA Copyright Khronos Group, 2012 - Page 1 Topics Very brief overview of Khronos Update
More informationAchieving High-performance Graphics on Mobile With the Vulkan API
Achieving High-performance Graphics on Mobile With the Vulkan API Marius Bjørge Graphics Research Engineer GDC 2016 Agenda Overview Command Buffers Synchronization Memory Shaders and Pipelines Descriptor
More informationRay Casting of Trimmed NURBS Surfaces on the GPU
Ray Casting of Trimmed NURBS Surfaces on the GPU Hans-Friedrich Pabst Jan P. Springer André Schollmeyer Robert Lenhardt Christian Lessig Bernd Fröhlich Bauhaus University Weimar Faculty of Media Virtual
More informationEnhancing Traditional Rasterization Graphics with Ray Tracing. October 2015
Enhancing Traditional Rasterization Graphics with Ray Tracing October 2015 James Rumble Developer Technology Engineer, PowerVR Graphics Overview Ray Tracing Fundamentals PowerVR Ray Tracing Pipeline Using
More informationBringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse
Bringing it all together: The challenge in delivering a complete graphics system architecture Chris Porthouse System Integration & the role of standards Content Ecosystem Java Execution Environment Native
More informationMobile Performance Tools and GPU Performance Tuning. Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools
Mobile Performance Tools and GPU Performance Tuning Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools NVIDIA GoForce5500 Overview World-class 3D HW Geometry pipeline 16/32bpp
More informationGrafica Computazionale: Lezione 30. Grafica Computazionale. Hiding complexity... ;) Introduction to OpenGL. lezione30 Introduction to OpenGL
Grafica Computazionale: Lezione 30 Grafica Computazionale lezione30 Introduction to OpenGL Informatica e Automazione, "Roma Tre" May 20, 2010 OpenGL Shading Language Introduction to OpenGL OpenGL (Open
More informationCopyright Khronos Group, Page Graphic Remedy. All Rights Reserved
Avi Shapira Graphic Remedy Copyright Khronos Group, 2009 - Page 1 2004 2009 Graphic Remedy. All Rights Reserved Debugging and profiling 3D applications are both hard and time consuming tasks Companies
More informationBringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games
Bringing AAA graphics to mobile platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Platform team at Epic Games Unreal Engine 15 years in the industry 30 years of programming
More informationEE 4702 GPU Programming
fr 1 Final Exam Review When / Where EE 4702 GPU Programming fr 1 Tuesday, 4 December 2018, 12:30-14:30 (12:30 PM - 2:30 PM) CST Room 226 Tureaud Hall (Here) Conditions Closed Book, Closed Notes Bring one
More informationUnderstanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead
Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics Sean Ellis Consultant Graphics Engineer ARM, Maidenhead Introduction M3G 1.x Recap ARM M3G Integration M3G 2.0 Update
More informationCS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1 Markus Hadwiger, KAUST Reading Assignment #4 (until Feb. 23) Read (required): Programming Massively Parallel Processors book, Chapter
More informationPowerVR: Getting Great Graphics Performance with the PowerVR Insider SDK. PowerVR Developer Technology
PowerVR: Getting Great Graphics Performance with the PowerVR Insider SDK PowerVR Developer Technology Company Overview Leading silicon, software & cloud IP supplier Graphics, video, comms, processor, cloud
More informationNeural Network Exchange Format
Copyright Khronos Group 2017 - Page 1 Neural Network Exchange Format Deploying Trained Networks to Inference Engines Viktor Gyenes, specification editor Copyright Khronos Group 2017 - Page 2 Outlook The
More informationCS 380 Introduction to Computer Graphics. LAB (1) : OpenGL Tutorial Reference : Foundations of 3D Computer Graphics, Steven J.
CS 380 Introduction to Computer Graphics LAB (1) : OpenGL Tutorial 2018. 03. 05 Reference : Foundations of 3D Computer Graphics, Steven J. Gortler Goals Understand OpenGL pipeline Practice basic OpenGL
More informationWhite Paper: Delivering Enterprise Web Applications on the Curl Platform
White Paper: Delivering Enterprise Web Applications on the Curl Platform Table of Contents Table of Contents Executive Summary... 1 Introduction... 2 Background... 2 Challenges... 2 The Curl Solution...
More informationVersion 2.0. Complete lighting, shading, and rendering toolkit for artists
Version 2.0 Complete lighting, shading, and rendering toolkit for artists ARTWORKFLOW V-Ray started as a simple thought to develop the tools artists need to visualize and communicate their ideas. Today
More informationQt a Framework for the Multi-Screen World
Qt a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company 1 Who am I? Nils Christian Roscher-Nielsen 6 years with Qt (Trolltech) Nokia Digia The Qt Company Norwegian University
More informationGPU Offline Shader Compiler. Mali. User Guide. Version: 2.2. Copyright 2009 ARM. All rights reserved. ARM DUI 0513A (ID101409)
Mali GPU Offline Shader Compiler Version: 2.2 User Guide Copyright 2009 ARM. All rights reserved. ARM DUI 0513A () Mali GPU Offline Shader Compiler User Guide Copyright 2009 ARM. All rights reserved. Release
More informationWhat do Compilers Produce?
What do Compilers Produce? Pure Machine Code Compilers may generate code for a particular machine, not assuming any operating system or library routines. This is pure code because it includes nothing beyond
More informationFunctional Programming of Geometry Shaders
Functional Programming of Geometry Shaders Jiří Havel Faculty of Information Technology Brno University of Technology ihavel@fit.vutbr.cz ABSTRACT This paper focuses on graphical shader programming, which
More informationOpen Standards for Vision and AI Peter McGuinness NNEF WG Chair CEO, Highwai, Inc May 2018
Copyright Khronos Group 2018 - Page 1 Open Standards for Vision and AI Peter McGuinness NNEF WG Chair CEO, Highwai, Inc peter.mcguinness@gobrach.com May 2018 Khronos Mission E.g. OpenGL ES provides 3D
More informationPERFORMANCE OPTIMIZATIONS FOR AUTOMOTIVE SOFTWARE
April 4-7, 2016 Silicon Valley PERFORMANCE OPTIMIZATIONS FOR AUTOMOTIVE SOFTWARE Pradeep Chandrahasshenoy, Automotive Solutions Architect, NVIDIA Stefan Schoenefeld, ProViz DevTech, NVIDIA 4 th April 2016
More informationCSE 167: Lecture #17: Procedural Modeling. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011
CSE 167: Introduction to Computer Graphics Lecture #17: Procedural Modeling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Important dates: Final project outline
More informationSIGGRAPH Briefing August 2014
Copyright Khronos Group 2014 - Page 1 SIGGRAPH Briefing August 2014 Neil Trevett VP Mobile Ecosystem, NVIDIA President, Khronos Copyright Khronos Group 2014 - Page 2 Significant Khronos API Ecosystem Advances
More informationEnabling the Next Generation of Computational Graphics with NVIDIA Nsight Visual Studio Edition. Jeff Kiel Director, Graphics Developer Tools
Enabling the Next Generation of Computational Graphics with NVIDIA Nsight Visual Studio Edition Jeff Kiel Director, Graphics Developer Tools Computational Graphics Enabled Problem: Complexity of Computation
More informationProfiling and Debugging OpenCL Applications with ARM Development Tools. October 2014
Profiling and Debugging OpenCL Applications with ARM Development Tools October 2014 1 Agenda 1. Introduction to GPU Compute 2. ARM Development Solutions 3. Mali GPU Architecture 4. Using ARM DS-5 Streamline
More informationMassively Parallel Non- Convex Optimization on the GPU Through the Graphics Pipeline
Massively Parallel Non- Convex Optimization on the GPU Through the Graphics Pipeline By Peter Cottle Department of Mechanical Engineering, 6195 Etcheverry Hall, University of California, Berkeley, CA 94720-1740,
More information2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT
COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system
More informationMIX RENDERINGS TO FOCUS PLAYER'S ATTENTION
MIX RENDERINGS TO FOCUS PLAYER'S ATTENTION Vincent Boyer, Jordane Suarez Kamel Haddad L.I.A.S.D. Université Paris 8, 2 rue de la libérté 93526 Saint-Denis, France E-mail: boyer@ai.univ-paris8.fr [dex,
More informationTEAPOT: A Toolset for Evaluating Performance, Power and Image Quality on Mobile Graphics Systems
International Conference on Supercomputing June 2013 TEAPOT: A Toolset for Evaluating Performance, Power and Image Quality on Mobile Graphics Systems Joan-Manuel Parcerisa Polychronis Xekalakis Computer
More informationOUTLINE. 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 informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
More informationLecture 5 Vertex and Fragment Shaders-1. CITS3003 Graphics & Animation
Lecture 5 Vertex and Fragment Shaders-1 CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives The rendering pipeline and the shaders Data
More informationDeveloper Tools. Robert Strzodka. caesar research center Bonn, Germany
Developer Tools Bonn, Germany Choices in GPU Programming Application e.g. in C/C++, Java, Fortran, Perl Window manager e.g. GLUT, Qt, Win32, Motif Operating Graphics system hardware e.g. e.g. Windows,
More informationRendering 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 informationUsing the NEMA SHADER-Edit
Using the NEMA SHADER-Edit A Comprehensive Overview Version 1.1 February 8, 2018 History Version Date Description 1.1 07-2-2018 NemaP mode included 1.0 10-5-2017 Initial Version v1.1 External Confidential
More informationChapter 7 - Light, Materials, Appearance
Chapter 7 - Light, Materials, Appearance Types of light in nature and in CG Shadows Using lights in CG Illumination models Textures and maps Procedural surface descriptions Literature: E. Angel/D. Shreiner,
More informationPowerVR Performance Recommendations. The Golden Rules
PowerVR Performance Recommendations Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind. Redistribution
More informationDynamic Code Generation for Realtime Shaders
Dynamic Code Generation for Realtime Shaders Niklas Folkegård Högskolan i Gävle Daniel Wesslén Högskolan i Gävle Figure 1: Tori shaded with output from the Shader Combiner system in Maya Abstract Programming
More informationRasterization-based pipeline
Rasterization-based pipeline Interactive Graphics: Color and Images 10/2/2014 Pagina 1 Rasterization-based rendering Input: set of vertices and its associated attributes Algorithm goes through several
More informationprintf Debugging Examples
Programming Soap Box Developer Tools Tim Purcell NVIDIA Successful programming systems require at least three tools High level language compiler Cg, HLSL, GLSL, RTSL, Brook Debugger Profiler Debugging
More informationProgramming shaders & GPUs Christian Miller CS Fall 2011
Programming shaders & GPUs Christian Miller CS 354 - Fall 2011 Fixed-function vs. programmable Up until 2001, graphics cards implemented the whole pipeline for you Fixed functionality but configurable
More informationCS427 Multicore Architecture and Parallel Computing
CS427 Multicore Architecture and Parallel Computing Lecture 6 GPU Architecture Li Jiang 2014/10/9 1 GPU Scaling A quiet revolution and potential build-up Calculation: 936 GFLOPS vs. 102 GFLOPS Memory Bandwidth:
More informationOPENGL AND GLSL. Computer Graphics
OPENGL AND GLSL Computer Graphics 1 OUTLINE I. Detecting GLSL Errors II. Drawing a (gasp) Triangle! III. (Simple) Animation 2 Interactive Computer Graphics, http://www.mechapen.com/projects.html WHAT IS
More informationImplementing and Maintaining Microsoft SQL Server 2008 Integration Services
Course 6235A: Implementing and Maintaining Microsoft SQL Server 2008 Integration Services Course Details Course Outline Module 1: Introduction to SQL Server 2008 Integration Services The students will
More informationStating the obvious, people and computers do not speak the same language.
3.4 SYSTEM SOFTWARE 3.4.3 TRANSLATION SOFTWARE INTRODUCTION Stating the obvious, people and computers do not speak the same language. People have to write programs in order to instruct a computer what
More informationGPGPU on Mobile Devices
GPGPU on Mobile Devices Introduction Addressing GPGPU for very mobile devices Tablets Smartphones Introduction Why dedicated GPUs in mobile devices? Gaming Physics simulation for realistic effects 3D-GUI
More informationS 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 informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationOpenAccess PCells Ed Petrus VP Engineering V2
OpenAccess PCells Ed Petrus VP Engineering V2 April 2005 Page 1 Copyright 2005 CiraNova, Inc. What is CiraNova about? 4 CiraNova enables analog designers to create migratable, re-usable analog objects
More informationCOMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.
COMP 4801 Final Year Project Ray Tracing for Computer Graphics Final Project Report FYP 15014 by Runjing Liu Advised by Dr. L.Y. Wei 1 Abstract The goal of this project was to use ray tracing in a rendering
More informationPersistent Background Effects for Realtime Applications Greg Lane, April 2009
Persistent Background Effects for Realtime Applications Greg Lane, April 2009 0. Abstract This paper outlines the general use of the GPU interface defined in shader languages, for the design of large-scale
More information