Maikls Līhijs izlaiž OpenGL ES 3.0/3.1 ietvarus

Jūs, iespējams, pazīstat XDA foruma dalībnieku MichaelEGR, pazīstams arī kā Maikls Līhijs. Maikls ir pazīstams ar savu darbu ar OpenGL operētājsistēmā Android. Faktiski Big Android BBQ 2014 viņš teica runu ar nosaukumu "OpenGL ES 3.1 / Android paplašinājumu pakotne". Šodien viņš ir sniedzis vairāk informācijas izstrādātājiem, ko izmantot formātā apache licencētā ietvara demonstrācija.

Viena no lietām, ko jūs kā izstrādātājs ātri uzzināt, ir tas, ka darbs ar grafiku, teiksim, var būt nomākts. Tas jo īpaši attiecas uz gadījumiem, kad jūsu grafika ir kaut kas līdzīgs videoklipam. Lai gan ir diezgan daudz lietotņu, kas izmanto OpenGL, ne pārāk daudzas no tām ir atvērtas, un izstrādātāji nedala savus paātrinājuma ietvarus. Šajā gadījumā Maikls ir devis jums visu nepieciešamo, lai izveidotu lietotni, izmantojot OpenGL iespējas. Viņš ir arī nodrošinājis ceļvežus un wiki ierakstus, lai to papildinātu.

Jūs, iespējams, uzdodat sev jautājumu: "Ko tas nodrošina, ko Android pati par sevi nesniedz?" Nu, jūs varat tieši ieiet kodā un uzzināt, vai arī varat to dzirdēt tieši no paša vīrieša:

Iespēja viegli ielādēt ēnotāja kodu no līdzekļiem ir diezgan patīkama. Jebkas, kas patiešām ir AndroidGLESXXUtil, patiešām noņem smagumu. OpenGL API darbības veids ir tāds, ka jums ir jānodod masīvs vai IntBuffer metodes izsaukumos, lai veiktu vaicājumu un iegūtu atgriešanas vērtības. Tas viss tiek pārvaldīts iekšēji, izmantojot ThreadLocal izveidi, tāpēc tas ir arī drošs pavedieniem.

Es pārrakstīju GLSurfaceView -> GLSurfaceView2, izmantojot EGL 1.4, noņemot visu mantoto daļu no Android SDK versijas 1.0.

AndroidGLES20Util ir labs piemērs. Programmā AndroidGLES30Util ir arī ignorēšana, lai efektīvāk ielādētu tekstūras un pareizi liktu tām darboties ar skaitļošanas ēnotājiem. Adreno 420 bija ļoti smalks, taču es atradu labu veidu, kā ielādēt faktūras, kas darbojās uz K1 for compute shader, bet nesalauza to, bet nepārkāpa parasto Adreno GPU tekstūras atbalstu.

Lai gan Maikls pašlaik vada kickstarter, kas šovakar tiek slēgts un, visticamāk, netiks finansēts, viņa galvenais mērķis, daloties ar to, ir lai atrastu cilvēkus, kuriem ir līdzīga interese strādāt pie šī projekta, un izstrādātāju darbam nodrošināt atvērtā koda Apache licencētus standartus ar. Tāpēc, ja esat izstrādātājs un jūs interesē OpenGL operētājsistēmā Android, kad tas tiek lietots kinofilmās, sazinieties ar viņu. Pretējā gadījumā pārbaudiet šo OpenGL demonstrācija projekts, kā arī ietvaru. Tāpat neaizmirstiet wiki!

Ja vēlaties redzēt, ko šis ietvars var darīt, nesaslapinot kājas, dodieties uz priekšu un pārbaudiet demo. Vietnē ir vairāk piemēru kickstarter, kas balstās uz šo sistēmu. Tāpat neaizmirstiet pārbaudīt MichaelEGRs XDA-Foruma ziņa.