Resources for learning how to use the PVR Native SDK beyond the examples?

I have some pod files I would like to use but it seems that they are split in only the model and only the animations. I can open them with PVRShaman and it seems to work but there are no materials or anything else defined in them. One just shows the model and the others can be played but dont seem to do anything. (Which is why I think they are split in model and animation but the file names support that too and there are some animations that are shared between some models)
There are also files declaring cameras, lights, materials and some things I assume are points where the animations (and sometimes other models) would be attached to the model but all those are in XML format.

Are there any resources on how I could stitch all these together using the PVR SDK? I would guess I’d have to build a new model out of the info scattered through the files but I only really seen them created from a single pod file in the examples and it also looks like the textures are loaded by magically finding the .pvr files declared through the material in the pod file but the XML file says the textures are PNGs and the pod file says absolutely nothing about materials or textures. There are also .apvr files named similarly but their binary contents look quite different from the .pvr files in the examples (the example files look ordered and “PVR” appears twice, the .apvr only have one “PVR” and are way more chaotic) and they arent mentioned in the XML files and the pod files dont ask for anything (at least PVRShaman doesnt show anything in the two boxes on the left like it does for the GnomeToy.pod from the examples)

TL;DR Im new and cant figure out how to do much of anything. Are there any tutorials or similar on how to use the SDK? The examples on github didnt help me much

Hi StellaNera!

Thanks for your message and welcome to the PowerVR Developer Forum!

Unfortunately the .pod format is an export-only format. You should have access to the original files used to export to the .pod files you are working with (.gltf, .obj, .fbx or any other model / scene description format). Ideally, you could work with those files to create a single scene file where you have all the characters, animations, models, materials and any other scene elements you might need, and then export to .pod or .gltf (the SDK also supports .gltf so maybe it is easier for you to work with this format).

The SDK does not have any scene editing tools. I advise to run in Debug mode some of the SDK examples that introduce how to use specific features of the PowerVR SDK framework, setting breakpoints to understand how the scene loading process works and related details like where the material information comes from. In my opinion, the IntroducingPVRUtils examples are a good start (there is a OpenGL ES version and a Vulkan version). For instance, in VulkanIntroducingPVRUtils::createDescriptorSets you can see how the material and texture information is retrieved from the .pod file.

Each SDK example can locate specific files requested by a .pod being loaded by specifying the path and name of those files in its corresponding CMakeLists.txt file. For Vulkan IntroducingPVRUtils you can see the function add_assets_to_target which specifies the path to where the files needed by the example can be located (BASE_PATH), together with the names of those files (FILE_LIST).

Please let me know if you have any other questions.

Best regards,
Alejandro