Introduction to the PowerVR Graphics SDK Paul Sobek Developer Technology Engineer, PowerVR Graphics
www.powervrinsider.com 3
What is the PowerVR Graphics SDK?
What is the PowerVR Graphics SDK? Assists in rapid application development, debugging, and performance analysis Educational resource for embedded graphics techniques Develop on Windows OS X Linux Develop for ios Android 5 Linux
What is the PowerVR Graphics SDK? Accelerate and optimize the whole development cycle Asset Creation Development Debugging and Profiling + PVRTexTool PVRGeoPOD + PVRVFrame PVRShaman PVRShaderEditor + PVRTune PVRTrace PVRScope 6
Utilities & Source Code Assets
PVRGeoPOD Industry proven 3D scene data format Geometry exporter tool Plug-ins (Blender, Maya and 3ds Max) GUI Command Line Features Optimize geometry Remove unnecessary data Output POD files 8
POD File Format PowerVR Object Data file Optimized deployment format for 3D data Bike Baron Features Stores scene data needed for rendering Easy-to-parse format Supports user metadata Public specification Public source code (PVRTools) Minigore 2: Zombies 9
10
11
PVRTexTool A feature filled texture compressor targeting all major compression formats Texture compressor and converter GUI Command Line Library Plug-ins (Photoshop, Maya and 3ds Max) Features Convert images to textures Pre-process textures for deployment Supports many texture formats (including PVRTC) Outputs PVR, KTX or DDS files 12
PVR File Format A texture container intended for texture formats, not just PowerVR! PowerVR texture file Deployment format for texture data Features Supports all standard texture formats Supports many compressed formats Easy-to-read file format Supports user metadata Public specification Public source code (PVRTools) 13
14
PVRTools Common graphics functions simplified Suite of common graphics functionality Source code library Features Resource loading and management Vector, quaternion and matrix math Print text into a 3D scene Extension management Supports all PowerVR platforms 15
Utilities & Source Code Development
PVRShaman Visually edit POD scene files applying different materials (PFX) Shader development environment Graphical interface Features Integrates PVRShaderEditor Preview POD scenes Edit and preview shaders Supports OpenGL and OpenGL ES 17
PFX File Format Represent an entire GLSL material effect in one file PowerVR Effects file High-level shader effect file Features Easy-to-parse format Keeps related shaders in one file Stores all data needed for an effect Public specification Public source code (PVRTools) 18
19
PVRShaderEditor Feature filled shader editor showing cost per line in cycles Shader editing and profiling Graphical interface Features Syntax highlighting As-you-type profile information Integrates all features of Profiling Compilers Disassembly viewer with NDA compiler 20
21
GLSL Profiling Compilers Predict cost of shaders before deploying Offline shader compiler Command Line Integrated into PVRShaderEditor and PVRShaman Features Shader validation Per-line and total cycle estimates Disassembly output NDA only 22
PVRVFrame OpenGL ES emulation on all desktop platforms (Linux, Windows OS X) OpenGL ES emulation Dynamic libraries Graphical interface for configuration Features PowerVR extensions Hardware profiles for various devices GL errors logged and explained Supports KHR_debug 23
PVRShell Target both mobile and desktop platforms with the same code Graphics-focused OS and API abstraction Source code library Application App inherits PVRShell Features Sets up a window and API context Abstracts common OS functionality Supports all PowerVR platforms Allows user to just start coding PVRShell Operating System PVRShell abstracts OS 24
25
Examples From a single triangle to Deferred Shading Example applications Beginner Intermediate Advanced Source code Pre-built binaries Features From your first triangle to advanced effects Annotated code to guide you PVRShell and PVRTools used consistently Optimized code to use in your own applications Many are implemented across multiple APIs......... 26
Utilities Debugging and Profiling
PVRTrace Trace and playback OpenGL ES API calls from and to any platform OpenGL ES API tracer Graphical interface for analysis Recording libraries Features Intercept and record OpenGL ES calls Replay PVRT trace captures Static call analysis Inspect render state At-a-glance debugging 28
29
PVRTune In-depth real-time performance analysis of PowerVR Hardware PowerVR GPU performance analyser Graphical interface for analysis Server application on device Features Real-time performance data Runs parallel to your application Easily identify bottlenecks 30
PVRHub Simple installation of PVRPerfServer (for PVRTune) and PVRTrace On-device configuration tool Android GUI application Linux scripts Features Ease-of-use for PVRTrace and PVRTune Install PVRTrace libraries Configure what PVRTrace captures 31
PVRScope API and library providing access to hardware counters Performance analysis library Static library Features Retrieve hardware counters in your application Augment PVRTune with custom data 32
Documentation
Documentation Supporting documentation Documents Presentations Features Architecture guides Performance recommendations File format specifications User manuals Whitepapers 34
Summary
What is the PowerVR Graphics SDK? Accelerate and optimize the whole development cycle Asset Creation Development Debugging and Profiling + PVRTexTool PVRGeoPOD + PVRVFrame PVRShaman PVRShaderEditor + PVRTune PVRTrace PVRScope 36
Download it now! How to get it? www.powervrinsider.com Download the installer Next, next, next Done! 37
Summary It s free! Develop across desktop platforms Deploy to all PowerVR platforms From first steps to those last few FPS Any Questions? 38