Преобразуйте [C/C OpenGL3.0 GLuint] в Java/Koltin для использования в Android

#java #android #c

Вопрос:

Я хочу преобразовать код C/C OpenGL3.0 в ту же реализацию, но для Java/Kotlin, чтобы использовать его изначально с помощью Android (SDK (Java)) в Android Studio. Я знаю, что могу использовать код NDK (C/C ) в своем проекте для Android, но существует множество зависимостей и сторонних библиотек, и все это будет очень сложно реализовать.

На данный момент большая часть интерфейса OpenGL3.0 со всеми его методами согласуется с теми, которые использовались изначально, но есть некоторые различия. В C существуют объекты GLuint, GLsizei,.., которые действуют как целое число без знака и ссылаются одновременно???

 // Vertex buffer object
GLuint _vbo;

// Index Buffer Object
GLuint _ibo;

// vertex array object
GLuint _vao;

void Release()
{ 
    if (_vbo != 0)
        glDeleteBuffers(1, amp;_vbo);

    if (_ibo != 0)
        glDeleteBuffers(1, amp;_ibo);

    if (_vao != 0)
        glDeleteVertexArrays(1, amp;_vao);
}
 

Но методы, используемые в реализации Java Android, следующие

 // C function void glDeleteBuffers ( GLsizei n, const GLuint *buffers )
public static native void glDeleteBuffers(
    int n,
    int[] buffers,
    int offset
);

// C function void glDeleteBuffers ( GLsizei n, const GLuint *buffers )
public static native void glDeleteBuffers(
    int n,
    java.nio.IntBuffer buffers
);
 

Итак, как я могу преобразовать метод C void Release () в Java/Kotlin ??