2011-06-28 35 views
14

(kinh nghiệm c lập trình viên, trước khi đổ bóng, chức năng cố định mở gl. Lập trình viên Java có thẩm quyền)EGL vs GLES 2.0 trên Android (ví dụ như Java)

Tôi đã làm việc với GLES trên Android và đã nhận được các ví dụ để chạy (cả bản địa và Java). Đặc biệt, ví dụ tam giác kết cấu. Điều gây nhầm lẫn hoàn toàn cho tôi là "mối quan hệ" của Khronos EGL và giao diện GLES của Android.

Các giao diện song song, độc lập (API) này có phải không? EGL có phải là giao diện độc lập (trung lập) không? EGL dường như hỗ trợ đầy đủ GLES 1.0 và 1.1 nhưng không hỗ trợ ES 2.0 (trên Android)?

Vì vậy, dường như với tôi rằng EGL là phải trở thành một nền tảng trung lập, giao diện song song, NHƯNG nó không hoàn toàn ủng hộ GLES 2.0 (trên Android); Vì vậy, nếu bạn đang viết mã GLES 2.0 (trên Android), bạn nên sử dụng API GLxxx thay vì API EGLxxx (và phải sử dụng API GLxxx). Theo như tôi có thể nói, bạn không> < để sử dụng EGL cho bất kỳ thứ gì vì nó chỉ hỗ trợ một tập con của API ES 2.0.

(Mỗi ví dụ/cuốn sách/tài liệu tham khảo hoặc pha trộn hai, sử dụng giao diện bản địa hoặc chỉ sử dụng EGL 1,1 tính năng; Am tôi thiếu một cái gì đó cơ bản ở đây?)

Trả lời

21

EGL là một bổ sung cho OpenGL ES. EGL được sử dụng để lấy các bề mặt để render bằng cách sử dụng các hàm như eglCreateWindowSurface, và sau đó bạn có thể vẽ lên bề mặt đó bằng OpenGL ES. Vai trò của nó tương tự như GLX/WGL/CGL.

Có hay không EGL có thể cung cấp cho bạn ngữ cảnh hỗ trợ OpenGL ES 2.0 có thể thay đổi theo nền tảng, nhưng nếu thiết bị Android hỗ trợ ES 2.0 và EGL, bạn sẽ có thể nhận được ngữ cảnh từ EGL. Hãy xem thuộc tính EGL_RENDERABLE_TYPE và EGL_OPENGL_ES2_BIT khi yêu cầu một EGLConfig.

http://www.khronos.org/files/egl-1-4-quick-reference-card.pdf

+0

Cảm ơn câu trả lời và liên kết, tôi có ES ref. nhưng không phải là EGL. Tôi đã đăng câu hỏi theo dõi cụ thể hơn [tại đây] (http://stackoverflow.com/questions/6510964/how-to-get-an-egl-display-context-to-a-specific-glsurfaceview) – Vanderdeckken

+0

@ Vanderdeckken Và hãy chắc chắn để bỏ phiếu (và thậm chí chấp nhận) câu trả lời này nếu nó trả lời chính xác câu hỏi của bạn. –

14

EGL trên Android dường như không được đúng cách giải thích bất cứ nơi nào, nhưng tôi đặt cùng một số ghi chú here mà hy vọng sẽ làm sáng tỏ điều này.