PVR Text Tool
PVR Text Tool
PVRTexTool
User Manual
Contents
1. Introduction ................................................................................................................................. 4
1.1. Document Overview ........................................................................................................... 4
1.2. Software Overview.............................................................................................................. 4
1.2.1. Texture Formats ....................................................................................................... 4
2. PVRTexTool GUI ......................................................................................................................... 6
2.1. The Basics .......................................................................................................................... 6
2.1.1. Compatibility ............................................................................................................. 6
2.1.2. User Interface Layout ............................................................................................... 6
2.2. Menu Bar ............................................................................................................................ 7
2.2.1. File Menu .................................................................................................................. 7
2.2.2. Edit Menu ................................................................................................................. 8
2.2.3. View Menu ................................................................................................................ 9
2.2.4. Window Menu .........................................................................................................11
2.2.5. Help Menu ..............................................................................................................11
2.3. Texture Details, Display and Comparison ........................................................................12
2.3.1. Surface Browser .....................................................................................................12
2.3.2. Texture Information ................................................................................................13
2.3.3. Display Options ......................................................................................................13
2.3.4. Texture Comparison ...............................................................................................15
2.4. Texture Pre-Processing ....................................................................................................17
2.4.1. General Steps ........................................................................................................17
2.4.2. Options and Settings ..............................................................................................18
2.5. Texture Creation and Loading ..........................................................................................21
2.5.1. Create a New Texture ............................................................................................21
2.5.2. Create a Cube Map ................................................................................................21
2.5.3. Create a Texture Array ...........................................................................................22
2.5.4. Create a Font Texture ............................................................................................23
2.5.5. Wrap Raw Data ......................................................................................................24
2.6. Texture Encoding..............................................................................................................25
2.6.1. Encoding Modes .....................................................................................................26
3. PVRTexTool CLI ........................................................................................................................28
3.1. Usage Instructions ............................................................................................................28
3.2. Examples ..........................................................................................................................28
3.3. Command-Line Options ....................................................................................................28
4. PVRTexTool Plugins .................................................................................................................36
4.1. Plugin for Adobe Photoshop .............................................................................................36
4.1.1. Installation ..............................................................................................................36
4.1.2. Uninstallation ..........................................................................................................36
4.2. Plugin for Autodesk 3ds Max ............................................................................................37
4.2.1. Installation ..............................................................................................................37
4.2.2. Uninstallation ..........................................................................................................37
4.3. Plugin for Autodesk Maya .................................................................................................37
4.3.1. Installation ..............................................................................................................37
4.3.2. Uninstallation ..........................................................................................................38
4.4. Plugin for Windows Explorer ............................................................................................38
4.4.1. Installation ..............................................................................................................38
4.4.2. Uninstallation ..........................................................................................................38
5. PVRTexTool Library..................................................................................................................39
5.1. Library Overview ...............................................................................................................39
5.1.1. Accessing the Library .............................................................................................39
5.1.2. Using the DLL (Windows only) ...............................................................................40
5.2. Example Code ..................................................................................................................40
5.2.1. Read and Decompress an Image ..........................................................................40
5.2.2. Pre-Process, Transcode (Compress) and Save an Image ....................................40
List of Figures
Figure 1. General layout of the GUI ........................................................................................................ 6
Figure 2. File menu ................................................................................................................................. 7
Figure 3. Edit menu ................................................................................................................................. 9
Figure 4. View menu ............................................................................................................................. 10
Figure 5. Window menu ........................................................................................................................ 11
Figure 6. Help menu .............................................................................................................................. 11
Figure 7. Surface Browser window ....................................................................................................... 12
Figure 8. Texture Information window ................................................................................................... 13
Figure 9. Display Options window ......................................................................................................... 14
Figure 10. Colour diff results ................................................................................................................. 15
Figure 11. Tolerance diff results ........................................................................................................... 16
Figure 12. Performing a diff by blending textures ................................................................................. 16
Figure 13. Error Metrics dialog box ....................................................................................................... 17
Figure 14. Toolbox window ................................................................................................................... 17
Figure 15. Create New Texture dialog box ........................................................................................... 21
Figure 16. Compose Cubemap dialog box ........................................................................................... 22
Figure 17. Create Texture Array dialog box .......................................................................................... 22
Figure 18. Create Font Texture dialog box ........................................................................................... 23
Figure 19. Wrap Raw Data dialog box .................................................................................................. 25
Figure 20. Encode Texture dialog box .................................................................................................. 26
List of Tables
Table 1. Settings for resizing a texture ................................................................................................. 18
Table 2. Settings for flipping a texture along an axis ............................................................................ 18
Table 3. Settings for rotating a texture by 90 degrees .......................................................................... 18
Table 4. Settings for adding a mirrored border to a texture .................................................................. 19
Table 5. Settings for generating a MIP map chain for a texture ........................................................... 19
Table 6. Settings for resizing a texture canvas ..................................................................................... 19
Table 7. Settings for editing individual channels ................................................................................... 20
Table 8. Settings for creating a normal map ......................................................................................... 21
Table 9. Settings for creating a font texture .......................................................................................... 23
Table 10. Settings used for wrapping raw data..................................................................................... 25
Table 11. Command-line options .......................................................................................................... 28
Table 12. Provision for plugins .............................................................................................................. 36
1. Introduction
1.1. Document Overview
The purpose of this document is to serve as a complete user manual for PVRTexTool. It includes
installation instructions, functionality explanations and useful tips on how to make the most out of the
applications. The document also provides a list of all command-line options and covers information
about PVRTexTool plugins and library.
PVRTexTool GUI: This is the Graphical User Interface of PVRTexTool. It is available for
Windows, Linux and OS X, and allows the user to manipulate texture data in an interactive
graphical environment with immediate visual feedback.
PVRTexTool CLI: This is the Command Line Interface of PVRTexTool. It is available for
Windows, Linux and OS X, where only the executable is required. Its purpose is to allow the
easy batching of texture conversion and compression operations via calls from a script or batch
file.
PVRTexTool Plugins: These are designed to give various programs access to the functionality
of PVRTexTool. For example, with the plugins, Adobe Photoshop has the ability to load and
save PowerVR (PVR) texture files. In the case of Autodesk 3ds Max and Autodesk Maya, the
plugins allow the use of PVR texture files when applying materials and also enable saving
rendered images in PVR format (at 32 bits per pixel only).
PVRTexTool Library: This is a library for the management of textures. It occupies the
pvrtexture namespace and allows users to access the same PVRTexTool functionality in a
library, for easy integration with existing tool chains.
export PATH=$PATH:/path/to/dir1
export PATH=$PATH:/path/to/dir1:/path/to/dir2
Or:
3. To have the path persist across terminal sessions, add the above commands to a startup script
such as .bashrc.
Note: In all examples, path/to/dir1 should be replaced with the directory containing the ASTC
encoder.
2. PVRTexTool GUI
2.1. The Basics
2.1.1. Compatibility
For the most efficient performance, it is recommended that PVRTexTool is installed on machines
running at least Windows 7, Mac OS 10.8 (Mountain Lion), or Linux (Ubuntu 12.04).
(a) (b)
(e)
(c)
(f)
(d)
Menu bar (Figure 1a): This section enables access to several options for file, edit, view,
window and help.
View window area (Figure 1b): This section displays all the view windows for files that have
been opened in the GUI.
Texture detail area (Figure 1c): This section contains multiple switchable windows which
mainly display texture details, amongst others.
Status bar (Figure 1d): This section details basic information about the status of a texture.
Quick access bar (Figure 1e): This section provides options for performing the most common
actions while working with textures.
Toolbox window (Figure 1f): This section provides options and settings which are useful
during the pre-processing of textures.
Open a File
To open a texture or image file, click File -> Open... (Figure 2). This option is also available from
the Quick access bar. This will open a dialog box for browsing to the required file. Keyboard
shortcuts can also be used to open files. PVRTexTool supports three texture formats: PowerVR
texture (PVR); Khronos texture (KTX); and Microsoft Direct Draw Surface (DDS). The tool is also able
to read the following image formats: BMP, JPEG and PNG.
Reload a Texture
To reload a texture, click File -> Reload Texture (Figure 2). Using this option reloads the
current texture from disk reverting any pre-processing already carried out. If the file has been updated
in some way by another program since being opened, this also allows the texture in memory to be
updated to that which is currently stored on disk. Any encoded data produced is discarded by this
operation. In instances where multiple files have been used, or the file has been processed from raw
data, the relevant dialog box is launched instead of the file automatically reloading. This allows for
channels to be rearranged and options to be adjusted, as appropriate.
Save a Texture
Encoded data can be saved to a texture file by using the options File -> Save or File -> Save
As… (Figure 2). This option is also available from the Quick access bar. Saving can be done in
the following formats: PVR, KTX and DDS. If the texture has not yet been encoded and has been
modified, the GUI prompts the user to select an encoding method.
Warning: PVR v2 is deprecated and with limited support. Please update applications to use PVR v3.
Undo an Action
To undo the last performed action, click Edit -> Undo (Figure 3). This option is also available from
the Quick access bar.
Redo an Action
To redo the last undone action, click Edit -> Redo (Figure 3). This option is also available from the
Quick access bar.
Encode a Texture
To encode a texture from one format into another, click Edit -> Encode (Figure 3). This option is
also available from the Quick access bar. This will then open a dialog box providing various
encoding options (see Section 2.6).
Align to 2 Byte Boundary: This option pads the file header with empty data so that the start
texture data aligns to a 2 byte boundary.
Align to 4 Byte Boundary: This option pads the file header with empty data so that the start
texture data aligns to a 4 byte boundary.
Align to 8 Byte Boundary: This option pads the file header with empty data so that the start
texture data aligns to an 8 byte boundary.
Note: The GUI layout can also be customized by dragging and dropping the individual dockable
windows to either the right or left hand sides of the interface or as standalone windows.
Tile Windows
To arrange the view windows opened in the View window area in a tile mode, click Window ->
Tile Windows (Figure 5).
Cascade Windows
To arrange the view windows opened in the View window area in a cascading mode, click Window
-> Tile Windows (Figure 5).
Submit Feedback
To provide feedback, click Help -> Feedback… (Figure 6). This will open a dialog box where
instructions are displayed on how to post feedback and request for support.
About PVRTexTool
To view basic information about PVRTexTool release information such as versioning and contact
details, click Help -> About PVRTexTool (Figure 6).
1. Right-click the name of the texture (or one of its levels, faces or members in the case of a
texture with surfaces).
2. Click the Load file to surface… option. This will open a dialog box for browsing to the
required file.
3. Select the required file to load.
Note: Loading a file to a surface can be useful after the creation of a texture (see Section 2.5.1).
Note: It is also possible to load texture data from a file by editing the individual channels of a texture
(see Section “Edit Individual Channels”) or by wrapping raw data (see Section 2.5.5).
Note: When a texture diff is performed (see Section 2.3.4), the Texture Information window
captures the details of the two textures being compared.
(a)
(b)
(c)
(d)
(e)
The Single display mode option is used to visualize a single instance of a texture regardless
of the shape or size of its view window.
The Tiled display mode option is used to tile the texture across the view panel.
The Cube display mode option is used to visualize the texture rendered in a 3D cube map,
allowing the user to move the camera around as if it were in the centre of a cube with the
texture as one of the faces. If multiple cube map faces are specified in a texture then these are
loaded onto the appropriate faces of the cube.
Use the slider provided in the Display Options window (Figure 9b).
Use the slider provided in the Status bar (see Figure 1d).
Use the mouse wheel on a view window.
Note: When a texture diff is performed (see Section 2.3.4), the Colour section of the Display
Options window captures the colour channel details of both textures and also displays the
difference between the values from the textures being compared.
Colour diff: A colour diff is a standard comparison of the colour channels of two images.
Tolerance diff: A tolerance diff is a comparison that displays the difference between the
original image and the second image as one of three colours. Differences higher than the
tolerance are displayed in red, differences lower than the tolerance are displayed in blue, and
any pixel with no difference is displayed in black.
Diff by blending textures: A diff between two textures can be achieved by understanding how
the two textures blend together. This is useful for performing side by side comparisons.
When a texture diff is performed between two files, a new view window is created to display the two
images as well as the differences between them. The new window cannot be edited nor can a texture
be saved from it. The following steps should be taken in order to perform a texture diff:
1. In the View window area, click the view window for the desired input file against which to
diff.
2. From the Menu bar, click View -> Select Diff Input. This option is also available from
the Quick access bar.
3. In the View window area, click the view window of the target file.
4. From the Menu bar, click View -> Diff Against <Input>. This option is also available
from the Quick access bar. A new window will be presented showing the results of the diff
(Figure 10). By default, a colour diff is shown.
5. Under the Difference View Options in the Display Options window (see Figure 9e),
type in a suitable brightness multiplier value to reveal the colour differences, as required. This
assists in highlighting areas where the difference is minimal.
Note: Colour channels can also be toggled on and off after performing a colour diff.
If it is required to perform a tolerance diff, under the Difference View Options in the Display
Options window (see Figure 9e), choose Tolerance Diff from the dropdown menu. The result
will then be visible from the diff view window (Figure 11). Also adjust the tolerance value, between 0
and 1, in order to set the threshold under which any difference is ignored.
If it is required to perform a diff by blending textures, under the Difference View Options in the
Display Options window (see Figure 9e), choose Blend Textures from the dropdown menu.
The result of the diff will then be visible from the diff view window (Figure 12). Adjust the blend
visibility setting, which is a percentage value, to define the amount that each texture contributes to the
resultant blended texture.
Rotate by 90 Degrees
This option is used to rotate a texture around a given axis. Currently only the Z axis is supported,
providing a standard 2D rotate. Table 3 identifies the participating settings.
Resize Canvas
This option is used to resize a texture to the given size, without changing the image data. Table 6
identifies the participating settings.
For example, it is possible to set the red channel of a texture to be the same as its blue channel by
identifying the Destination: Red settings, choosing the Current Texture from the Source
dropdown box and selecting the Blue option from the Channel dropdown box. Similarly, swapping
the contents of the red channel of a texture with the blue channel from another texture can be done by
identifying the Destination: Red settings, choosing the File option from the Source dropdown
box, selecting the desired file and then selecting the Blue option from the Channel dropdown box.
1. Click File -> New… in the Menu bar. This option is also available from the Quick access
bar. This will open the Create New Texture dialog box (Figure 15).
2. Adjust the necessary settings in the dialog box. Values can be specified for the MIP map levels,
number of faces, number of array members and the size of the texture in pixels.
3. Click the OK button. This will create an empty texture canvas of the specified size.
Note: To load a file to a surface, follow the steps identified in Section “Load File to a Surface”. It is
also possible to load a file while editing the individual channels of a texture (see Section “Edit
Individual Channels”).
1. Click File -> Create Cubemap… in the Menu bar. This will open the Compose Cubemap
dialog box (Figure 16).
2. For each of the six faces of the cube, browse to and select the desired file to use. The texture
for each face is made square and resized to the same size as the texture used on the X-
Positive face, all with a linear filter. Any additional cube face, surface or MIP map level in a
texture used on a face is discarded.
3. Click the OK button to complete the procedure. The cube map can then be inspected in the
Surface Browser window.
1. Click File -> Create Texture Array… in the Menu bar. This will open the Create
Texture Array dialog box (Figure 17).
2. Click the Add Texture(s) button to include individual textures making up the texture array.
As textures are added, the dialog box will list them in the order that the files have been
selected. The textures are resized to the same size as the texture in the first position with a
linear filter. Any additional cube face, surface or MIP map level in a texture is discarded.
3. The order of the textures within the texture array can be changed by dragging and dropping the
file names above or below one another in the dialog box. Individual files can also be removed
by selecting them and clicking the Remove Texture(s) button.
4. Once all the required files have been added, click the OK button to complete the procedure. The
texture array can then be inspected in the Surface Browser window.
1. Click File -> Create Font Texture… in the Menu bar. This will open the Create Font
Texture dialog box (Figure 18).
Setting Description
Character Set This determines the set of characters that will be
rendered into the font texture. Three options are
available:
4. If choosing a character set, pick an option from the Character Set dropdown box.
5. Click the OK button to complete the procedure.
Note: Other supported texture data loading tasks are through loading a file to a surface (see Section
“Load File to a Surface”) or editing the individual channels of a texture (see Section “Edit
Individual Channels”).
1. Click File -> Wrap Raw Data… in the Menu bar. This will open the Wrap Raw Data
dialog box (Figure 19).
2. Load the required data file by browsing to it. The data should be in the order set in Section
“Texture Data” of the “PVR File Format Specification” document, and is as follows:
3. Adjust the required settings in the dialog box. Table 10 provides a list of the settings that can be
applied.
1. Click Edit -> Encode… in the Menu bar. This option is also available from the Quick
access bar. This will open the Encode Texture dialog box which provides the necessary
workflow to help the user carry out the encoding task (Figure 20).
(a)
(b)
(c)
(f) (e)
(d)
2. Use the provided filters to choose the required format for compression (Figure 20a). As options
are selected from the dropdown boxes, the corresponding encoding formats meeting the filter
criteria are listed (Figure 20b).
3. Select the desired encoding format from the list.
4. Select the required encoding mode if the selected format supports it (Figure 20c).
5. Choose additional options, as appropriate (Figure 20d). For example, ticking the Generate
MIPMaps checkbox creates all MIP map levels for the resultant texture. Similarly, ticking the
Show As Diff View checkbox generates the new encoded texture and additionally displays
a diff view window comparing the original texture against the newly compressed one.
6. Click the Encode button to complete the procedure (Figure 20e). This will create the new
encoded texture which can then be saved.
Note: It is possible to reset the filters at any time by using the Reset Filters button (Figure 20f).
PVRTC
When working with this format, the available encoding modes are:
Fastest: This mode should be utilized when encoding a texture quickly than in high quality.
Fast: When quick but good quality results are required, the Fast mode is better suited than
Fastest (which has lower quality) and Normal (which takes longer).
Normal: This mode offers results of good quality that take a reasonable time to encode.
High: Providing the second-best compression quality available, High mode pays for this
benefit by being slower to encode textures than the preceding options.
Very High: Offering the best quality textures, this mode takes time to effectively encode them.
ETC
The available encoding modes for this format are:
Fast: Similar to the mode used for encoding PVRTC, the Fast mode produces a relatively low
quality result at the fastest possible speed using standard image metrics. This mode is useful
for encoding non-image data such as normals.
Fast Perceptual: This mode uses non-standard image metrics, making it more suitable for
encoding image data unlike the standard modes.
Slow: This mode takes longer to achieve results, but it produces higher quality work after
encoding.
Slow Perceptual: Similar to the regular Slow. This mode utilizes non-standard image metrics
which are more suited to encoding image data.
ASTC
The available modes of compression are:
Very Fast: This runs the compression at a high speed, though this results in a relatively large
loss of quality.
Fast: Running the operation in this mode results in minor quality loss whilst still providing
results in a timely manner.
Medium: Using this mode results in a balance between quality and time taken to compress.
Thorough: This mode provides greater detail in the result than the preceding modes.
Exhaustive: Running the operation in Exhaustive modes provides the greatest level of detail in
the results, but it takes the longest time to run.
3. PVRTexTool CLI
3.1. Usage Instructions
The CLI can be used to process and compress textures, or by using a batch file. The syntax for the
command-line is described next. Note that when compressing a large number of textures to PVRTC
format, it is most efficient to let the utility work on each texture in order. If compressing to another
format, it is advisable to run multiple instances of the tool in parallel.
3.2. Examples
In the next example, an image named Example.bmp is taken and a full chain of MIP maps is
generated for it and encoded to ARGB 1555. The file Example.pvr is created.
In the next example, a cube map is generated from files named skybox<n>.bmp, encoded to
PVRTC1 4bpp and saved as a data structure in a Direct Draw Surface. The file skybox.dds is
created.
Usage: -i [filepath],<additionalfiles...>
Example: -i picture.jpg, otherpicture.png
Output file Sets the output file destination. If specified, must be a PVR, KTX or DDS
file. Otherwise the application outputs a file with the same name as the first
input file.
Usage: -o <filepath>
Example: -o texture.pvr
Usage: -d <filepath>
Example: -d decompressed.png
Cube map Constructs a cube map from available input files. If present, the input file
argument must contain at least 6 textures or a multiple of 6 textures if the
array flag is present. Textures of different sizes are resized with a linear
filter to the size of the original texture, or the specified size if resizing.
Usage: -array
Example: -array
Pad metadata Adds padding so that the texture data sits on a 2, 4 or 8 byte boundary,
according to the parameter specified. Must have a parameter in the form of
an integer. Valid values are 2, 4 or 8.
Usage: -legacypvr
Example: -legacypvr
Resize Resizes a texture to the given size. Accepts two unsigned integer
parameters; width and height. Values up to 8096x8096 are supported.
Option is incompatible with square or power of two resize options.
Usage: -r [width],[height]
Example: -r 512,256
Resize square Forces the texture into a square. A single character parameter, - or +, can
be specified to tell whether it is resized smaller (i.e., -) or larger (i.e., +).
Incompatible with standard resize.
Usage: -b <width>,<height>
Example: -b 4,4
Pre-multiply alpha Pre-multiplies the texture by its alpha value.
Usage: -p
Example: -p
Alpha bleed Discards any data in fully transparent areas to optimise the texture for
better compression.
Usage: -l
Example: -l
Usage: -n [scale],<channelorder>
Example: -n 1.0,xyzh
MIP map generation Generates MIP maps for the current texture. An optional unsigned integer
can be added to specify the number of MIP map levels which should be
generated; otherwise a full chain is created.
Usage: -m <numberofmipmaps>
Example: -m 9
MIP map filter By default, a linear filter is used to generate MIP maps. Setting this flag to
nearest, linear or cubic forces it to use the specified filter instead.
Usage: -c
Example: -c
Valid formats:
UB, UBN, SB, SBN, US, USN, SS, SSN, UI, UIN, SI, SIN, UF, SF
Key:
lRGB, sRGB
Usage: -f [format],<variabletype>,<colourspace>
Example: -f PVRTC1_2,UBN,lRGB
Usage: -q [compressorquality]
Example: -q pvrtcfast
Usage: -dither
Example: -dither
Silence Tells the utility to not output messages of any kind.
Usage: -shh
Example: -shh
Help Requests help for either a list of commands or for help on a specified
argument, if the argument is a parameter.
Usage: -centrecanvas
Example: -centrecanvas
4. PVRTexTool Plugins
The Plugins are available for various tools and supported across different platform versions as
identified in Table 12.
In the examples listed throughout this section, placeholder variables are used to facilitate ease of use.
These variables are:
<SDK_ROOT>: This variable indicates the root directory in which the SDK is installed.
<PLATFORM>: This variable indicates the platform being used, e.g., Windows, OS X, etc.
<VERSION>: This variable indicates the version of the utility the plugin is being used for.
4.1.1. Installation
Copy:
<SDK_ROOT>\PowerVR_Tools\PVRTexTool\Plugins\Photoshop\<PLATFORM>\PVRFormat.8bi
To:
<PHOTOSHOP_DIR>\plug-ins\File Formats\
4.1.2. Uninstallation
Delete:
<PHOTOSHOP_DIR>\plug-ins\File Formats\PVRFormat.8bi
4.2.1. Installation
Copy:
<SDK_ROOT>\PowerVR_Tools\PVRTexTool\Plugins\3DSMax\<YEAR>\<PLATFORM>\PVRTexTool_<VERSION>.dle
To:
<3DSMAX_DIR>\plug-ins\
4.2.2. Uninstallation
Delete:
<3DSMAX_DIR>\plug-ins\PVRTexTool_<VERSION>.dle
4.3.1. Installation
For Windows, copy:
<SDK_ROOT>\PowerVR_Tools\PVRTexTool\Plugins\Maya\<YEAR>\<PLATFORM>\PVRTexTool_<VERSION>.mll
To:
<MAYA_DIR>\bin\plug-ins\image\
For OS X, copy:
<SDK_ROOT>\PowerVR_Tools\PVRTexTool\Plugins\Maya\<YEAR>\<PLATFORM>\PVRTexTool_<VERSION>.bundle
To:
/Users/Shared/Autodesk/maya/<MAYA_VERSION>/plug-ins/
Once the plugin has been installed it must be activated in the Autodesk Maya Plug-in Manager.
4.3.2. Uninstallation
For Windows, delete the following file:
<MAYA_DIR>\bin\plug-ins\image\PVRTexTool_<VERSION>.mll
/Users/Shared/Autodesk/maya/<MAYA_VERSION>/plug-ins/PVRTexTool_<VERSION>.bundle
4.4.1. Installation
To install the Windows Explorer plugin, run one of the following commands with administrator access
depending on the version of Windows running, i.e., 32-bit or 64-bit.
Regsvr32.exe <SDK_ROOT>\PowerVR_Tools\PVRTexTool\WindowsExplorer_x86_32\PVRTextureViewer.dll
Regsvr32.exe <SDK_ROOT>\PowerVR_Tools\PVRTexTool\WindowsExplorer_x86_64\PVRTextureViewer.dll
4.4.2. Uninstallation
To uninstall the Windows Explorer plugin, run one of the following commands with administrator
access depending on the version of Windows running, i.e., 32-bit or 64-bit.
Regsvr32.exe /u <SDK_ROOT>\PowerVR_Tools\PVRTexTool\WindowsExplorer_x86_32\PVRTextureViewer.dll
Regsvr32.exe /u <SDK_ROOT>\PowerVR_Tools\PVRTexTool\WindowsExplorer_x86_64\PVRTextureViewer.dll
5. PVRTexTool Library
5.1. Library Overview
The Library is used for the management of PVR textures. It occupies the pvrtexture namespace
and provides the facility to:
Also present are a number of header files that define functionality of the Library:
PVRTexLibVersion.h
PVRTexture.h
PVRTextureHeader.h
PVRTextureUtilities.h
PVRTextureDefines.h
PVRTextureFormat.h
PVRTGlobal.h
PVRTError.h
PVRTArray.h
PVRTMap.h
PVRTString.h
PVRTTexture.h
PVRTextureUtilities.h is the primary header file, and including it in a project includes all other
header files required for the Library to function.
Note: Further documentation for the Library is available in the Documentation folder of PVRTexTool
installation directory.
#include "PVRTexture.h"
// Open and read a pvr texture from the file location specified by filePath
CPVRTexture cTexture(filePath);
Note: Any texture passed to a pre-processing function must be in one of the Library’s standard
formats, which is R8G8B8A8 unsigned normalised byte, R16G16B16A16 unsigned normalised
short, R32G32B32A32 unsigned normalised integer or signed float. This excludes the
Transcode function.
#include "PVRTexture.h"
// Open and reads a pvr texture from the file location specified by filePath
CPVRTexture cTexture(filePath);
// Convert the image to a Normal Map with a scale of 5.0, and y/z/x channel order
GenerateNormalMap(cTexture, 5.0, "yzx");
#include "PVRTexture.h"
// Open and reads a pvr texture from the file location specified by filePath
CPVRTexture cTexture(filePath);
// Resize canvas
ResizeCanvas(cTexture, 512, 256, 1, 0, 0, 0);
#include "PVRTexture.h"
#include "PVRTexture.h"
// Open and reads a pvr texture from the file location specified by filePath
CPVRTexture cTexture(filePath);
// As the developer, we choose our own values for DevFOURCC and u32Key
// As such, we know what they are, in this case ‘aCC’ and ‘aKey’ respectively.
if(rHeader.hasMetaData(aCC, aKey))
{
// Handle the block based on ‘aCC’ and ‘aKey’
DoSomething();
}
6. Contact Details
For further support, visit our forum:
http://forum.imgtec.com
To learn more about our PowerVR Graphics Tools and SDK and Insider programme, please visit:
http://www.powervrinsider.com
Imagination Technologies, the Imagination Technologies logo, AMA, Codescape, Ensigma, IMGworks, I2P,
PowerVR, PURE, PURE Digital, MeOS, Meta, MBX, MTX, PDP, SGX, UCC, USSE, VXD and VXE are
trademarks or registered trademarks of Imagination Technologies Limited. All other logos, products,
trademarks and registered trademarks are the property of their respective owners.