Реализация OpenGL обычно состоит из двух частей:
1. Платформенная часть. Эта функция обычно связана с созданием и отображением поверхностей.
2. API OpenGL. Эта часть одинакова на всех платформах для конкретной реализации OpenGL, в случае Android, OpenGLES 1.0.
Это означает, что большую часть вашего кода OpenGL легко переносить.
В C у вас может быть glLoadIdentity ();
В Java на Android что-то вроде gl.glLoadIdentity ();
Таким образом, для большей части вашего кода вы можете вырезать и вставлять, а затем искать и заменять префиксы, такие как 'gl.'
Теперь самое интересное: вам действительно нужно быть осторожным, какую версию вы кодируете. OpenGL для рабочего стола имеет API, которых нет в OpenGLES. Есть также некоторые типы данных OpenGL, специфичные для каждой платформы. Кроме того, вы имеете дело с 1.0 (например, Android) 1.1 (например, iPhone) 2.0 (например, iPhone GS). Различия в API часто связаны с дополнительными аппаратными возможностями, поэтому вы не можете написать какой-нибудь простой код-обертку для эмуляции функций 2.0 в 1.0 / 1.1.