2011-06-28 9 views
14

(doświadczony programista C, pre-shader, funkcja stała open gl. Właściwy programista Java)EGL vs GLES 2.0 na Androida (np Java)

pracuję z GLES na Androida i zdobyć przykłady, aby uruchomić (zarówno natywna, jak i Java). W szczególności przykład trójkąta strukturalnego. To, co mnie kompletnie dezorientuje, to "związek" Khronos EGL i interfejsów Android GLES.

Czy są to równoległe, niezależne interfejsy (API)? Czy EGL ma być interfejsem niezależnym od platformy (neutralnym)? EGL wydaje się w pełni wspierać GLES 1.0 i 1.1, ale nie obsługuje ES 2.0 (na Androida)?

Tak, wydaje mi się, że EGL jest powinien być platforma neutralne, interfejs równoległy, ALE to nie obsługuje w pełni GLES 2,0 (na Androida); Więc jeśli piszesz kod GLES 2.0 (na Androidzie), lepiej używać tylko API GLxxx, a nie API EGLxxx (i tak czy inaczej uciekać się do API GLxxx). O ile mogę powiedzieć, nie musisz>HAVE < używać EGL do niczego, ponieważ obsługuje tylko podzbiór interfejsu API ES 2.0.

(Każdy przykład/książka/odniesienie albo mieszanki dwóch, korzysta z natywnego interfejsu lub używa tylko EGL 1.1 funkcje; Am I brakuje czegoś tutaj fundamentalną?)

Odpowiedz

21

EGL jest uzupełnieniem do OpenGL ES. EGL służy do uzyskania powierzchni do renderowania za pomocą funkcji takich jak eglCreateWindowSurface, a następnie można narysować na tej powierzchni za pomocą OpenGL ES. Jego rola jest podobna do GLX/WGL/CGL.

To, czy EGL może zapewnić kontekst, który obsługuje OpenGL ES 2.0, może się różnić w zależności od platformy, ale jeśli urządzenie z Androidem obsługuje ES 2.0 i EGL, powinieneś być w stanie uzyskać taki kontekst z EGL. Przyjrzyj się atrybutowi EGL_RENDERABLE_TYPE i EGL_OPENGL_ES2_BIT podczas żądania pliku EGLConfig.

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

+0

Dzięki za odpowiedź i link, mam referencje ES. karta, ale nie EGL. Wysłałem bardziej szczegółowe pytanie uzupełniające [tutaj] (http://stackoverflow.com/questions/6510964/how-to-get-an-egl-display-context-to-a-specific-glsurfaceview) – Vanderdeckken

+0

@ Vanderdeckken Upewnij się, że głosujesz (a nawet akceptujesz) na tę odpowiedź, jeśli poprawnie odpowiedziała na twoje pytanie. –

14

EGL na Androida nie wydaje się być prawidłowo wyjaśnione wszędzie, ale zebrała jakieś notatki here który miejmy nadzieję powinny wyjaśnić rzeczy.