Ho cercato su Google i formati binari OpenGL e ciò che effettivamente sono/significano. Finora non ho avuto molto successo. So che posso prendere il numero e la serie di formati come segue:I formati di programmi binari OpenGL sono standardizzati?
::glGetIntegerv(GL_PROGRAM_BINARY_FORMATS, &values[0]);
, dove i valori è uno std :: vector di interi di dimensioni:
::glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS, &value);
Per il conducente mia macchina restituisce un singolo formato binario. È solo un numero ed è praticamente privo di significato per me.
Quindi le mie domande sono le seguenti:
(1) Cosa significano i numeri di formato/codici rappresentano? (2) Esistono formati binari ARB standard o dipendono dal fornitore? (3) Esiste un formato comune tra i fornitori? (4) Se ci sono più formati, come si dovrebbe scegliere tra loro?
Ho una vaga sensazione che devo precompilare e mettere in cache gli shader su una data macchina per trarne vantaggio. Voglio dire, non è come se fosse DX, in cui è possibile eseguire il compilatore dello shader come evento post-build e comprimerli insieme e utilizzarli su qualsiasi macchina (Windows) con D3D.
Ok, grazie Nicol. – Robinson