Quelle est la relation entre EGL et OpenGL?
Je suis en train d'écrire une œuvre pour OpenVG et OpenGL|ES dans Aller, qui dépendent de la Khronos EGL API, soi-disant pour la facilité de la portabilité, je suppose.
Je suis en train d'écrire une implémentation de OpenVG sur le dessus de l'OpenGL ES pour le plaisir et pour des raisons pédagogiques - je n'ai pas fait beaucoup de travail de rendu et j'aimerais en savoir plus sur l'Api ouvertes et la pratique de la mise en œuvre de normes bien définies (plus facile à voir si j'ai le droit de résultats).
Comme je le comprends, EGL fournit une API standard pour la récupération d'un contexte de dessin (ou ce que jamais il est appelé à juste titre, au lieu d'utiliser un des multiples système d'exploitation fourni Api (GLX, WGL, etc)
J'ai du mal à croire Khronos serait de passer par un tel effort, et de quitter le standard OpenGL en dehors de la boucle, mais la chose est, je n'ai pas trouvé comment ou si OpenGL (le vrai de vrai) les interfaces avec EGL ou si c'est seulement OpenGL ES. Si OpenGL ES peut utiliser le dessin contexte de l'EGL, serait la norme OpenGL aussi le travail?
Je suis vraiment nouveau à tout ce qui est pourquoi je suis très heureux, mais le vrai projet, je suis en train de faire est un widget toolkit qui utilise OpenVG pour ses opérations de dessin et utilise l'accélération matérielle dans la mesure du possible.
Si OpenVG, OpenGL et OpenGL ES dépendent de l'EGL, je pense que ma question peut être répondu par "oui" ou "non". Il suffit de garder à l'esprit que je me suis plongé dans ce sujet, la tête la première nuit dernière.
Ne OpenGL utiliser ou de dépendre EGL?
Hors sujet, mais il n'y a pas de EGL tag. Devrait-il être?
- est votre Go widget projet abandonné?
- A peu près. Je décrirais le tout la plupart du temps comme une masturbation mentale.
- Je suis en train de faire la même une masturbation mentale LOL, je suis en train d'écrire un 2D accélération graphique lib sur OpenGL, alors ui kit, beaucoup de masturbation à venir. Ce qui fait de vous abandonner?
- Je ne me souviens pas de la raison exacte. J'ai fait prendre un autre regard sur les convertisseurs de noël, mais je doute que je vais produire quoi que ce soit que je suis assez débordé au travail
- connexes: stackoverflow.com/questions/3127360/...
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas de relation entre OpenGL et EGL. EGL généralement ne fonctionne pas sur les ordinateurs de bureau, et il n'y a pas de possibilité de créer un bureau de contexte OpenGL par EGL.
Les contextes sont plutôt créé et géré par la plate-forme Api spécifiques. Sur Windows, la WGL API est utilisée. Sur X11-base de plates-formes, GLX est utilisé. Et ainsi de suite.
Il y avait un peu de bruit l'an dernier de Khronos sur la création d'une version de l'EGL qui pourrait fonctionner sur le bureau et de faire des contextes OpenGL, mais jusqu'à présent, il n'en fut rien.
Vous pouvez lier
EGL_OPENGL_API
que l'API actuelle de votre fil, via leeglBindAPI(EGLenum api)
; une postérieure eglCreateContext permettra de créer un contexte de rendu OpenGL.De la EGL spec, p42:
Le problème, c'est que l'EGL mise en place est bien dans son droit de ne pas soutenir
EGL_OPENGL_API
et au lieu de générer uneEGL_BAD_PARAMETER
d'erreur si vous essayez de les lier.Il est également difficile de lien de libGL sans ramasser l'AGL/WGL/GLX trucs; l'ABI sur ces plates-formes exiger que libGL fournit ces points d'entrée. Selon sur quelle plateforme vous jouez avec ce qui peut ou peut ne pas être un problème.
Pas. Vous pouvez exécuter OpenGL sans EGL.
Mais il est possible d'avoir EGL mise en œuvre capable de créer un bureau de contexte OpenGL. C'est parce que EGL est eglBindAPI(int api) permet EGL_OPENGL_API, EGL_OPENGL_ES_API, ou EGL_OPENVG_API.
Mais si vous demandez:
La réponse est oui, mais il y a exceptions.
Actuellement (2015), vous disposez de plusieurs implémentations d'OpenGL-ES qui s'appuient sur EGL pour créer des graphiques contexte: Google ANGLE, PowerVR, ARM MALI, Adreno, AMD, Mesa, etc.
Mais sur les dernières versions de NVIDIA et pilotes Intel vous pouvez aussi demander de l'OpenGL ES contextes directement, où les extensions WGL_EXT_create_context_es_profile et WGL_EXT_create_context_es2_profile sont disponibles (Windows). Même chose sur les plates-formes Unix où GLX_EXT_create_context_es_profile et GLX_EXT_create_context_es2_profile extensions sont disponibles.
L'intention de l'EGL est de faciliter les développeurs de la vie par la création d'un portable et de manière standard pour initialiser et mettre en contexte des graphiques prises en charge de l'API, sans vous soucier de la plate-forme des questions spécifiques, comme WGL, GLX, etc. C'est un problème de EGL les maîtres d'œuvre, pas de finale programmeur.