Freescale Title of Presentation Second Line Optional

Total Page:16

File Type:pdf, Size:1020Kb

Freescale Title of Presentation Second Line Optional Embedded Graphics with Freescale Devices AMF-AUT-T0697 Francisco Sandoval | Automotive FAE S E P T . 2 0 1 4 TM External Use Agenda • Graphics in Freescale Devices • Graphics Cores and APIs • Run-time vs Pre-rendered content • 3D Programming − Concepts − Pipeline − Shader Programs • Q&A TM External Use 1 Freescale Devices • i.MX6x – Most of them have 2D and 3D capabilities − DQ – GC2000, GC355, GC320 − DL, S – GC880, GC320 − SL – GC355 − SLX - GC400T • Spectrum – PowerPC core, has DCU • Rainbow – PowerPC core, has DCU and z160 • Vybrid, Halo – ARM core, has GC355, 2D-ACE TM External Use 3 Graphics cores GC2000 GC320 VPU GC880 Z430 2D-ACE VIU GC355 Z160 IPU* etc GC255 GCxxx cores are Vivante’s IP, newer Video input encoding Zxxx cores are AMD’s, older decoding 2D-ACE (DCUx), IPU are Freescale’s *ipu CSI Content creation Composition 2D/3D Real time rendering Memory manipulation TM External Use 4 Graphics APIs GC2000 OpenGL ES 1.1 GC880 OpenGL ES 2.0 Z430 OpenGL ES 3.0 3D GC355 OpenVG 1.1 Z160 2D/Vector GC320 DirectFB IPU 2D-ACE gfxlibs 2D-ACE/DCUx Composition TM External Use 5 GPU vs Sprites • GPU generates content at run-time • Sprites are pre-generated, stored in memory • Hard to compare performance-wise, they are different • There is no “best”, they are useful for different scenarios TM External Use 6 2.5D? 3D-like? • 2D-ACE is very powerful, i.MX’s gpus are not by default better: − Locked framerate − Hardware layers − On the fly HUD warping (Halo) − Cheaper solution (memory requirements) − Can look as good, sometimes even better frame rate. Example: TM External Use 7 i.MX6 Linux graphics layers Layer/ Example IPU Frame buffer EGL Qt, DirectFB OGLES/OVG glClear(); Engine Unity3D, EBGuide Application Fully 3D cluster TM External Use 8 Vybrid graphics layers Layer/ Example DCU Configure DCU Scheduler/RTOS MQX OVG/GFXLibs vgClear(); Altia Application 2D cluster, pre-rendered 3D effects TM External Use 9 Key concepts • OpenGL – Open Graphics Library • OpenGL ES – OpenGL for Embedded Systems • EGL – Embedded-systems Graphics Library • OpenCL – Open Computing Library • OpenVG – Open Vector Graphics-library • OpenCV – Open-source Computer Vision library. NOT Khronos • 2D-ACE – 2D Animation and Composition Engine (sexy for DCU) • DCU – Display Controller Unit • IPU – Image processing Unit • Wayland – computer display server protocol, like X • Weston – reference implementation of a Wayland compositor • Frame buffer – contiguous chunk of memory that stores a frame TM External Use 10 Different OpenGL flavours • OpenGL – Desktop • OpenGL ES 1.0, 1.1 (i.mx35, mpc5121, etc) − Fixed pipeline − Not compatible with 2.0 • OpenGL ES 2.0, 3.0 (i.mx5x, 6x) − Programmable pipeline (shader programs) − Compatible with 1.1 by a shader program TM External Use 11 3D Graphics Programming TM External Use 12 Objects in 3D programming • 3D objects are built from one or more series or “strips” of triangles 1 1 2 1 1 2 3 2 3 2 3 1 2 3 4 4 4 4 4 5 6 5 5 3 5 6 TM External Use 13 Objects in 3D programming • 3D models are made from a series of triangles and UV textures TM External Use 14 The Graphics Pipeline Sequence of steps that turns points in the computer-defined space to pixels in a display TM External Use 15 Fixed (1.0) Pipeline TM External Use 16 The OpenGL ES 2.0 Pipeline TM External Use 17 Graphics process TM External Use 18 How to place this in a 3D world? • Everything is referenced using three coordinate systems: . Global space . Model space . Camera space • The Matrix 1 0 0 0 0 1 0 0 0 0 1 0 [ x y z 1 ] TM External Use 19 The 3D world (Global space) • The 3D Cartesian coordinates that define the triangle vertices are multiplied by a matrix to move it from the object’s space to the “screen” space Camera System Projection Primitive TM External Use 20 Frustum TM External Use 21 Transformations (Modelview Matrix) 1 0 0 0 • 22 0 1 0 0 Translation 0 0 1 0 [ x y z 1 ] x 0 0 0 0 y 0 0 Scale 0 0 z 0 [ 0 0 0 1 ] cos a 0 sin a 0 Rotation (y) 0 1 0 0 [ -sin a 0 cos a 0 ] 0 0 0 1 TM External Use 22 Texture Mapping • If a texture (2D still image) is being applied to the surface, the interpolated texture coordinates are used to derive what color should be sampled from the texture. TM External Use 23 Texture Mapping • To every vertex in our mesh, a pair of 2D coordinates (UV) is assigned and pixels are interpolated UV Textures go from (0.0,0.0) to (1.0, 1.0) TM External Use 24 Text-tures • Render string to texture • PROS −Easiest method • CONS −Least flexible method −Texture space in memory −Not scalable (resolution) TM External Use 25 Text-tures • Create a sprite-based alphabet (1,1) • PROS −More efficient −Good for plain text • CONS −Complexity ++ −Check alignment, spacing, etc (0,0) TM External Use 26 Text-tures • Use library • PROS −Most flexible, robust −Easy to use • CONS −Most complex −Port engine to system −Third party SW TM External Use 27 OpenGL ES 1.x Lighting • Lighting is calculated at each vertex • Phong Lighting 3 components: − Ambient. Do not depend of the light source. − Diffuse. The light is evenly reflected in all direction (think flashlight). − Specular. The reflection is predominant in a given direction. The specular coefficient can be varied. • The light intensity can decrease according the distance (constant, linear or quadratic). TM External Use 28 OpenGL ES 1.x Lighting By combining all the lighting components, we can create very realistic real-time renders Ambient Only Ambient + Diffuse Ambient + Diffuse + Specular TM External Use 29 Shading Modes (ES 1.0) • A normal vector is perpendicular to an object (face, vertex) • You can use normal vectors to calculate the orientation of a surface relative to a light source TM External Use 30 Shading Modes (ES 2.0) Flat color, vertex Cartoony look position only Per pixel lighting Color information Moving the Textures vertices around TM External Use 31 Rasterization • After the 3 vertex coordinates are transformed into screen space, they are then bilinearly interpolated and aliased to ‘fragments’ • Other data associated with the vertices is also interpolated (colors, normals, texture coordinates, etc.) Rasterization Linear Color Interpolation TM External Use 32 Z-test • After interpolation, fragments have a ‘depth’ into the screen that is tested against the fragments that have already been rasterized. - If a fragment has already been produced that is “closer” to the screen, then the new value is not stored. - Otherwise, the new color value overwrites the old and the new depth is written to a “Depth Buffer” or “Z Buffer”. Final image Final z-buffer TM External Use 33 3D programming concepts • Resolution (hor x vert pixels being output by display) − Higher res = more detail. Prevents aliasing • Frame buffer (contiguous space in graphics memory − Raster – 2D rectangular grid of pixels − Refresh Rate, raster scan (row by row, top to bottom, left to right) − Double /triple buffer • Anti aliasing (jagged edges in straight lines) − Change color in pixels around edges so lines look smooth . MSAA – Multi Sample Anti Aliasing (selective on parts on screen) . FXAA – Fast Approximated AA (fastest, uses output resolution, so so qual) . TXAA – (MLAA) Temporal AA (like MSAA but takes in account previous frame) . Higher resolution (FSAA) TM External Use 34 3D programming concepts • Vsync − Screen tearing. Gfx card and display aren’t synced. FPS vs Refresh rate − Locks frame rate output of graphics card to display refresh rate TM External Use 35 3D programming concepts • Tessellation (Break polygon in smaller pieces to apply displacement maps, more depth info} − Bump/normal/parallax mapping − Displacement mapping TM External Use 36 3D programming concepts • Ambient Occlusion − Used to add soft shadows depending on surface exposure to ambient light − Cast rays from surface, if it touches the sky box brightness ++, otherwise no brightness. − Does not take direction into account! Hence can be pre-baked into static objects but looks wrong in dynamic objects − SSAO, HBAO, HDAO (crytek’s Screen Space samples depth of pixels, Horizon Based more samples per pixel half res, High Res AO AMD like HBAO) TM External Use 37 3D programming concepts • Field of View (FOV) − Observable angle, used when calculating the frustum TM External Use 38 3D programming concepts • Depth of Field (DOF) − Focus, near and far distance. Can be used to optimize by blurring low quality textures TM External Use 39 3D programming concepts • Bi-linear / Tri-linear / Anisotropic Filtering (AF) − Selective blurring, as things are farther apart. “non same direction filtering” TM External Use 40 3D programming concepts • Post-Processing effects (work on whole rendered frame instead of single objects) − Motion Blur − Bloom/HDR for lighting (more light when moving from dark to light) TM External Use 41 Shader Programs TM External Use 42 GLSL • GL Shading Language • Supported in OpenGL ES 2.0 • Lets you define specific parts of the graphics pipeline . Vertex shader . Fragment shader • C like language to write shaders • Shaders have to be written, compiled and linked TM External Use 43 GLSL overview • Data types • float float a,b; // two vectors • bool int c = 2; // c is initialized with 2 • Int bool d = true; // d is true • vec{2,3,4} vec3 direction; • bvec{2,3,4} bvec2 lightFlags; • ivec{2,3,4} ivec3 color; • mat{2,3,4} square matrices • sampler{1,2,3}D for textures • samplerCube for cube map textures • sampler{1D,2D}Shadow for shadow maps • arrays struct dirlight { // type definition • structs vec3 direction; vec3 color; }; TM External Use 44 GLSL overview • Variable qualifiers − const .
Recommended publications
  • GLSL 4.50 Spec
    The OpenGL® Shading Language Language Version: 4.50 Document Revision: 7 09-May-2017 Editor: John Kessenich, Google Version 1.1 Authors: John Kessenich, Dave Baldwin, Randi Rost Copyright (c) 2008-2017 The Khronos Group Inc. All Rights Reserved. This specification is protected by copyright laws and contains material proprietary to the Khronos Group, Inc. It or any components may not be reproduced, republished, distributed, transmitted, displayed, broadcast, or otherwise exploited in any manner without the express prior written permission of Khronos Group. You may use this specification for implementing the functionality therein, without altering or removing any trademark, copyright or other notice from the specification, but the receipt or possession of this specification does not convey any rights to reproduce, disclose, or distribute its contents, or to manufacture, use, or sell anything that it may describe, in whole or in part. Khronos Group grants express permission to any current Promoter, Contributor or Adopter member of Khronos to copy and redistribute UNMODIFIED versions of this specification in any fashion, provided that NO CHARGE is made for the specification and the latest available update of the specification for any version of the API is used whenever possible. Such distributed specification may be reformatted AS LONG AS the contents of the specification are not changed in any way. The specification may be incorporated into a product that is sold as long as such product includes significant independent work developed by the seller. A link to the current version of this specification on the Khronos Group website should be included whenever possible with specification distributions.
    [Show full text]
  • Computer Graphics on Mobile Devices
    Computer Graphics on Mobile Devices Bruno Tunjic∗ Vienna University of Technology Figure 1: Different mobile devices available on the market today. Image courtesy of ASU [ASU 2011]. Abstract 1 Introduction Computer graphics hardware acceleration and rendering techniques Under the term mobile device we understand any device designed have improved significantly in recent years. These improvements for use in mobile context [Marcial 2010]. In other words this term are particularly noticeable in mobile devices that are produced in is used for devices that are battery-powered and therefore physi- great amounts and developed by different manufacturers. New tech- cally movable. This group of devices includes mobile (cellular) nologies are constantly developed and this extends the capabilities phones, personal media players (PMP), personal navigation devices of such devices correspondingly. (PND), personal digital assistants (PDA), smartphones, tablet per- sonal computers, notebooks, digital cameras, hand-held game con- soles and mobile internet devices (MID). Figure 1 shows different In this paper, a review about the existing and new hardware and mobile devices available on the market today. Traditional mobile software, as well as a closer look into some of the most important phones are aimed at making and receiving telephone calls over a revolutionary technologies, is given. Special emphasis is given on radio link. PDAs are personal organizers that later evolved into de- new Application Programming Interfaces (API) and rendering tech- vices with advanced units communication, entertainment and wire- niques that were developed in recent years. A review of limitations less capabilities [Wiggins 2004]. Smartphones can be seen as a that developers have to overcome when bringing graphics to mobile next generation of PDAs since they incorporate all its features but devices is also provided.
    [Show full text]
  • Opengl ES / Openvg / Opencl / Webgl / Etc
    KNU-3DC : Education and Training Plan 24 July 2013 Hwanyong LEE, Ph.D. Principal Engineer & Industry Cooperation Prof., KNU 3DC [email protected] KNU-3DC Introduction • Kyungpook National Univ. 3D Convergence Technology Center . Korea Government Funded Org. 23 staffs (10 Ph.D) . Research / Supporting Industry . Training and Education • Training and Education . Dassault Training Center . KIKS(Korea Institute of Khronos Study) • Constructing New Center Building . HUGE ! 7 Floors ! (2014E) 2 KNU-3DC KIKS • KIKS(Korea Institute of Khronos Study) . Leading Role in Korea for Training and Education of Khronos Standard – Collaboration with Khronos Group . Open Lecture + Develop Coursework for • OpenGL / OpenGL ES / OpenVG / OpenCL / WebGL / etc. • Opening / Sponsoring Workshop and Forum . Participating Khronos Activities • Contributor Member (Plan, now Processing) • Active participation of Khronos WG . Other Standard Activities • Make Khronos Standard into Korea National Standard. (WebGL) • W3C, ISO/IEC JTC1, IEEE 3333.X . Research and Consulting for Industry and Academy 3 KIKS Course • KIKS Course will be categorized into . Basic / Advanced / Packaged . Special Course - For instance Overview / Optimization / Consulting • Developing Courseware (for Khronos API) . OpenGL ES Basic & Advanced . OpenGL Basic & Advanced . OpenVG . OpenCL Basic & Advanced . WebGL . Etc. – new standards (Red - Started / Orange – Start at 4Q2013 / Dark Blue – Start at 2014) 4 Different View of Courses University Computer Game Image Parallel View Graphics Develop Processing … Processing JavaScript Khronos Canvas View … iPhone Android Company Web-App Parallel App App Application Develop View Develop Develop … Develop Course Development – Packaging Example • Android Application with OpenGL ES . General Android API’s – JNI, Java etc. OpenGL ES • iPhone App. Development with OpenGL ES . General iPhone APP API – cocoa, Objective-C, etc.
    [Show full text]
  • 414 Advances in Opengl ES for Ios 5 V3 DD F
    Advances in OpenGL ES for iOS 5 Session 414 Gokhan Avkarogullari Eric Sunalp iPhone GPU Software These are confidential sessions—please refrain from streaming, blogging, or taking pictures 1 iPad 2 2 3 Per Pixel Lighting/ Normal Maps 4 LightMaps GlossMaps SpecularMaps 5 Dynamic Shadows 6 MSAA 7 Higher Poly Models 8 GLKit New Features 9 GLKit New Features 10 OpenGL ES 2.0 Molecules.app OpenGL ES 1.1 OpenGL ES 2.0 11 GLKit Goals • Making life easier for the developers ■ Find common problems ■ Make solutions available • Encourage unique look ■ Fixed-function pipeline games look similar ■ Shaders to rescue ■ How about porting 12 GLKit GLKTextureLoader GLKTextureLoader • Give a reference—get an OpenGL Texture Object • No need to deal ImageIO, CGImage, libjpg, libpng… 13 GLKit GLKView and GLKViewController GLKTextureLoader GLKView/ViewController • First-class citizen of UIKit hierarchy • Encapsulates FBOs, display links, MSAA management… 14 GLKit GLKMath GLKTextureLoader GLKView/ViewController GLKMath • 3D Graphics math library • Matrix stack, transforms, quaternions… 15 GLKit GLKEffects GLKTextureLoader GLKView/ViewController GLKMath GLKEffects • Fixed-function pipeline features implemented in ES 2.0 context 16 GLKTextureLoader 17 GLKTextureLoader Overview • Makes texture loading simple • Supports common image formats ■ PNG, JPEG, TIFF, etc. • Non-premultiplied data stays non-premultiplied • Cubemap texture support • Convenient loading options ■ Force premultiplication ■ Y-flip ■ Mipmap generation 18 GLKTextureLoader Basic usage • Make an EAGLContext
    [Show full text]
  • Openvg 1.1 API Quick Reference Card - Page 1
    OpenVG 1.1 API Quick Reference Card - Page 1 OpenVG® is an API for hardware-accelerated two-dimensional Errors [4.1] vector and raster graphics. It provides a device-independent Error codes and their numerical values are defined by the VGErrorCode enumeration and can be and vendor-neutral interface for sophisticated 2D graphical obtained with the function: VGErrorCode vgGetError(void). The possible values are as follows: applications, while allowing device manufacturers to provide VG_NO_ERROR 0 VG_UNSUPPORTED_IMAGE_FORMAT_ERROR 0x1004 hardware acceleration where appropriate. VG_BAD_HANDLE_ERROR 0x1000 VG_UNSUPPORTED_PATH_FORMAT_ERROR 0x1005 • [n.n.n] refers to sections and tables in the OpenVG 1.1 API VG_ILLEGAL_ARGUMENT_ERROR 0x1001 VG_IMAGE_IN_USE_ERROR 0x1006 specification available at www.khronos.org/openvg/ VG_OUT_OF_MEMORY_ERROR 0x1002 VG_NO_CONTEXT_ERROR 0x1007 • Default values are shown in blue. VG_PATH_CAPABILITY_ERROR 0x1003 Data Types & Number Representations Colors [3.4] The sRGB color space defines values R’sRGB, G’sRGB, B’sRGB in terms of the linear lRGB primaries. Primitive Data Types [3.2] Colors in OpenVG other than those stored in image pixels are represented as non-premultiplied sRGBA color values. openvg.h khronos_type.h range Convert from lRGB to sRGB Convert from sRGB to lRGB Image pixel color and alpha values lie in the range [0,1] (gamma mapping) (1) (inverse gamma mapping) (2) VGbyte khronos_int8_t [-128, 127] unless otherwise noted. -1 VGubyte khronos_uint8_t [0, 255] R’sRGB = γ(R) R = γ (R’sRGB) Color Space Definitions -1 The linear lRGB color space is defined in terms of the G’sRGB = γ(G) G = γ (G’sRGB) VGshort khronos_int16_t [-32768, 32767] -1 standard CIE XYZ color space, following ITU Rec.
    [Show full text]
  • Hardware Implementation of a Tessellation Accelerator for the Openvg Standard
    IEICE Electronics Express, Vol.7, No.6, 440–446 Hardware implementation of a tessellation accelerator for the OpenVG standard Seung Hun Kim, Yunho Oh, Karam Park, and Won Woo Roa) School of Electrical and Electronic Engineering, Yonsei University, 134 Shinchon-Dong, Seodaemun-Gu, SEOUL, 120–749, KOREA a) [email protected] Abstract: The OpenVG standard has been introduced as an efficient vector graphics API for embedded systems. There have been several OpenVG implementations that are based on the software rendering of image. However, the software rendering needs more execution time and power consumption than hardware accelerated rendering. For the effi- cient hardware implementation, we merge eight pipeline stages in the original specification to four pipeline stages. The first hardware accel- eration stage is the tessellation part which is one of the pipeline stages that calculates the edge of vector graphics. In this paper, we provide an efficient hardware design for the tessellation stage and claim this would eventually reduce the execution time and hardware complexity. Keywords: OpenVG, vector graphics, tessellation, hardware acceler- ator Classification: Electron devices, circuits, and systems References [1] K. Pulli, “New APIs for mobile graphics,” Proc. SPIE - The International Society for Optical Engineering, vol. 6074, pp. 1–13, 2006. [2] Khronos Group Inc., “OpenVG specification Version 1.0.1” [Online] http://www.khronos.org/openvg/ [3] S.-Y. Lee, S. Kim, J. Chung, and B.-U. Choi, “Salable Vector Graphics (OpenVG) for Creating Animation Image in Embedded Systems,” Lecture Notes in Computer Science, vol. 4693, pp. 99–108, 2007. [4] G. He, B. Bai, Z. Pan, and X.
    [Show full text]
  • Real-Time Computer Vision with Opencv Khanh Vo Duc, Mobile Vision Team, NVIDIA
    Real-time Computer Vision with OpenCV Khanh Vo Duc, Mobile Vision Team, NVIDIA Outline . What is OpenCV? . OpenCV Example – CPU vs. GPU with CUDA . OpenCV CUDA functions . Future of OpenCV . Summary OpenCV Introduction . Open source library for computer vision, image processing and machine learning . Permissible BSD license . Freely available (www.opencv.org) Portability . Real-time computer vision (x86 MMX/SSE, ARM NEON, CUDA) . C (11 years), now C++ (3 years since v2.0), Python and Java . Windows, OS X, Linux, Android and iOS 3 Functionality Desktop . x86 single-core (Intel started, now Itseez.com) - v2.4.5 >2500 functions (multiple algorithm options, data types) . CUDA GPU (Nvidia) - 250 functions (5x – 100x speed-up) http://docs.opencv.org/modules/gpu/doc/gpu.html . OpenCL GPU (3rd parties) - 100 functions (launch times ~7x slower than CUDA*) Mobile (Nvidia): . Android (not optimized) . Tegra – 50 functions NEON, GLSL, multi-core (1.6–32x speed-up) 4 Functionality Image/video I/O, processing, display (core, imgproc, highgui) Object/feature detection (objdetect, features2d, nonfree) Geometry-based monocular or stereo computer vision (calib3d, stitching, videostab) Computational photography (photo, video, superres) Machine learning & clustering (ml, flann) CUDA and OpenCL GPU acceleration (gpu, ocl) 5 Outline . What is OpenCV? . OpenCV Example – CPU vs. GPU with CUDA . OpenCV CUDA functions . Future of OpenCV . Summary OpenCV CPU example #include <opencv2/opencv.hpp> OpenCV header files using namespace cv; OpenCV C++ namespace int
    [Show full text]
  • Webgl: the Standard, the Practice and the Opportunity Web3d Conference August 2012
    WebGL: The Standard, the Practice and the Opportunity Web3D Conference August 2012 © Copyright Khronos Group 2012 | Page 1 Agenda and Speakers • 3D on the Web and the Khronos Ecosystem - Neil Trevett, NVIDIA and Khronos Group President • Hands On With WebGL - Ken Russell, Google and WebGL Working Group Chair © Copyright Khronos Group 2012 | Page 2 Khronos Connects Software to Silicon • Khronos APIs define processor acceleration capabilities - Graphics, video, audio, compute, vision and sensor processing APIs developed today define the functionality of platforms and devices tomorrow © Copyright Khronos Group 2012 | Page 3 APIs BY the Industry FOR the Industry • Khronos standards have strong industry momentum - 100s of man years invested by industry leading experts - Shipping on billions of devices and multiple operating systems • Khronos is OPEN for any company to join and participate - Standards are truly open – one company, one vote - Solid legal and Intellectual Property framework for industry cooperation - Khronos membership fees to cover expenses • Khronos APIs define core device acceleration functionality - Low-level “Foundation” functionality needed on every platform - Rigorous conformance tests for cross-vendor consistency • They are FREE - Members agree to not request royalties Silicon Software © Copyright Khronos Group 2012 | Page 4 Apple Over 100 members – any company worldwide is welcome to join Board of Promoters © Copyright Khronos Group 2012 | Page 5 API Standards Evolution WEB INTEROP, VISION MOBILE AND SENSORS DESKTOP OpenVL New API technology first evolves on high- Mobile is the new platform for Apps embrace mobility’s end platforms apps innovation. Mobile unique strengths and need Diverse platforms – mobile, TV, APIs unlock hardware and complex, interoperating APIs embedded – mean HTML5 will conserve battery life with rich sensory inputs become increasingly important e.g.
    [Show full text]
  • The Openvx™ Specification
    The OpenVX™ Specification Version 1.0.1 Document Revision: r31169 Generated on Wed May 13 2015 08:41:43 Khronos Vision Working Group Editor: Susheel Gautam Editor: Erik Rainey Copyright ©2014 The Khronos Group Inc. i Copyright ©2014 The Khronos Group Inc. All Rights Reserved. This specification is protected by copyright laws and contains material proprietary to the Khronos Group, Inc. It or any components may not be reproduced, republished, distributed, transmitted, displayed, broadcast or otherwise exploited in any manner without the express prior written permission of Khronos Group. You may use this specifica- tion for implementing the functionality therein, without altering or removing any trademark, copyright or other notice from the specification, but the receipt or possession of this specification does not convey any rights to reproduce, disclose, or distribute its contents, or to manufacture, use, or sell anything that it may describe, in whole or in part. Khronos Group grants express permission to any current Promoter, Contributor or Adopter member of Khronos to copy and redistribute UNMODIFIED versions of this specification in any fashion, provided that NO CHARGE is made for the specification and the latest available update of the specification for any version of the API is used whenever possible. Such distributed specification may be re-formatted AS LONG AS the contents of the specifi- cation are not changed in any way. The specification may be incorporated into a product that is sold as long as such product includes significant independent work developed by the seller. A link to the current version of this specification on the Khronos Group web-site should be included whenever possible with specification distributions.
    [Show full text]
  • Opengl SC 2.0?
    White Paper: Should You Be Using OpenGL SC 2.0? Introduction Ten years after the release of the first OpenGL® safety certifiable API specification the Khronos Group, the industry group responsible for graphics and video open standards, has released a new OpenGL safety certifiable specification, OpenGL SC 2.0. While both OpenGL SC 2.0 and the earlier safety critical OpenGL specification, OpenGL SC 1.0.1, provide high performance graphics interfaces for creating visualization and user interfaces, OpenGL SC 2.0 enables a higher degree of application capability with new levels of performance and control. This white paper will introduce OpenGL SC 2.0 by providing context in relationship to existing embedded OpenGL specifications, the differences compared to the earlier safety certifiable OpenGL specification, OpenGL SC 1.0.1 and an overview of new capabilities. Overview of OpenGL Specifications OpenGL Graphics Language (the GL in OpenGL) Application Programming Interfaces (API) is an open specification for developing 2D and 3D graphics software applications. There are three main profiles of the OpenGL specifications. OpenGL – desktop OpenGL ES – Embedded Systems OpenGL SC – Safety Critical From time to time the desktop OpenGL specification was updated to incorporate new extensions which are widely supported by Graphics Processing Unit (GPU) vendors reflecting new GPU capabilities. The embedded systems OpenGL specification branches from the desktop OpenGL specification less frequently and is tailored to embedded system needs. The safety critical OpenGL specification branches from the embedded systems OpenGL specifications and is further tailored for safety critical embedded systems. Figure 1 shows the high level relationship between the OpenGL specifications providing cross-platform APIs for full-function 2D and 3D graphics on embedded systems.
    [Show full text]
  • The Openvx™ Specification
    The OpenVX™ Specification Version 1.2 Document Revision: dba1aa3 Generated on Wed Oct 11 2017 20:00:10 Khronos Vision Working Group Editor: Stephen Ramm Copyright ©2016-2017 The Khronos Group Inc. i Copyright ©2016-2017 The Khronos Group Inc. All Rights Reserved. This specification is protected by copyright laws and contains material proprietary to the Khronos Group, Inc. It or any components may not be reproduced, republished, distributed, transmitted, displayed, broadcast or otherwise exploited in any manner without the express prior written permission of Khronos Group. You may use this specifica- tion for implementing the functionality therein, without altering or removing any trademark, copyright or other notice from the specification, but the receipt or possession of this specification does not convey any rights to reproduce, disclose, or distribute its contents, or to manufacture, use, or sell anything that it may describe, in whole or in part. Khronos Group grants express permission to any current Promoter, Contributor or Adopter member of Khronos to copy and redistribute UNMODIFIED versions of this specification in any fashion, provided that NO CHARGE is made for the specification and the latest available update of the specification for any version of the API is used whenever possible. Such distributed specification may be re-formatted AS LONG AS the contents of the specifi- cation are not changed in any way. The specification may be incorporated into a product that is sold as long as such product includes significant independent work developed by the seller. A link to the current version of this specification on the Khronos Group web-site should be included whenever possible with specification distributions.
    [Show full text]
  • Powervr Graphics - Latest Developments and Future Plans
    PowerVR Graphics - Latest Developments and Future Plans Latest Developments and Future Plans A brief introduction • Joe Davis • Lead Developer Support Engineer, PowerVR Graphics • With Imagination’s PowerVR Developer Technology team for ~6 years • PowerVR Developer Technology • SDK, tools, documentation and developer support/relations (e.g. this session ) facebook.com/imgtec @PowerVRInsider │ #idc15 2 Company overview About Imagination Multimedia, processors, communications and cloud IP Driving IP innovation with unrivalled portfolio . Recognised leader in graphics, GPU compute and video IP . #3 design IP company world-wide* Ensigma Communications PowerVR Processors Graphics & GPU Compute Processors SoC fabric PowerVR Video MIPS Processors General Processors PowerVR Vision Processors * source: Gartner facebook.com/imgtec @PowerVRInsider │ #idc15 4 About Imagination Our IP plus our partners’ know-how combine to drive and disrupt Smart WearablesGaming Security & VR/AR Advanced Automotive Wearables Retail eHealth Smart homes facebook.com/imgtec @PowerVRInsider │ #idc15 5 About Imagination Business model Licensees OEMs and ODMs Consumers facebook.com/imgtec @PowerVRInsider │ #idc15 6 About Imagination Our licensees and partners drive our business facebook.com/imgtec @PowerVRInsider │ #idc15 7 PowerVR Rogue Hardware PowerVR Rogue Recap . Tile-based deferred renderer . Building on technology proven over 5 previous generations . Formally announced at CES 2012 . USC - Universal Shading Cluster . New scalar SIMD shader core . General purpose compute is a first class citizen in the core … . … while not forgetting what makes a shader core great for graphics facebook.com/imgtec @PowerVRInsider │ #idc15 9 TBDR Tile-based . Tile-based . Split each render up into small tiles (32x32 for the most part) . Bin geometry after vertex shading into those tiles . Tile-based rasterisation and pixel shading .
    [Show full text]