- March 6, 2013 at 5:47 pm #31172
Using the PVRTexTool, how do you make a PVR texture encoded to use ePVRTPF_PVRTCI_4bpp_RGB? I can easily make ePVRTPF_PVRTCI_4bpp_RGBA, but I can’t seem to find the correct options to generate RGB only.March 7, 2013 at 11:28 am #36781
I’ve just came across the same thing trying to automate some conversion tasks with the command line tool.
My theory is that they are the exact same thing, and not having the option exposed in the GUI would support that.
Would love to know what the differences between the two options (if any) are.
WillemMarch 7, 2013 at 11:40 am #36782
There’s actually no difference between the two, the RGB is just a promise that there’s definitely no alpha in the data. If you compress to ePVRTPF_PVRTCI_4bpp_RGBA, but your texture is fully opaque, then the data doesn’t store alpha values and uses all the bit data available to encode RGB colours.
To answer your question more directly – currently there is no way of specifying this, as there are other ways of specifying that there’s no alpha in the data. As long as you don’t enable blending, it shouldn’t make a difference to your render – but I do plan to look into automatically checking this in future by parsing the data for transparency.
TobiasMarch 7, 2013 at 1:44 pm #36783
Thanks for the answer.
However, the use of blending is actually the issue. In our rendering engine, we use the presence of non-binary (not 0 or 1) alpha to determine whether blending should be enabled. For PVR textures, the only way I can know at run time whether or not to enable blending is by checking the pixel format. If the format is always RGBA, then blending will be enabled all the time, thus decreasing performance.March 11, 2013 at 12:03 pm #36784
I just realised – are you using the GUI, Library or Command Line? Only the GUI has this limitation at present. I added “PVRTC1_2_RGB” and “PVRTC1_4_RGB” for the command line to do this. Will this be enough for you for now?
Willem – I think I answered your question? I actually started writing before you posted, so never saw your question, but hopefully I’ve already provided enough information? Let me know if you have further questions.