Giao diện GLSurfaceView.Renderer của SDK Android cung cấp cho tôi giao diện GL làm thông số có loại GL10. Giao diện này được thực hiện bởi một số lớp trình bao bọc jni nội bộ riêng. Nhưng cũng có GLES10 lớp, nơi tất cả các phương pháp GL có sẵn như là phương pháp tĩnh. Có sự khác biệt quan trọng nào giữa chúng không? Vì vậy, nếu tôi bỏ qua tham số gl của onDrawFrame và thay vào đó sử dụng các phương pháp tĩnh của GLES10 ở khắp mọi nơi?Sự khác biệt giữa GL10 và GLES10 trên Android
Đây là một ví dụ. Thay vì làm điều này:
void onDrawFrame(GL10 gl)
{
drawSomething(gl);
}
void drawSomething(GL10 gl)
{
gl.glLoadIdentity();
...
}
tôi có thể làm điều này:
void onDrawFrame(GL10 gl)
{
drawSomething();
}
void drawSomething()
{
GLES10.glLoadIdentity();
...
}
Ưu điểm là tôi không cần phải vượt qua bối cảnh GL cho tất cả các phương pháp gọi. Nhưng ngay cả khi nó hoạt động (Và nó hoạt động, tôi đã thử nó) Tôi tự hỏi nếu có bất kỳ bất lợi và lý do để không làm điều đó như thế.