Do more with the new PowerVR Graphics SDK v3.0
Imagination’s PowerVR Graphics SDK v3.0 is out and we are now ready to reveal the exciting features, tools and utilities we’ve made available to developers.
This release brings an important list of improvement and updates compared to the previous version (the PowerVR SDK v2.10) as we’ve talked to developers from large game studios and indie companies alike to make sure we get the right functionality incorporated in this iteration of the SDK. There’s also been a change in the way the website looks, so you now have a modernized and up-to-date dedicated page which is easier to browse through.
PowerVR Graphics SDK v3.0 supports OpenGL ES 3.0 and Series6 IP cores
When we’ve last talked about OpenGL ES 3.0, we mentioned it will be one of the key points of our next SDK release – which was still in development at the time. We now have incorporated all the necessary tools in the brand new SDK for Khronos’s OpenGL ES 3.0 3D graphics API*. Current features include OpenGL ES 3.0 PVRVFrame PC emulation, example applications that utilize the OpenGL ES 3.0 functionality and PVRTrace recording support.
As we expect our silicon partners to start shipping products integrating our PowerVR Series6 ‘Rogue’ GPU IP in the near future, we’ve also added support that will ignite development work for our most recent architecture. These latest features include offline profiling compiler for our G6200 and G6400 cores and Series6 specific sections in the PowerVR Performance Recommendations document.
Imagination has been very actively promoting the use of compressed textures to enhance performance while also saving power. Developers can take advantage of our PVRTexTool which supports an extensive list of compression standards – including our very own industry leading PVRTC1 and 2 formats – for a variety of different APIs, including OpenGL ES and DirectX. They also can benefit from a number of advanced features to pre-process the image data; for example border generation, colour bleeding and normal map generation. We’ve also updated our asset optimization tools so you can improve vertex cache efficiency by applying geometry sorting during the export phase. This will in turn simplify the process of writing custom exporters.
For rapid prototyping and development, there’s the PVRVFrame emulation suite. We have a collection of emulation libraries that allow OpenGL ES 1.x, 2.0 & 3.0 applications to run on desktop development machines that don’t natively support the OpenGL ES APIs. It enables developers to target OpenGL ES APIs in their IDE of choice giving users the freedom to have the applications ready and well optimized for when devices start rolling out in the market. By including profiles to emulate the hardware capabilities of specific PowerVR GPUs, users can also target specific platforms and fine-tune their software to take advantage of every compute resource available. With the addition of a visualization window, we’ve given the user to possibility get instant feedback on any changes made to accelerate real-time development.
The PowerVR DevTech team have also included some great performance analysis tools like PVRTune and PVRTrace to easily identify bottlenecks. Developers can use PVRScope to obtain internal counter data and detailed GPU performance information allowing them to keep the FPS count always high and CPU load at a minimum. For example, a developer could graph the data during an application play-test to find performance spikes, generate reports on overall performance, or pass this data to custom profiling tools for further analysis – all during an application’s execution.
An improved user interface and installation process
With our redesigned GUI framework you can now run all GUI Utilities natively on OSX (no more of that X11 dependency), thus providing better support for drag-and-drop and file browsing on Windows, OSX and Linux. We’ve invested a lot of time into simplifying all interfaces, making sure they are more intuitive and user-friendly as well as fast and responsive.
There’s a separate installer for each of the main operating systems (Windows, OSX and Linux) which will make the whole download and setup process easier, giving developers the option to pick the required SDK and utilities packages. An update mechanism has also been introduced as we’ve added an automated system that generates notifications of new versions being available at start-up. The user can either choose to update or hide the notification and check for updates manually in subsequent runs of the utility.
New and updated PowerVR Graphics SDK utilities
The SDK benefits from a newly introduced OSX PC emulation SDK for OpenGL ES 1.x and OpenGL ES 2.0 while a number of tools have been updated to add more functionality and improve the user interface.
Here is a breakdown of what’s changed:
Added a mechanism for retrieving the ANativeActivity on Android (making it more convenient to retrieve Java functions from native code), improved swipe gesture mapping to key commands (presently including Android support) and GL_EXTENSIONS is now printed when the “-info” flag is used
Improved the PVRTString class, improved PVRTTexture format support (including new OpenGL ES 3.0 formats) and added PVRTStringHash class for quick string comparisons
A streamlined GUI interface, support for Blender 2.63, 3DSMax 2013 & Maya 2013, and added profiles to allow custom options to be saved within the exporter. Additionally, Collada2POD has currently been brought into the PVRGeoPOD family and renamed to PVRGeoPOD Standalone.
GLSL ES Compilers
Updated profiling compilers. Added a compiler for upcoming PowerVR Series6 ‘Rogue’ cores.
GLSL ES 3.0 support (shader language used by OpenGL ES 3.0), offline profiling compilers have been built-in to PVRShaman (including G6x00) and shader edit panel improvements
PVRShaderEditor (previously PVRUniSCoEditor)
A completely overhauled GUI to simplify the interface. This includes improved OSX and Linux support and also improved search functionality. The offline profiling compilers are now built-in to PVRShaderEditor (including PowerVR Series6 G6x00 cores)
Now supports more DirectX11 texture formats and all core OpenGL ES 3.0 texture formats. Other improvements include 3DSMax & Maya 2013 plug-ins, a new command-line interface and an overhauled GUI. PVRTexLib is now included in the PVRTexTool package for greater consistency.
Overhauled GUI interface, Android and Linux recording library installers, and OpenGL ES 3.0 recording support
Improved GUI (including drop down counter group selection, dockable windows, and the ability to create tabs) couple with the possibility to select a range in the graph view and see the average counter values over that period
OpenGL ES 3.0 support, PVRVFrameGUI companion application (view PVRVFrame output, select hardware profiles etc) and improved list of available hardware profiles
To celebrate the occasion, we’ve even created our very own poster to promote it, ready to be shared with the whole world
What yo do you think of the new features? Is there something you think we could include for our next release? Please leave a comment below and share this post with other developers as we look forward to receiving your feedback!
* OpenGL ES 3.0 compliance will be subject to successfully passing OpenGL ES 3.0 conformance tests from Khronos (not yet released as of September 2012)