
Qualcomm Technologies, Inc. Qualcomm® Adreno™ OpenGL ES Developer Guide 80-NU141-1 B May 1, 2015 FlexRender, Qualcomm Adreno and Qualcomm Snapdragon are products of Qualcomm Technologies, Inc. This technical data may be subject to U.S. and international export, re-export, or tansfer (“export”) laws. Diversion contrary to U.S. and international law is strictly prohibited. © 2014-2015 Qualcomm Technologies, Inc. and/or its affiliated companies. All rights reserved. Questions or comments: https://support.cdmatech.com/ The cover image is taken from the “Palazzo” demo developed by the Advanced Content Group at Qualcomm Technologies, Inc. The demo is running on a Qualcomm Snapdragon 810 using OpenGL ES 3.1. and depicts an immersive 3D environment, with near photo-realistic rendering including dynamic lighting, reflections, and hardware tessellated objects. Qualcomm, Adreno, Snapdragon, and FlexRender are trademarks of Qualcomm Incorporated, registered in the United States and other countries. All Qualcomm Incorporated trademarks are used with permission. Other product and brand names may be trademarks or registered trademarks of their respective owners. Qualcomm Technologies, Inc. 5775 Morehouse Drive San Diego, CA 92121 U.S.A. Revision history Revision Date Description A Dec 2014 Initial release B May 2015 Updated for Adreno 4xx to Chapter 1 and Chapter 3; added additional compression information to Section 9.3 80-NU141-1 B MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION 3 Contents 1 Overview ...............................................................................................................................10 1.1 Adreno GPU ............................................................................................................................................ 10 1.1.1 Texture features ..................................................................................................................... 11 1.1.2 Visibility processing ................................................................................................................ 14 1.1.3 Shader support ....................................................................................................................... 15 1.1.4 Other supported features ........................................................................................................ 17 1.1.5 Adreno APIs ........................................................................................................................... 18 1.2 OpenGL ES ............................................................................................................................................. 18 1.2.1 Open GL ES versions ............................................................................................................. 18 1.3 About Android .......................................................................................................................................... 19 1.3.1 OpenGL ES support on Android ............................................................................................. 19 1.3.2 Android and OpenGL ES on Adreno ...................................................................................... 19 2 OpenGL ES 2.0 with Adreno ................................................................................................20 2.1 Development environment ....................................................................................................................... 20 2.1.1 Development system .............................................................................................................. 20 2.1.2 Target system ......................................................................................................................... 21 2.2 Setup instructions .................................................................................................................................... 22 2.2.1 Android development on Windows ......................................................................................... 22 2.3 Walkthrough of sample applications ........................................................................................................ 24 2.3.1 Create an ES 2.0 context on Android ..................................................................................... 24 2.3.2 Adreno GPU detection ............................................................................................................ 27 2.3.3 Detect supported ES extensions ............................................................................................ 28 2.3.4 Implementation of Blinn-Phong lighting .................................................................................. 29 2.3.5 Retrieving ES constant values ................................................................................................ 35 2.4 About the OpenGL ES implementation .................................................................................................... 37 2.5 Debug and profile..................................................................................................................................... 38 2.5.1 Debug an OpenGL ES application .......................................................................................... 39 2.5.2 Profile an OpenGL ES application .......................................................................................... 43 3 Using OpenGL ES 3.0 with Adreno .....................................................................................44 3.1 New features in OpenGL ES 3.0 .............................................................................................................. 44 3.1.1 Two-dimensional array textures .............................................................................................. 44 3.1.2 Three-dimensional textures .................................................................................................... 46 3.1.3 Immutable textures ................................................................................................................. 47 3.1.4 Per-texture object LoD clamp ................................................................................................. 48 3.1.5 PCF for depth textures............................................................................................................ 49 3.1.6 New internal texture formats ................................................................................................... 50 3.1.7 Transform feedback ................................................................................................................ 52 3.1.8 Instanced draw calls ............................................................................................................... 53 3.1.9 Query objects ......................................................................................................................... 54 3.1.10 New vertex data types .......................................................................................................... 55 3.1.11 Vertex array objects .............................................................................................................. 55 3.1.12 Uniform buffer objects........................................................................................................... 56 3.1.13 Buffer subrange mapping ..................................................................................................... 57 3.1.14 Multiple render target support ............................................................................................... 57 3.1.15 Other new features ............................................................................................................... 58 3.2 Using key features ................................................................................................................................... 59 3.2.1 Using 2D array textures .......................................................................................................... 59 80-NU141-1 B MAY CONTAIN U.S. AND INTERNATIONAL EXPORT CONTROLLED INFORMATION 4 Qualcomm® Adreno™ OpenGL ES Developer Guide Contents 3.2.2 Using multiple render targets .................................................................................................. 61 3.2.3 Using query objects ................................................................................................................ 62 3.2.4 Using vertex array objects ...................................................................................................... 63 3.3 Walkthrough of sample applications ........................................................................................................ 64 3.3.1 2D array textures – Demo....................................................................................................... 64 3.3.2 Rendering to 2D array textures – Demo ................................................................................. 67 3.3.3 Interleaved vertex buffer objects – Demo ............................................................................... 70 3.4 About the OpenGL ES implementation .................................................................................................... 72 3.4.1 GL constant values ................................................................................................................. 73 4 Using OpenGL ES 3.1 with Adreno .....................................................................................75
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages170 Page
-
File Size-