Я только что обнаружил небольшую причуду в интерфейсах GL моего неоперившегося приложения. На настольных GL такие вещи, как glShaderSource (), принимают GLchar *, а на мобильных интерфейсах GLES - простой символ *.
Теперь это действительно очень простая вещь, которую нужно исправить. Так как GLchar в любом случае является typedef для char, можно просто использовать char * на рабочем столе GL и быть в порядке везде.
Однако видение этой проблемы вызывает у меня беспокойство по поводу столкновения с другими проблемами совместимости в области GL vs GLES. Конечно, я знаю, что GLES 2.0 по сути является урезанным OpenGL 2.0, и что мне придется потерять такие вещи, как конвейер с фиксированными функциями. Но будет ли это хуже, чем это? Я надеялся, что интерфейсы, которые GLES 2.0 оставил для меня, будут, по крайней мере, работать так же, как их настольные аналоги GL. Но так ли это на самом деле? Я действительно надеюсь на это.