Bedste svar
Jeg har brugt OpenGL i computergrafikapplikationer i næsten 10 år nu.
OpenGL bruges mest til computergrafik, det er en grafisk API. OpenCL bruges mest til parallel computing, det er en beregnings-API.
Du bruger muligvis OpenGL til at løse nogle problemer, du normalt løser med OpenCL, men du bliver nødt til at kortlægge dit problem i grafisk sammenhæng for at få din beregning i gang.
Jeg tror, at hovedårsagen til, at du vælger OpenGL til ikke-gengivende opgaver, er at understøtte ældre hardware, der ikke kan køre OpenCL.
Åbn grafikbibliotek ( OpenGL ) er et sprog på tværs , cross-platform applikationsprogrammeringsgrænseflade (API) til gengivelse af 2D og 3D vektorgrafik . APIen bruges typisk til at interagere med en grafikbehandlingsenhed (GPU) for at opnå hardware-accelereret gengivelse .
Silicon Graphics Inc., (SGI) begyndte at udvikle OpenGL i 1991 og udgav det i januar 1992; applikationer bruger det i vid udstrækning inden for computerstøttet design (CAD), virtual reality , videnskabelig visualisering , informationsvisualisering, flysimulering og videospil . OpenGL administreres af nonprofit -teknologien konsortium Khronos Group . (fra Wikipedia OpenGL )
Åbent computersprog ( OpenCL ) er en ramme til skrivning af programmer, der udføres på tværs af heterogene platforme bestående af centrale processorenheder (CPUer), grafiske processorenheder (GPUer), digitale signalprocessorer ( DSPer ), feltprogrammerbare gate arrays (FPGAer) og andre processorer eller hardwareacceleratorer. OpenCL angiver et sprog (baseret på C99 ) til programmering af disse enheder og applikationsprogrammeringsgrænseflader ( APIer) til at kontrollere platformen og udføre programmer på computerenhederne. OpenCL giver en standardgrænseflade til parallel computing ved hjælp af opgavebaseret og databaseret parallelisme. OpenCL er en åben standard, der opretholdes af non-profit teknologikonsortiet Khronos Group . (fra Wikipedia OpenCL )
Svar
Udover navneligheden er de meget forskellige dyr. OpenCL står for Open Computing Language. Det er et sprog, der giver dig mulighed for at oprette programkerner, der kan fungere parallelt på GPU eller CPU. OpenCL bruges typisk til billedbehandlingsalgoritmer, fysiske simuleringer og returnerer numeriske resultater. Med andre ord er udgangen af et OpenCL-program ikke grafisk.
I modsætning hertil er OpenGL en grafisk API, der giver dig mulighed for at sende gengivelseskommandoer til GPUen. Målet er typisk at vise gengivelsen på skærmen.