Imagination PowerVR SDK Blog

What is the "PVRShell" environment?



What is the “PVRShell” environment?


PVRShell is the abstraction layer used by most of the Examples in the SDK. All of the source code for this abstraction is provided and commented so that customisation and extension of functionality is easily available to developers.

PVRShell is supplied for every APIs and OSs combination in the SDK (including the PC emulation SDKs). Using PVRShell vastly simplifies the process of writing a graphics application for a variety of OSs, as programmers can focus on their application’s functionality rather than OS and API specific boilerplate code.

Applications that use PVRShell include the following files:

PVRShell.h/cpp: Generic source and header code that handles OS-independent initialization.

PVRShellAPI.h/cpp: API-specific shell initialization code, e.g. ShellAPIKEGLPVRShellAPI.cpp performs initialization for the Khronos EGL API, used for both OpenGL ES and OpenVG.

PVRShellOS.h/cpp: OS-specific shell initialization code, e.g. ShellOSWindowsPVRShellOS.cpp performs initialization for Windows (used for PC Emulation) and WinCE/PocketPC OSs.

OGLES********.cpp: Source code containing the actual OpenGL ES rendering functions for the Example. Other Example-specific files can be added as required from here without requiring platform specific coding.