Beste antwoord
Ik gebruik OpenGL nu al bijna 10 jaar in Computer Graphics-applicaties.
OpenGL wordt meestal gebruikt voor computergraphics, het is een grafische API. OpenCL wordt meestal gebruikt voor parallel computing, het is een berekenings-API.
U kunt OpenGL gebruiken om enkele problemen op te lossen die u gewoonlijk met OpenCL oplost, maar u zult uw probleem moeten afstemmen op de grafische context om uw berekening op gang te krijgen.
Ik denk dat de De belangrijkste reden voor u om OpenGL te kiezen voor niet-renderingtaken is om oudere hardware te ondersteunen die “OpenCL niet kan draaien.
Open grafische bibliotheek ( OpenGL ) is een cross-taal , platformonafhankelijk applicatie-programmeerinterface (API) voor weergave van 2D en 3D vectorafbeeldingen . De API wordt doorgaans gebruikt voor interactie met een grafische verwerkingseenheid (GPU), om hardwareversneld rendering .
Silicon Graphics Inc., (SGI) begon met het ontwikkelen van OpenGL in 1991 en bracht het uit in januari 1992; applicaties gebruiken het op grote schaal in de velden van computer-aided design (CAD), virtual reality , wetenschappelijke visualisatie , informatievisualisatie, vluchtsimulatie , en videogames . OpenGL wordt beheerd door het non-profit technologie consortium Khronos Group . (van Wikipedia OpenGL )
Open computertaal ( OpenCL ) is een framework voor het schrijven van programmas die worden uitgevoerd in heterogene platforms bestaande uit centrale verwerkingseenheden (CPUs), grafische verwerkingseenheden (GPUs), digitale signaalprocessors ( DSPs ), veld-programmeerbare gate-arrays (FPGAs) en andere processors of hardwareversnellers. OpenCL specificeert een taal (gebaseerd op C99 ) voor het programmeren van deze apparaten en applicatie-programmeerinterfaces ( APIs) om het platform te besturen en programmas op de computerapparatuur uit te voeren. OpenCL biedt een standaardinterface voor parallel computergebruik met behulp van taakgebaseerd en gegevensgebaseerd parallellisme. OpenCL is een open standaard die wordt onderhouden door het non-profit technologieconsortium Khronos Group . (van Wikipedia OpenCL )
Antwoord
Behalve de gelijkenis van namen zijn het heel verschillende beesten. OpenCL staat voor Open Computing Language. Het is een taal waarmee u programmakernels kunt maken die parallel op de GPU of CPU kunnen werken. OpenCL wordt doorgaans gebruikt voor beeldverwerkingsalgoritmen, fysieke simulaties en retourneert numerieke resultaten. Met andere woorden, de output van een OpenCL-programma is niet grafisch van aard.
Daarentegen is OpenGL een grafische API waarmee u renderingopdrachten naar de GPU kunt sturen. Meestal is het doel om de weergave op het scherm weer te geven.