GLSurfaceView.IRenderer 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個通用的渲染器介面。
[Android.Runtime.Register("android/opengl/GLSurfaceView$Renderer", "", "Android.Opengl.GLSurfaceView/IRendererInvoker")]
public interface GLSurfaceView.IRenderer : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/opengl/GLSurfaceView$Renderer", "", "Android.Opengl.GLSurfaceView/IRendererInvoker")>]
type GLSurfaceView.IRenderer = interface
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 屬性
- 實作
備註
一個通用的渲染器介面。
渲染器負責用 OpenGL 來渲染畫面。
GLSurfaceView 用戶端通常會自行建立實作此介面的類別,然後呼叫 GLSurfaceView#setRenderer GLSurfaceView 來註冊渲染器。
<div class=“特殊參考”><h3>開發者指南</h3>
想了解更多如何使用 OpenGL,請閱讀 OpenGL 開發者指南。
</div>
<h3>執行緒</h3> 渲染器會在獨立執行緒中呼叫,讓渲染效能與 UI 執行緒分離。 客戶端通常需要透過 UI 執行緒與渲染器溝通,因為輸入事件就是在那裡接收的。 用戶端可以使用任何標準的 Java 跨線程通訊技術進行通訊,或使用GLSurfaceView#queueEvent(Runnable)便利性方法。
<h3>EGL 上下文遺失</h3> 有些情況下 EGL 渲染上下文會遺失。 這通常是在裝置從睡眠中喚醒時發生的。 當 EGL 上下文遺失時,所有與該上下文相關的 OpenGL 資源(如材質)都會自動刪除。 為了保持渲染正確,渲染器必須重建仍需失去的資源。 這個 #onSurfaceCreated(GL10, EGLConfig) 方法是一個方便的地方。
Java 文件 android.opengl.GLSurfaceView.Renderer。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| Handle |
取得底層 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
| JniIdentityHashCode |
回傳包裹實例的 |
| JniManagedPeerState |
管理貴族的狀況。 (繼承來源 IJavaPeerable) |
| JniObjectReferenceControlBlock |
一個通用的渲染器介面。 (繼承來源 IJavaPeerable) |
| JniPeerMembers |
成員存取與召喚支援。 (繼承來源 IJavaPeerable) |
| PeerReference |
回傳JniObjectReference包裹後的 Java 物件實例。 (繼承來源 IJavaPeerable) |
方法
| 名稱 | Description |
|---|---|
| Disposed() |
當實例被處理後才被召喚。 (繼承來源 IJavaPeerable) |
| DisposeUnlessReferenced() |
如果沒有未解決的參考資料,則 |
| Finalized() |
當實例完成後才會被通知。 (繼承來源 IJavaPeerable) |
| OnDrawFrame(IGL10) |
被召喚繪製當前幀。 |
| OnSurfaceChanged(IGL10, Int32, Int32) |
當表面變大時會打電話。 |
| OnSurfaceCreated(IGL10, EGLConfig) |
當表面被創造或重建時被呼叫。 |
| SetJniIdentityHashCode(Int32) |
將回傳的值設為 |
| SetJniManagedPeerState(JniManagedPeerStates) |
一個通用的渲染器介面。 (繼承來源 IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
將回傳的值設為 |
| UnregisterFromRuntime() |
取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。 (繼承來源 IJavaPeerable) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個通用的渲染器介面。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |