Imagination PowerVR SDK Blog

Black .PVR Textures & Attaching Meshes



Just wanted to thank you guys for a wonderful SDK, its helping us power through with some game development we’re doing at the moment.

I was hoping to get the answers to two questions.

Firstly, we are using the .pvr texture format but only textures that are exported with PVRTC are displaying on the device (iPad). If we choose any other format, for example, RGB565, ARGB8888, RGBA8888 or RGBA4444 the texture just appears black when rendering. We are using OpenGL ES 2.0.

Secondly, we are looking to attach custom weapons to the hand of our characters in game on the fly. I was wondering if there was any way to export custom data, for example a node or a tag point of some sort attached to the hand that provides a position and orientation we can query and apply to another mesh. I was thinking it might be a good idea to use the inbuilt light or camera capabilities of the .pod format for this. If we animated one of those we could use that as the tag point.


PVRTC is loaded using glCompressedTexImage2d() whereas other formats are loaded using glTexImage2d(). This means that a slightly different code path is followed for non-PVRTC formats. In the past, Apple’s version of .pvr only consisted of raw data where it should have had a header on it so check that these files are valid pvr files by opening them in a hex editor or in PVRTexTool.

That said, it is very difficult to say what is wrong with your textures without being able to see the loading code or examples of the textures that are failing and passing. Can you post your loading code?

A dummy mesh might serve the purpose you need - you can retrieve the world matrix from this mesh and then render a different mesh at the position specified by it.