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="special reference"><h3>Developer Guides</h3>
OpenGL을 사용하는 방법에 대한 자세한 내용은 OpenGL 개발자 가이드를 참조하세요.
</Div>
<h3>Threading</h3> 렌더러는 별도의 스레드에서 호출되므로 렌더링 성능이 UI 스레드와 분리됩니다. 클라이언트는 일반적으로 입력 이벤트가 수신되는 위치이므로 UI 스레드에서 렌더러와 통신해야 합니다. 클라이언트는 스레드 간 통신에 표준 Java 기술을 사용하여 통신하거나 편리한 방법을 사용할 GLSurfaceView#queueEvent(Runnable)
수 있습니다.
<h3>EGL 컨텍스트 Lost</h3> EGL 렌더링 컨텍스트가 손실되는 상황이 있습니다. 이 문제는 일반적으로 절전 모드로 연결된 후 디바이스가 절전 모드에서 해제되는 경우에 발생합니다. EGL 컨텍스트가 손실되면 해당 컨텍스트와 연결된 모든 OpenGL 리소스(예: 텍스처)가 자동으로 삭제됩니다. 렌더링을 올바르게 유지하려면 렌더러가 여전히 필요한 손실된 리소스를 다시 만들어야 합니다. 메서드는 #onSurfaceCreated(GL10, EGLConfig)
이 작업을 수행하기에 편리한 위치입니다.
에 대한 Java 설명서입니다 android.opengl.GLSurfaceView.Renderer
.
이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.
속성
Handle |
기본 Android 개체의 JNI 값을 가져옵니다. (다음에서 상속됨 IJavaObject) |
JniIdentityHashCode |
래핑된 instance 값을 반환 |
JniManagedPeerState |
관리되는 피어의 상태입니다. (다음에서 상속됨 IJavaPeerable) |
JniPeerMembers |
멤버 액세스 및 호출 지원. (다음에서 상속됨 IJavaPeerable) |
PeerReference |
JniObjectReference 래핑된 Java 개체 instance 의 를 반환합니다. (다음에서 상속됨 IJavaPeerable) |
메서드
Disposed() |
instance 삭제될 때 호출됩니다. (다음에서 상속됨 IJavaPeerable) |
DisposeUnlessReferenced() |
이 instance 대한 미해결 참조가 없으면 를 호출 |
Finalized() |
instance 완료될 때 호출됩니다. (다음에서 상속됨 IJavaPeerable) |
OnDrawFrame(IGL10) |
현재 프레임을 그리기 위해 호출됩니다. |
OnSurfaceChanged(IGL10, Int32, Int32) |
표면 크기가 변경되면 호출됩니다. |
OnSurfaceCreated(IGL10, EGLConfig) |
표면을 만들거나 다시 만들 때 호출됩니다. |
SetJniIdentityHashCode(Int32) |
에서 반환 |
SetJniManagedPeerState(JniManagedPeerStates) |
제네릭 렌더러 인터페이스입니다. (다음에서 상속됨 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
에서 반환 |
UnregisterFromRuntime() |
런타임이 이후 Java.Interop.JniRuntime+JniValueManager.PeekValue 호출에서 반환되지 않도록 이 instance 등록을 취소합니다. (다음에서 상속됨 IJavaPeerable) |
확장 메서드
JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
JavaCast<TResult>(IJavaObject) |
제네릭 렌더러 인터페이스입니다. |
GetJniTypeName(IJavaPeerable) |
제네릭 렌더러 인터페이스입니다. |