מייקל ליהי משחרר את OpenGL ES 3.0/3.1 Frameworks

אתה אולי מכיר חבר פורום XDA MichaelEGR, א.ק.a. מייקל ליהי. מייקל ידוע בעבודתו עם OpenGL באנדרואיד. למעשה, ב-Big Android BBQ 2014, הוא נשא נאום שכותרתו "OpenGL ES 3.1 / חבילת הרחבות לאנדרואיד". היום הוא נתן מידע נוסף למפתחים לשימוש בצורה של הדגמת מסגרת ברישיון אפאצ'י.

אחד הדברים שאתה מגלה מהר כמפתח הוא שעבודה עם גרפיקה יכולה להיות, נגיד, מתסכלת. זה נכון במיוחד כאשר הגרפיקה שלך היא משהו כמו סרטון. אמנם יש לא מעט אפליקציות שמשתמשות ב-OpenGL, אבל לא יותר מדי מהן פתוחות, וגם המפתחים לא חולקים מסגרות האצה משלהם. במקרה זה, מייקל נתן לך את כל מה שאתה צריך כדי לבנות אפליקציה תוך שימוש בכוח של OpenGL. הוא גם סיפק מדריכים וערכי ויקי שיתאימו לזה.

אולי אתם שואלים את עצמכם, "מה זה מספק שאנדרואיד, בפני עצמו, לא מספק?" ובכן, אתה יכול להיכנס ישירות לקוד ולגלות, או שאתה יכול לשמוע אותו ישירות מהאיש עצמו:

היכולת לטעון בקלות קוד הצללה מנכסים היא די נחמדה. כל דבר באמת ב-AndroidGLESXXUtil באמת מוריד את המשימות הכבדות. הדרך שבה פועל API של OpenGL היא שעליך להעביר מערך או IntBuffer לקריאות השיטה כדי לבצע שאילתות ולקבל ערכי החזרה. כל זה מנוהל באופן פנימי עם יצירת ThreadLocal, כך שגם זה בטוח.

כתבתי מחדש את GLSurfaceView -> GLSurfaceView2 באמצעות EGL 1.4 והסרתי את כל החלקים הישנים ממה שהיה ב-Android SDK מגרסה 1.0

AndroidGLES20Util הוא דוגמה טובה. כמו כן, יש ביטולים ב-AndroidGLES30Util כדי לטעון טקסטורות בצורה יעילה יותר ולגרום להם לעבוד כראוי עם הצללות מחשוב. ה-Adreno 420 היה מאוד קפדני, אבל מצאתי דרך טובה לטעון טקסטורות שעבדו על ה-K1 עבור הצללה מחשוב, אבל לא שברה אותו, אבל לא שברה את תמיכת הטקסטורה הרגילה ב-Adreno GPU.

בעוד מייקל מנהל כרגע קיקסטרטר שנסגר הערב, וכנראה לא ימומן, המטרה העיקרית שלו בשיתוף זה היא למצוא אנשים עם עניין דומה בעבודה על הפרויקט הזה ולספק סטנדרטים בעלי רישיון Apache בקוד פתוח למפתחים לעבודה עם. אז אם אתה מפתח ואתה מעוניין ב-OpenGL באנדרואיד כשהוא מיושם על סרטי קולנוע, אל תהסס לפנות אליו. אחרת, בדוק את זה הדגמה של OpenGL פרויקט כמו גם המסגרת. כמו כן, אל תשכח הוויקי!

אם תרצה לראות מה המסגרת הזו יכולה לעשות, מבלי להרטיב את הרגליים, קדימה בדוק את הַדגָמָה. יש עוד דוגמאות על קיקסטרטר, המסתמך על מסגרת זו. כמו כן, אל תשכח לבדוק MichaelEGRשל פוסט בפורום XDA.