語言

GLSurfaceView.IRenderer 介面

定義

一個通用的渲染器介面。

[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

回傳包裹實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

管理貴族的狀況。

(繼承來源 IJavaPeerable)
JniObjectReferenceControlBlock

一個通用的渲染器介面。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取與召喚支援。

(繼承來源 IJavaPeerable)
PeerReference

回傳JniObjectReference包裹後的 Java 物件實例。

(繼承來源 IJavaPeerable)

方法

名稱 Description
Disposed()

當實例被處理後才被召喚。

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

如果沒有未解決的參考資料,則 Dispose()呼叫;否則,則不做任何事。

(繼承來源 IJavaPeerable)
Finalized()

當實例完成後才會被通知。

(繼承來源 IJavaPeerable)
OnDrawFrame(IGL10)

被召喚繪製當前幀。

OnSurfaceChanged(IGL10, Int32, Int32)

當表面變大時會打電話。

OnSurfaceCreated(IGL10, EGLConfig)

當表面被創造或重建時被呼叫。

SetJniIdentityHashCode(Int32)

將回傳的值設為 JniIdentityHashCode。

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

一個通用的渲染器介面。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

將回傳的值設為 PeerReference。

(繼承來源 IJavaPeerable)
UnregisterFromRuntime()

取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。

(繼承來源 IJavaPeerable)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

一個通用的渲染器介面。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於