PowerVR Insider SDK Documentation
OpenRL SDK Documentation Navigation Rendering Techniques 3D Navigation Rendering Techniques Post Processing Effects Development Recommendations Shader Based Water Effects Edge Detection Training Course UI Example Whitepaper Parallax Bumpmapping Whitepaper
SGX Architecture Guide for Developers
The purpose of this document is to provide graphics programmers with an overview of the PowerVR SGX Series5 and Series5XT graphics hardware architectures, while also highlighting why some performance recommendations make such a significant difference to graphics rendering on PowerVR platforms. Furthermore, the information in this document outlines the purpose of each hardware module for which PVRTune provides performance counters. Download PDF
PowerVR Performance Recommendations
PVR File Format Specification
The file format specification for Version 3 of the PVR File Format used by PVRTexLib and PVRTexTool. Download PDF
PFX Language Specification
Similar to the flexibility and reusability the .FX format brings to HLSL, the PFX format is designed to not only contain multiple GLSL/GLSL-ES shaders, but also to describe the relationship between shaders and the resources they rely on to create a specific visual effect. PFX files are in a human readable format so that they can easily be manipulated with text editors, such as PVRUniSCoEditor. The Tools in the PowerVR SDK provide functions for loading shader effects from PFX files, and all of the source code for this is included in the SDK. This document describes the syntax of the PFX language used to create PFX files so developers can fully understand how to benefit from the format. Download PDF
POD File Format Specification
The file format specification for 2.0.1 used by PVRPOD and PVRShaman. Download PDF
PVRTC & Texture Compression
Texture compression is an important tool in the arsenal of developers that, due to its many advantages over uncompressed formats, should be used whenever it is feasible to do so. This document contains a brief explanation of why texture compression should be used as well as an introduction to PowerVR’s texture compression, PVRTC. Download PDF
PVR Texture Compression (PVRTC)
PVRShaderEditor User Manual
PVRShaderEditor is a shader editor and graphical front-end for the PVRUniSCo shader compiler. It currently offers syntax highlighting for GLSL, GLSL ES, HLSL shaders, VGP vertex programs, Microsoft Effects (.fx) and PowerVR FX (.pfx) files. The Editor is a standalone version of the shader editing functionality that can be found in PVRShaman. Download PDF
PVRScope User Manual
PVRScope is a library designed to allow a developer to embed the power of PVRTune in their own tools and applications. As well as allowing developers to access the performance counters of PowerVR hardware just like PVRPerfServer, it also allows custom marks and counters to be sent from the application across a network to PVRTune, further helping with the process of optimisation and debugging. Download PDF
PVRGeoPOD User Manual
POD is the PowerVR Object Data format. It is a lightweight deployment format with a small memory footprint that is designed to be optimal for PowerVR GPUs (options are available in the exporters to order data optimally for PowerVR). The PowerVR SDK Tools contain resource loading code that can easily be integrated into an application to load and use POD files.
PVRGeoPOD is a file-exporter plug-in for 3D Studio MAX, Maya and Blender that allows 3D assets to
be exported to the POD format with detailed user control of the data to be included in the output and its form. Download PDF
PVRShaman User Manual
PVRShaman is a development environment that allows shaders for OpenGL ES 2.0, OpenGL, DirectX9 and DirectX10, to be created and edited, with the results displayed in a 3D scene. Effect files can be used to link shader code to objects in this scene. An effect file is a complete definition of a material,
or a set of materials and contains references to textures and shaders. These files can be edited and compiled on the fly, with the visual results applied to the scene within the application.
PVRShaman works with 3D scenes in PowerVR Object Data format (POD files). These files can be generated with the PVRGeoPOD geometry exporters in the PowerVR SDK from models created with Autodesk’s 3dsMax, Maya or Blender or using the Collada2POD utility. PVRShaman can also open COLLADA files (DAE).
PVRShaman also functions as a viewer for POD files, including those that don’t contain shaders. Download PDF
PVRTexTool Reference Manual
PVRTexTool works with various image and texture formats to provide the features of PVRTexLib in executable format. Functionality includes pre-processing, surface management and texture encoding. The GUI tool also provides font rendering and texturing previews. Texture encoding support includes the acclaimed PVRTC and PVRTC2, as well as formats such as ETC and a multitude of uncompressed formats. The tools work with the PVR file type; a flexible and lightweight texture container format. PVRTexTool includes a standalone GUI application, a command line tool and lightweight PVR file plug-ins for Autodesk 3ds Max and Maya, and Adobe Photoshop. Download PDF
PVRTrace User Manual
PVRTrace is a utility that captures the graphics API calls made by an OpenGL ES application and displays this information so it can be analysed. It consists of several components: a library that sits between the application and the OpenGL ES libraries records data; a GUI application that analyses
PVRTrace recording libraries are distributed as part of the SDK packages (or are separately available from the PVRTrace webpage: http://www.imgtec.com/powervr/insider/pvrtrace.asp The PVRTrace analysis tool can be used with recordings taken from any platform. Download PDF
PVRTune User Manual
PVRTune, together with SGXPerfServer, is used to graphically view two types of data from the SGX hardware and drivers:
1. Hardware and software counters, rendered as graphs in PVRTune.
2. Timing data from the tile accelerator (TA) and 3D processing cores in SGX, rendered as
blocks of activity.
This information allows developers to understand where their application is hitting bottlenecks during rendering, and if so, exactly which part of the GPU’s processing is causing the bottleneck.
It is worth noting that this application displays performance counters for all GPU activity during the sample period rather than on a per application basis. For this reason, other processes utilizing the GPU will affect the performance data that is retrieved (for example, GPU accelerated window composition). Download PDF
PVRVFrame User Manual
PVRVFrame is an emulation layer for desktop platforms that provides an OpenGL ES environment mimicking that available on PowerVR-enabled devices. It works by redirecting OpenGL ES API calls to the underlying OpenGL desktop implementation present on the system. PVRVFrame is aimed at developers writing OpenGL ES 1.x and OpenGL ES 2.0 applications for POWERVR-enabled embedded devices and is designed to mitigate the need for development hardware or a target platform.
PVRVFrame is not per-pixel accurate, nor a performance simulator. The performance obtained when running OpenGL ES applications with PVRVFrame is not indicative of the performance obtained when running on real consumer hardware.
PVRVFrame is available for OpenGL ES 1.x, Common profile and OpenGL ES 2.0. Download PDF
OpenRL SDK Documentation
The purpose of this document is to explain the basic concepts of OpenRL™ (Open Ray Tracing Library) and its architecture, and continues on to a detailed description of the platform interface, followed by the application interface, and the shader programming language. Where appropriate, simple examples are provided.
OpenRL Header Files and Documentation
Navigation Rendering Techniques
Visualization of navigation data is a complex task: the graphics should be appealing, informative, running at a high framerate and utilizing low power consumption at the same time. This whitepaper deals with the efficient rendering of navigation maps on the tile-based deferred rendering architecture of the PowerVR® MBX/SGX chipset families. Download PDF
3D Navigation Rendering Techniques
This document introduces techniques related to the visualization of 3D datasets. It provides additional information on the topics of optimization, extending those found in the "PowerVR 3D Application Development Recommendations" document. Download PDF
Post Processing Effects Development Recommendations
Post-processing is the modification and manipulation of captured or generated image data during the last stage of a graphics pipeline, resulting in the final output picture. This document describes a general approach to post processing and provides an example of a real-time effect that can be implemented for mobile platforms utilising PowerVR SGX hardware. Download PDF
Shader Based Water Effects
Generating efficient and detailed water effects can add a great deal of realism to programs that utilise real-time graphics. The purpose of this document is to highlight techniques that can be used in software running on PowerVR SGX platforms to render high quality water effects at a relatively low computational cost. Download PDF
Edge Detection Training Course
Edge detection is a process used in computer graphics to determine the borders between different objects or areas in an image. This paper details a simple technique used to detect edges on a mobile platform as well as discussing some alternative approaches. The purpose of detecting edges in this case is simply as a visual effect rather than gaining an understanding of the image’s contents. Download PDF
UI Example Whitepaper
Rendering graphical user interfaces may seem like a trivial exercise, however without careful consideration a simple interface may be unresponsive and sluggish due to poor graphics performance. The purpose of this document is to highlight and demonstrate techniques that can be used to improve user interface performance for software running on PowerVR SGX platforms. Indeed, any generic 2D sprite-based applications can benefit from the recommendations given in this document including games, applications and interfaces. Download PDF